Deshabilite la activación de la barra de menú cuando se presiona Alt en Windows 7

17

En Windows 7, ¿cómo puedo desactivar la función que activa la barra de menú cuando Altse presiona?

¿Hay algunos valores de registro para modificar este comportamiento?

mjsr
fuente

Respuestas:

2

La respuesta es no. ¿Cómo pudieron hacer eso? Si lo hicieran, y alguien lo desactivara, cortarían a las personas de los elementos de menú muy necesarios. Sería una pesadilla.

Lo único que puede hacer es vivir con eso o activar el menú permanentemente haciendo clic en Organizar> Diseño> Barra de menú.

KCotreau
fuente
99
Debería ser un comentario.
Moab
@Moab Pensé que era una respuesta, pero seré más claro.
KCotreau
@KCotreau: Como usted dice, hay una manera de obtener la barra de menú, por lo que para mí es innecesario que la tecla ALT produzca eso.
mjsr
@voodoomsr Pero si no tiene ALT, y anteriormente no lo había expuesto permanentemente, quedaría bloqueado, ¿no?
KCotreau
Es fácil para un programa deshabilitar el Alt globalmente, pero probarlo es complicado. No hay garantía de que otro programa no intercepte la llamada antes que usted. . .
surfasb
12

Ya he estado usando AutoHotkey , así que agregué esta línea a mi script y solucionó este comportamiento molesto en casi todas las aplicaciones:

~LAlt Up:: return

No funciona en IE pero no uso IE de todos modos. :)

Por cierto, también eliminé la molesta ventana emergente del menú de inicio a través de:

~LWin Up:: return
~RWin Up:: return
zengabor
fuente
66
Esta debería ser la respuesta aceptada.
espina
Vea mi respuesta a continuación para obtener una solución que también funciona con la combinación de teclas Alt + Mayús.
anrieff
3

Encontré esta pregunta porque tengo un nuevo teclado y, a veces, accidentalmente presiono la ALTtecla al escribir correos electrónicos en Gmail. El foco se pierde y las siguientes pulsaciones de teclas se pasan a mi navegador (que a veces puede tener resultados muy molestos).

La mejor solución que encontré, que es una mejora pero no perfecta, es con un programa de mapeo de teclas llamado KeyTweak , que hasta donde yo entiendo, cambia el registro .

En el programa, se asigna Left Alta Right Alty Right Alta Left Alt. Esto permite que las Altfunciones sigan funcionando de alguna manera ( Ctrl- Alt- Delete). Sin embargo, Alt- Tabse rompe parcialmente (al menos en mi Windows-7). Le permite pasar parcialmente a las otras aplicaciones, pero cuando suelta la Alttecla, no se realiza la "selección" de la siguiente aplicación (sin embargo, puede hacerlo con un clic del mouse).

Es una lástima que Windows no tenga algo para evitar la pérdida de enfoque de las pulsaciones Alt errantes. Las teclas Shifty Ctrlno tienen ese efecto, por ejemplo.

Fuhrmanator
fuente
¡Utilizo un enfoque similar con SharpKeys, rocas de reasignación de registro! : D
mjsr
Reasignado a través de SharpKeys (KeyTweak no se pudo instalar, solo sale silenciosamente. ¿Quizás no funciona con XP?) , Reiniciado, pero el truco no funcionó.
Hi-Angel el
2

Este es interesante. No conozco ningún programa además de Autokey. O simplemente terminar escribiendo un programa. Pero no hay configuración de registro. Eso rompería TONELADAS de programas.

surfasb
fuente
Intento con autohotkey pero tengo problemas que explico en dos preguntas que publico en el foro de AutoHotkey, aquí está la más relacionada: autohotkey.com/forum/viewtopic.php?t=74033
mjsr
2

Esta tecla automática funciona para mí en Windows 10:

Alt::Return ;Disables the key alt when it's pressed alone

(La respuesta de Zengabor no funcionó para mí).

Toda la gloria a Rohwedder

JinSnow
fuente
Esto parece funcionar al principio, pero luego hacer Ctrl-Z, por ejemplo, después de presionar y soltar Alt no funciona la primera vez.
Alexandre G
1

como se encuentra en algún lugar @MS

  1. Presiona la tecla Windows + R, escribe Regedit y presiona Enter.
  2. Navegar a HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. Ahora cree o modifique un valor de cadena (REG_SZ) llamado Ony establezca su valor en 1
  4. Cierre la sesión de su computadora para que surta efecto.
Jens Marchewka
fuente
2
En lugar de publicar exactamente la misma respuesta a varias preguntas, debe adaptar específicamente su respuesta para que se ajuste a OP. Si una pregunta es exactamente idéntica y puede responderse exactamente con la misma respuesta, entonces debe marcar para cerrar una de las preguntas como un duplicado en lugar de publicar respuestas duplicadas.
Mokubai
1
No tengo tiempo para buscar cómo los moderadores deben marcar duplicados, lo siento, ¿tal vez podrías hacer eso? en lugar de molestar a las personas que apoyan con soluciones.
Jens Marchewka
1

Estaba buscando una solución al mismo problema: arreglar cómo Windows reacciona a "Alt + Shift" (cambiar el idioma de entrada), pero escribes mal y presionas Alt, seguido de Shift, sin superposición. En ese caso, Windows interpretaría la Alt solitaria como "menú de selección", el Shift solitario no hace nada, y cualquier carácter que presione luego seleccionará e ingresará a menús aleatorios que no tenía intención de abrir.

Cuando se utiliza una aplicación de chat como Skype y usted es un hablante de idiomas extranjeros, cambiar con Alt + Shift es bastante frecuente, y puede hacer muchas cosas estúpidas a toda prisa.

@ user3419297 me señaló su solución aquí, que modifiqué para permitir que Alt + Shift suceda en todos los casos. Es solo un #Si más, ¡pero uno muy importante! El extracto relevante:

; Disable stand-alone Alt key press: make Alt purely a modifier key.
; The If statement is required to get Alt+Shift work as expected. If it's not
; there, only [Press Alt], [Press Shift], [Release Shift], [Release Alt] would
; trigger the input language change. The other, more common sequence would be
; [Press Alt], [Press Shift], [Release  Alt], [Release Shift], but AutoHotKey
; would block it before it reaches Windows if the "#If" isn't there.
#If not GetKeyState("LShift", "P")
~LAlt::
    KeyWait, LAlt
return

; Make Alt+Something still work:
~LAlt Up::
    Send, {LAlt Up}
return

Mi script completo también habilita dos características Linuxish: Alt + F2 abre un "comando de inicio rápido", y presionar la tecla Alt derecha minimiza la ventana activa actualmente:

;==============================================================================
; AutoHotKey script for "Linuxifying" Windows 8.
; Based on suggestions on SuperUser (http://superuser.com/questions/1147370)
; 
; Written by: Veselin Georgiev
; Date      : 2016-11-18
;==============================================================================

; Optional: Make Alt+F2 bring up the "quick launch command" Window.
; In this case, it simulates the Windows logo key press. On Windows 8, the
; cursor would be in the search bar, which nicely emulates launching a
; command.
!F2::
    Sleep 200
    Send {LWin}
return

; Disable stand-alone Alt key press: make Alt purely a modifier key.
; The If statement is required to get Alt+Shift work as expected. If it's not
; there, only [Press Alt], [Press Shift], [Release Shift], [Release Alt] would
; trigger the input language change. The other, more common sequence would be
; [Press Alt], [Press Shift], [Release  Alt], [Release Shift], but AutoHotKey
; would block it before it reaches Windows if the "#If" isn't there.
#If not GetKeyState("LShift", "P")
~LAlt::
    KeyWait, LAlt
return

; Make Alt+Something still work:
~LAlt Up::
    Send, {LAlt Up}
return

; Optional: Make the right alt key minimize the currently visible window.
~RAlt Up::WinMinimize A
anrieff
fuente
1

Esto funciona en mi sistema con Autohotkey:

~LAlt::
KeyWait, LAlt
return

~LAlt Up::
Send, {LAlt Up}
return

Hace que LAlt se comporte puramente como una tecla modificadora, sin activar ninguna acción si se presiona por sí solo (como activar la barra de menú de la ventana actualmente activa).

EDITAR:

Prueba también esto .

usuario3419297
fuente
Vea mi respuesta a continuación para obtener una solución que también funciona con la combinación de teclas Alt + Mayús.
anrieff
1

Ninguna de las soluciones basadas en AHK publicadas aquí me ha funcionado. Sin embargo, con algunos cambios, descubrí que si emparejas ALT con cualquier otra tecla antes de que se lance, no actuará para resaltar los menús. En lugar de desperdiciar una tecla de función, utilicé un código de escaneo no asignado que nunca se usa para ningún otro propósito.

LAlt::
sendinput, {LAlt down}
sendinput, {SC0E8 down} ;this is the scan code of an unassigned key. As long as you nor the system never use it for anything else, it can be used in THIS way to cancel the menu acceleration.
;tooltip, Lalt is pressed
KeyWait, LAlt
; That line is important, so that ALT does not continuously fire as you are holding it down.
;tooltip, Lalt was released
return

LAlt up::
sendinput, {LAlt up}
sendinput, {SC0E8 up}
;;;Unlike my 2nd keyboard, this method does not use the scan code as a strict "wrapper."
;;tooltip, 
return


RAlt::
sendinput, {RAlt down}
sendinput, {SC0E8 down}
;;tooltip, Ralt is pressed
KeyWait, RAlt
;;tooltip, Ralt was released
return

RAlt up::
sendinput, {RAlt up}
sendinput, {SC0E8 up}
;;tooltip, 
return

Explicación del video:
https://www.youtube.com/watch?v=vRld4bVFrpU&lc=UgzMjkQd4rbmvRDqU9h4AaABAg

Enlace al script completo:
https://github.com/TaranVH/2nd-keyboard/blob/master/Taran's%20Windows%20Mods/Alt_menu_acceleration_DISABLER.ahk

Terran VanHemert
fuente
0

Solo publico una solución que encontré. Mata cualquier Altmenú al 100%

Alt::
KeyWait, Alt
return

LAlt Up::
if (A_PriorKey = "Alt")
    return
return

Si también lo prefiere, también puede restringir esta solución a un solo programa:

#IfWinActive ahk_exe sublime_text.exe
    Alt::
    KeyWait, Alt
    return

    LAlt Up::
    if (A_PriorKey = "Alt")
        return
    return
#IfWinActive
  1. https://www.autohotkey.com/boards/viewtopic.php?p=248473#p248473
usuario
fuente