Maneira genérica de remapear todos os botões de mídia

6

Hoje eu tentei remapear algumas teclas de mídia do teclado para funções mais úteis e não consegui fazer isso.

Oproblema

  • Ofabricantenãoforneceumutilitárioparaligareexecutarcomandospersonalizados.
    MeutecladoanteriordaLogitechtinhaessasopçõesemseusoftware SetPoint
  • Os códigos-chave (ou scancode) não foram reconhecidos pela maioria dos programas que eu usei para capturar os códigos-chave subjacentes.

    Por exemplo, a excelente ferramenta SharpKeys tem um modo catch onde informa qual tecla você acabou de pressionar. Demorei algum tempo para perceber que me dizia um código de chave errado Durante os testes, pressionei o "botão de estrela" no canto superior direito e a SharpKeys me disse que essa é a chave "D" com o código de chave 00_20 . Mas o código de chave correto seria 00_181

    Outra tentativa foi o script AutoHotKey que também não conseguiu reconhecer minhas chaves de mídia incomuns

A tarefa

  • Encontre os códigos de chave corretos mesmo para os botões de mídia incomum
  • Remapear todas as chaves de mídia sem qualquer instalação de uma ferramenta ou programa adicional. Um ajuste de registro, o uso de um driver já instalado ou de um pequeno aplicativo portátil é aceitável
por nixda 20.03.2016 / 16:38

2 respostas

6

Esta é uma maneira genérica de remapear qualquer botão do teclado. Mesmo estranhas

  1. Use KeyCodes (portátil, 415 KB) para capturar o código da chave. Baixe, extraia e inicie o KeyCodes3.exe. Pressione o botão misterioso e você verá o código da chave como número decimal

    UmamaneiraalternativafoiestescriptAHKqueusaumganchodetecladoe"KeyHistory"

    #Persistent
    #InstallMouseHook
    #InstallKeybdHook
    while !(getKeyState("F1", "T"))
          KeyHistory
    return
    esc::exitapp
    

  2. Convertaonúmerodedecimalemhexadecimal:171»AB

  3. Usea versão portátil do AutoHotKey para remapear o botão.
    Baixe e extraia a versão .zip de sua escolha em algum lugar. Nenhuma instalação necessária.
    Crie um novo arquivo de texto e cole

    #NoEnv, #Persistent, #SingleInstance
    vkB5::return                ;music node button  181 » B5   do nothing
    vkAC::return                ;home button        172 » AC   do nothing
    vkAA::return                ;search button      170 » AA   do nothing
    vkAB::Run, c:\myapp.exe     ;star button        171 » AB   execute tool
    vkB4::Send {Volume_Mute}    ;mail button        180 » B4   mute/unmute
    
    • vk significa código de tecla virtual seguido pelo seu código de chave hexadecimal que você deseja remapear
    • :: é o operador de remapeamento. Esquerda é o gatilho, à direita dele é o seu novo botão ou ação
    • Send {<my_new_key>} poderia ser qualquer tecla da lista .
      Como alternativa, você pode executar um caminho personalizado com o comando Executar .
      Ou, se você quiser executar um botão de mídia novamente, use {vkAB} como ação
  4. Crie um novo atalho na sua pasta de início automático para iniciar seu script AHK em cada inicialização. Por exemplo

    "D:\Tools\AutoHotKey\AutoHotkey.exe" "D:\Tools\AutoHotKey\RemapKeys.ahk"
    

Após a reinicialização ou início manual do script AHK, todos os botões são remapeados

    
por 20.03.2016 / 16:38
2

Em suma: você pode encontrar o mapeamento de chaves multimídia na seguinte chave de registro: "HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey"

Por exemplo Geralmente, a chave de e-mail inicia o aplicativo de e-mail padrão.

HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ RegisteredApp="Correio"

Se você deseja substituir isso para abrir o Bloco de notas,

HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ AppKey \ 15 \ ShellExecute="notepad.exe"

(Ou altere o HKLM se você quiser modificar para todos os usuários, etc.)

RegisteredApp significa que o aplicativo registrado para essa função será chamado. (Como o Mail acima)

Associação Significa que o aplicativo associado a um determinado tipo de arquivo será aberto. Por exemplo, a tecla Media é registrada por padrão como .cda, o que significa que o aplicativo padrão usado para reproduzir CDs de música será aberto ao pressionar essa tecla.

O ShellExecute abre um programa específico para ser executado.

Para mais detalhes, leia este artigo

    
por 02.06.2016 / 00:01