
Tenho teclado e mouse sem fio Logitech MK710. No Fedora eu poderia mapear todas as chaves, incluindo uma chave personalizada que abre uma bandeja de CD; na verdade, acho que todas as chaves foram mapeadas corretamente por padrão. No Windows 10, esse não é o caso. Baixei todos os programas/drivers do Windows relacionados ao meu teclado, disponíveis no site da Logitech.
Já vi alguns programas de mapeamento de teclado para Windows, eles dizem que não mapeiam teclas personalizadas da Logitech e tal, apenas mapeiam teclas que são suportadas por padrão no Windows.
Entrei em contato com a Logitech, eles me disseram para usar o software deles chamado Setpoint, tentei mas ele só detecta otecla da calculadora. Eu respondi dizendo que o software deles não funcionava, eles ignoraram meu segundo e-mail.
É possível mapear essas chaves personalizadas? Atualmente, as chaves que desejo mapear não fazem nada.
Responder1
O setpoint é muito ruim em teclas customizadas, e além disso tem o péssimo hábito de engolir algumas dessas teclas, como as teclas multimídia, ficando indisponíveis para outros programas.
Sugiro evitar o Setpoint e usar AutoHotkey.
Seu primeiro passo é descobrir os códigos de digitalização das chaves especiais. Como estamos usando o AutoHotkey, crie um .ahk
arquivo e insira e execute o seguinte scriptlet (fonte):
SetFormat, Integer, Hex
Gui +ToolWindow -SysMenu +AlwaysOnTop
Gui, Font, s14 Bold, Arial
Gui, Add, Text, w100 h33 vSC 0x201 +Border, {SC000}
Gui, Show,, % "// ScanCode //////////"
Loop 9
OnMessage( 255+A_Index, "ScanCode" ) ; 0x100 to 0x108
Return
ScanCode( wParam, lParam ) {
Clipboard := "SC" SubStr((((lParam>>16) & 0xFF)+0xF000),-2)
GuiControl,, SC, %Clipboard%
}
Execute-o e quando a GUI estiver em foco pressione uma tecla e o scancode será exibido e copiado para a área de transferência no formato para uso como tecla de atalho ou com comandos Enviar.
Os scancodes podem ser usados em um scriptlet. Por exemplo, use a chave multimídia do navegador para executar o Firefox:
SC032::Run "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
Assim que o scriptlet estiver concluído, você poderá armazená-lo na pasta Inicialização para que seja executado automaticamente com o Windows.
Talvez seja necessário procurar programas de linha de comando que possam realizar as operações necessárias. Por exemplo, o som pode ser controlado pelo NirCmd.
Responder2
De acordo com outros, alterar o arquivo user.xml gravado em
%USERPROFILE%\AppData\Roaming\Logitech\SetPoint
é a única maneira de fazê-lo funcionar corretamente.
Por exemplo, para um teclado Logitech K530, eu queria mapear oGadgetstecla (canto superior esquerdo) e oCentro de mídia(canto superior direito) para mover aplicativos para o monitor à esquerda/direita.
Eu usei oSwitchMonitorEsquerdaeSwitchMonitorRightHandlerSets - outros exemplos podem ser encontrados no arquivo C:\Program Files\Logitech\SetPointP\default.xml.
Isto é o que funcionou para oGadgetschave:
<Button Number="589885" Name="Gadgets">
<Param IconLoc="Devices\Keyboard\CommonIcons\Gadgets" Type="HOTKEY"/>
<Trigger Class="ButtonPress">
<Param Button="589885" EventType="100663297" FirstRepeatDelay="0" RepeatDelay="0" Silent="0" Type="0"/>
<TriggerState Name="ButtonDownUp" HandlerSet="SwitchMonitorLeft">
</TriggerState>
</Trigger>
</Button>
e isso para oCentro de mídiachave:
<Button Number="12320781" Name="Media Player">
<Param IconLoc="Devices\Keyboard\CommonIcons\mediacenternew" Type="HOTKEY"/>
<Trigger Class="ButtonPress">
<Param Button="12320781" EventType="100663297" FirstRepeatDelay="0" RepeatDelay="0" Silent="0" Type="0"/>
<TriggerState Name="ButtonDownUp" HandlerSet="SwitchMonitorRight">
</TriggerState>
</Trigger>
</Button>