Como desabilitar apenas algumas atenções globais do Windows 10 para usá-las em aplicativos de terceiros?

10

1. Resumidamente

Desejo desativar apenas algumas teclas de atalho globais padrão do Windows 10, para usar essas teclas de atalho para executar comandos de Texto Sublime.



2. Detalhe

Eu tenho o Windows 10.0.14393 de 32 bits. No Windows 10, temos muitas teclas de atalho nativas .

1. quero desabilitar

Por exemplo, eu quero hotkeys personalizadas desativar, Win+K, Win+He Ctrl+Win+P.

2. Eu não quero desativar

Mas, por exemplo, não quero desativar Win+De Win+Rteclas de atalho. Costumo usar essas teclas de atalho.

3. Parte do mapa de teclas de texto sublime

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


3. Não ajudou

1. Substituição de AutoHotkey

Meu código:

#k::return

Win+Ka tecla de atalho global está desativada para mim, mas meu comando Sublime Text pastetambém não é executado.

2. O AutoHotkey substitui as teclas de atalho globais do Windows pelas teclas de atalho do aplicativo

Meu código:

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

Isso funcionou para mim, mas tenho bugs, por exemplo:

Bug do AutoHotkey

Para outras teclas de atalho, também tenho bugs. Seria bom se alguém melhorasse esse código.

3. Teclas Sharp

O programa SharpKeys pode desativar ou reatribuir a Winchave, mas eu não quero isso.

4. gpedit.msc

Posso desativar algumas teclas de atalho padrão , mas:

  • Eu não posso desativar (utilizando gpedit.msc), por exemplo, Win+K, Win+He Ctrl+Win+P.
  • Posso desativar Win+De Win+R, mas quero usar essas teclas de atalho.

5. Tecla de desabilitação simples

Faço o download da tecla de desabilitação simples → desabilito Win+Kno programa → reinicio o Windows → Win+Knão está desabilitado para mim.

6. Parâmetro DisabledHotkeys no Registro do Windows

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

Eu crio parâmetro de string DisableHotkeyscom valor KHPE.

DisabledHotkeys

Win+E, por exemplo, está desativado para mim, mas

  • Win+P, Win+KE Win+Hnão são deficientes.
  • Este método não é para desativar, por exemplo, Ctrl+Win+Pe Ctrl+Win+F4.


4. Não ofereça

Саша Черных
fonte

Respostas:

1

Você pode usar a tecla de atalho automático para remapear qualquer tecla de atalho para enviar outra tecla de atalho usando o comando Enviar :

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

Depois de pressionar este botão, as teclas Win + K enviarão Ctrl + Shift + P, que mostrará a Paleta de comandos em texto sublime, você poderá substituir esta tecla de atalho para enviar outra tecla de atalho, configurá-la como Ctrl + Shift + F3 e atribuir isso tecla de atalho para colar o texto sublime (em combinações de teclas) e use Win + K para enviar esse Ctrl + Shift + F3 ao texto sublime que chamará colar.

Script AutoHotkey:

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

Vinculações de teclas de texto sublime:

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

Editar :

Visto o seu Please, don't offer AutoHotkey shortcuts redirect to other shortcuts.porque não? O exemplo acima funciona mesmo para Win + R:

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

Texto colado com sucesso através do Win + R em Sublime Text.

Edição 2 :

Se você realmente deseja atribuir teclas de atalho reais, pode desativar todas as Win+{KEY}teclas de atalho e criar suas teclas de atalho, que farão o mesmo que as Win+{Key}teclas de atalho padrão e, para outras teclas de atalho, atribua suas próprias ações.

Por exemplo, para Win + R:

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

Funciona, mas para algumas teclas de atalho é difícil encontrar como chamar suas ações.

BladeMight
fonte
BladeMight, // 1) > Seen your Please, don't offer AutoHotkey shortcuts redirect to other shortcuts. why not? - Crie outro atalho se eu também tiver um atalho sem sentido. Por que precisamos de atalho adicional Win+K, se tivermos Ctrl+V? Mas não pensei, esqueci que podemos mudar teclas de atalho longas e desconfortáveis, que não usamos. Win+Ké mais confortável então Ctrl+Win+Alt+Shift+F3. Obrigado pela solução!
precisa saber é o seguinte
// 2) you could disable all Win+{KEY} hotkeys, - é semelhante à solução VoidVolker ? E como posso encontrar dígitos como {2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}para teclas de atalho? Obrigado.
Саша Черных
BladeMight, por favor, adicione returnapós cada seu script. Caso contrário, se eu usar muitos scripts em um .ahkarquivo, todos os scripts serão executados para mim. Obrigado.
Саша Черных
11
@ Sobre o Shell ::: aqui está uma lista de g-ek.com/clsid-guid-spisok-shell-v-windows-10, mas principalmente para pastas.
BladeMight
11
@ СашаЧерных também aqui ipmnet.ru/~sadilina/Windows/227.html pode ser útil.
BladeMight 29/01
0

Dê uma olhada no DisabledHotkeysvalor do registro, aplicado neste ramo:

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

Definir seus dados de valor KHPbloqueará as combinações WinKey+ K, WinKey+ He WinKey+ P.

Valor do Registro Src: DisabledHotkeys

w32sh
fonte
w32sh, eu definir DisableHotkeys parâmetro → eu reiniciar o Windows → Win+P, Win+Ke Win+Hatalhos globais correr para mim como antes (Graças..
Саша Черных
Apenas testei aqui. Parece não funcionar para PH e K. É capaz de bloquear o WinKey + E. Eu gostaria de excluir minha resposta.
W32sh #
11
w32sh, eu testei em outras teclas de atalho agora. É capaz de bloquear apenas teclas de atalho como no gpedit.msc . Obrigado.
Саша Черных