Désactivez l'activation de la barre de menus lorsque vous appuyez sur Alt dans Windows 7

17

Sous Windows 7, comment puis-je désactiver la fonction qui active la barre de menus lorsque vous Altappuyez sur?

Existe-t-il des valeurs de registre pour modifier ce comportement?

mjsr
la source

Réponses:

2

La réponse est non. Comment pourraient-ils faire ça? S'ils le faisaient et que quelqu'un le désactivait, ils couperaient les gens des éléments de menu très nécessaires. Ce serait un cauchemar.

La seule chose que vous pouvez faire est de vivre avec cela, ou d'activer le menu en permanence en cliquant sur Organiser> Disposition> Barre de menus.

KCotreau
la source
9
Devrait être un commentaire.
Moab
@Moab Je pensais que c'était une réponse, mais je serai plus clair.
KCotreau
@KCotreau: Comme vous le dites, il existe un moyen d'obtenir la barre de menus, donc pour moi il n'est pas nécessaire que la touche ALT produise cela.
mjsr
@voodoomsr Mais si vous n'avez pas d'ALT et que vous ne l'aviez pas exposé en permanence, vous seriez exclu, non?
KCotreau
Il est facile pour un programme de désactiver l'Alt globalement, mais le tester est délicat. Il n'y a aucune garantie qu'un autre programme n'interceptera pas l'appel avant vous. . .
surfasb
12

J'ai déjà utilisé AutoHotkey , j'ai donc ajouté cette ligne à mon script et cela a corrigé ce comportement ennuyeux dans presque toutes les applications:

~LAlt Up:: return

Cela ne fonctionne pas dans IE mais je n'utilise de toute façon pas IE. :)

BTW, j'ai également tué le popup ennuyeux du menu de démarrage via:

~LWin Up:: return
~RWin Up:: return
zengabor
la source
6
Celui-ci devrait être la réponse acceptée.
épine du
Voir ma réponse ci-dessous pour une solution qui fonctionne également avec la combinaison de touches Alt + Maj.
anrieff
3

J'ai trouvé cette question car j'ai un nouveau clavier et j'ai parfois accidentellement appuyé sur la ALTtouche lors de la saisie des e-mails dans Gmail. Le focus est perdu et toutes les frappes suivantes sont passées à mon navigateur (ce qui peut parfois avoir des résultats très ennuyeux).

La meilleure solution que j'ai trouvée, qui est une amélioration mais pas parfaite, est avec un programme keymapper appelé KeyTweak , qui, si je comprends bien, change le registre .

Dans le programme, vous mappez Left Altvers Right Altet Right Altvers Left Alt. Cela permet aux Altfonctions de fonctionner quelque peu ( Ctrl- Alt- Delete). Cependant, Alt- Tabest partiellement cassé (au moins sur mon Windows-7). Il vous permet de vous déplacer partiellement vers les autres applications, mais lorsque vous relâchez la Alttouche, la "sélection" de la prochaine application n'est pas effectuée (vous pouvez cependant la faire avec un clic de souris).

C'est dommage que Windows n'ait pas quelque chose pour empêcher la perte de focus des presses Alt errantes. Les touches Shiftet Ctrln'ont pas cet effet, par exemple.

Fuhrmanator
la source
J'utilise une approche similaire en utilisant SharpKeys, des roches de remappage de registre! : D
mjsr
Remappé via SharpKeys (KeyTweak n'a pas pu être installé, quitte simplement silencieusement. Peut-être que cela ne fonctionne pas avec XP?) , Redémarré, mais l'astuce n'a pas fonctionné.
Hi-Angel,
2

Celui-ci est intéressant. Je ne connais aucun programme en dehors d'Autokey. Ou tout simplement finir par écrire un programme. Mais aucun paramètre de registre. Cela briserait des TONNES de programmes.

surfasb
la source
J'essaie avec autohotkey mais j'ai des problèmes que j'explique dans deux questions que je poste sur le forum AutoHotkey, voici les plus liées: autohotkey.com/forum/viewtopic.php?t=74033
mjsr
2

Cette clé automatique fonctionne pour moi sur Windows 10:

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

(La réponse de Zengabor n'a pas fonctionné pour moi).

Toute la gloire de Rohwedder

JinSnow
la source
Cela semble fonctionner au début, mais ensuite faire un Ctrl-Z par exemple après avoir appuyé et relâché Alt ne fonctionne pas la première fois.
Alexandre G
1

comme trouvé quelque part @MS

  1. Appuyez sur la touche Windows + R, tapez Regedit et appuyez sur Entrée.
  2. Aller vers HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference
  3. Créez ou modifiez maintenant une valeur de chaîne (REG_SZ) appelée Onet définissez sa valeur sur 1
  4. Déconnectez votre ordinateur pour prendre effet.
Jens Marchewka
la source
2
Plutôt que de publier la même réponse exacte à plusieurs questions, vous devriez spécifiquement adapter votre réponse à OP. Si une question est exactement identique et peut être répondue par exactement la même réponse, vous devez signaler pour fermer l'une des questions en double plutôt que de publier des réponses en double.
Mokubai
1
je n'ai pas eu le temps de chercher comment les modérateurs devraient marquer les doublons, désolé, peut-être pourriez-vous faire cela? au lieu de bumming ppl qui soutient avec des solutions.
Jens Marchewka
1

Je cherchais une solution au même problème: corriger la façon dont Windows réagit à "Alt + Shift" (changer la langue d'entrée), mais vous tapez et appuyez sur Alt, puis sur Shift, sans chevauchement. Dans ce cas, Windows interpréterait le seul Alt comme un "menu de sélection", le seul décalage ne ferait rien et les caractères sur lesquels vous appuyez ensuite sélectionneraient et entreraient des menus aléatoires que vous n'aviez pas l'intention d'ouvrir.

Lorsque vous utilisez une application de chat comme Skype et que vous êtes un locuteur en langue étrangère, passer avec Alt + Shift est assez souvent, et vous pouvez faire beaucoup de choses stupides à la hâte.

@ user3419297 m'a indiqué sa solution ici, que j'ai modifiée pour permettre à Alt + Shift de se produire dans tous les cas. Ce n'est qu'un #If de plus, mais très important! L'extrait pertinent:

; 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

Mon script complet permet également deux fonctionnalités Linuxish: Alt + F2 ouvre une "commande de lancement rapide", et appuyer sur la touche Alt droite minimise la fenêtre actuellement active:

;==============================================================================
; 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
la source
1

Cela fonctionne dans mon système avec Autohotkey:

~LAlt::
KeyWait, LAlt
return

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

Il fait en sorte que LAlt se comporte uniquement comme une touche de modification, sans déclencher d'action si elle est appuyée toute seule (comme l'activation de la barre de menu de la fenêtre actuellement active).

ÉDITER:

Essayez aussi ceci .

user3419297
la source
Voir ma réponse ci-dessous pour une solution qui fonctionne également avec la combinaison de touches Alt + Maj.
anrieff
1

Aucune des solutions basées sur AHK publiées ici n'a fonctionné pour moi. Cependant, avec quelques bidouilles, j'ai compris que si vous associez ALT à une autre clé avant sa sortie, cela n'agirait pas pour mettre en évidence les menus. Plutôt que de gaspiller une touche de fonction, j'ai utilisé un code de numérisation non attribué qui n'est jamais utilisé à d'autres fins.

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

Explication vidéo:
https://www.youtube.com/watch?v=vRld4bVFrpU&lc=UgzMjkQd4rbmvRDqU9h4AaABAg

Lien vers le script complet:
https://github.com/TaranVH/2nd-keyboard/blob/master/Taran's%20Windows%20Mods/Alt_menu_acceleration_DISABLER.ahk

Terran VanHemert
la source
0

Je viens de publier une solution que j'ai trouvée. Il tue n'importe quel Altmenu à 100%

Alt::
KeyWait, Alt
return

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

Si vous préférez également, vous pouvez également limiter cette solution à un seul programme:

#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
utilisateur
la source