Comment désactiver uniquement certains raccourcis globaux Windows 10 pour les utiliser dans des applications tierces?


10

1. En bref

Je souhaite désactiver uniquement certaines touches de raccourci globales par défaut de Windows 10, pour utiliser ces touches de raccourci pour exécuter les commandes Sublime Text.



2. Détail

J'ai Windows 32 bits 10.0.14393. Dans Windows 10, nous avons de nombreux raccourcis clavier natifs .

1. Je souhaite désactiver

Par exemple, je veux désactiver les raccourcis clavier personnalisés, Win+K, Win+Het Ctrl+Win+P.

2. Je ne veux pas désactiver

Mais, par exemple, je ne veux pas désactiver Win+Det Win+Rraccourcis clavier. J'utilise souvent ces raccourcis clavier.

3. Sublime Text keymap part

{
    "keys": ["super+k"],
    "command": "paste"
},


3. N'a pas aidé

1. Remplacement de la clé automatique

Mon code:

#k::return

Win+Kle raccourci clavier global est désactivé pour moi, mais ma commande Sublime Text pastene s'exécute pas aussi.

2. AutoHotkey écrase les touches de raccourci Windows globales sur la touche de raccourci de l'application

Mon code:

#IfWinActive ahk_class PX_WINDOW_CLASS
$#2::ControlSend, ahk_parent, % SubStr(A_ThisHotkey, 2)
#IfWinActive

Cela fonctionne pour moi, mais j'ai des bugs, par exemple:

Bogue AutoHotkey

Pour d'autres raccourcis clavier, j'ai aussi des bugs. Ce serait bien si quelqu'un améliorait ce code.

3. SharpKeys

Le programme SharpKeys peut désactiver ou réaffecter la Winclé, mais je ne veux pas cela.

4. gpedit.msc

Je peux désactiver certains raccourcis clavier par défaut , mais:

  • Je ne peux pas désactiver (à l'aide de gpedit.msc), par exemple Win+K, Win+Het Ctrl+Win+P.
  • Je peux désactiver Win+Det Win+R, mais je veux utiliser ce raccourci clavier.

5. Touche de désactivation simple

Je télécharge la clé de désactivation simple → Je désactive Win+Kdans le programme → Je redémarre Windows → Win+Kn'est pas désactivé pour moi.

6. Paramètre DisabledHotkeys dans le registre Windows

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

Je crée un paramètre de chaîne DisableHotkeysavec une valeur KHPE.

DisabledHotkeys

Win+E, par exemple, est désactivé pour moi, mais

  • Win+P, Win+KEt Win+Hne sont pas désactivés.
  • Cette méthode n'est pas destinée à désactiver, par exemple, Ctrl+Win+Pet Ctrl+Win+F4.


4. Ne proposez pas

Réponses:


1

Vous pouvez utiliser Autohotkey pour remapper n'importe quel raccourci clavier pour envoyer un autre raccourci clavier à l'aide de la commande Envoyer :

#k::
Send {WIN up}
Send {k up}
Send ^+p
return

Après avoir appuyé sur Win + K enverra un Ctrl + Shift + P qui affichera la palette de commandes en texte sublime, vous pouvez utiliser cette façon pour remplacer n'importe quel raccourci clavier pour envoyer un autre raccourci clavier, définissez-le sur quelque chose comme Ctrl + Shift + F3 et attribuez-le raccourci clavier vers la pâte de Sublime Text (dans les raccourcis clavier), puis utilisez Win + K pour envoyer ce Ctrl + Shift + F3 à Sublime Text qui appellera coller.

Script AutoHotkey:

#k::
Send {WIN up}
Send {K up}
Send !^+{F3}
return

Raccourcis clavier de texte sublime:

{ "keys": ["ctrl+alt+shift+f3"], "command": "paste" }

Modifier :

Vu votre Please, don't offer AutoHotkey shortcuts redirect to other shortcuts.pourquoi pas? L'exemple ci-dessus fonctionne même pour Win + R:

#r::
Send {WIN up}
Send {r up}
Send !^+{F3}
return

Texte collé avec succès via Win + R dans Sublime Text.

Modifier 2 :

Si vous aimez vraiment attribuer de vrais raccourcis clavier, vous pouvez désactiver tous les Win+{KEY}raccourcis clavier, puis créer vos raccourcis clavier qui feront la même chose que les Win+{Key}raccourcis clavier par défaut , et pour un autre raccourci clavier affecter vos propres actions.

Par exemple pour Win + R:

explorer.exe Shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}

Fonctionne, mais pour certains raccourcis clavier, il est difficile de trouver comment appeler leurs actions.


BladeMight, // 1) > Seen your Please, don't offer AutoHotkey shortcuts redirect to other shortcuts. why not? - Créez un autre raccourci si j'ai également un raccourci vide de sens. Pourquoi avons-nous besoin de raccourcis supplémentaires Win+K, si nous en avons Ctrl+V? Mais je n'ai pas pensé, j'ai oublié que nous pouvons changer de longues touches de raccourci inconfortables, que nous n'utilisons pas. Win+Kest plus confortable alors Ctrl+Win+Alt+Shift+F3. Merci pour la solution!
Саша Черных

// 2) you could disable all Win+{KEY} hotkeys, - est-il similaire à la solution VoidVolker ? Et comment puis-je trouver des chiffres comme {2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}pour les raccourcis clavier? Merci.
Саша Черных

BladeMight, s'il vous plaît, ajoutez returnaprès chacun votre script. Sinon, si j'utilise plusieurs scripts dans un seul .ahkfichier, tous les scripts s'exécutent pour moi. Merci.
Саша Черных

1
@ СашаЧерных À propos de Shell ::: voici une liste de g-ek.com/clsid-guid-spisok-shell-v-windows-10 mais cela principalement pour les dossiers.
BladeMight

1
@ СашаЧерных également ici ipmnet.ru/~sadilina/Windows/227.html peut être utile.
BladeMight

0

Jetez un œil à la DisabledHotkeysvaleur de registre, appliquée dans cette branche:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced

La définition de ses données de valeur KHPbloquerait les combinaisons WinKey+ K, WinKey+ Het WinKey+ P.

Src: valeur de Registre DisabledHotkeys


w32sh, j'ai défini le paramètre DisableHotkeys → Je redémarre Windows → Win+P, Win+Ket Win+Hles raccourcis globaux fonctionnent pour moi comme avant (. Merci.
Саша Черных

Je viens de le tester ici. Cela ne semble pas fonctionner pour PH et K. Il est cependant capable de bloquer WinKey + E. Je voudrais supprimer ma réponse.
w32sh

1
w32sh, j'ai testé sur d'autres raccourcis clavier maintenant. Il est capable de bloquer uniquement les raccourcis clavier comme dans gpedit.msc . Merci.
Саша Черных
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.