Remapear o botão de toque lateral no Microsoft Sculpt Comfort Mouse

7

Comprei recentemente um Microsoft Sculpt Comfort Mouse. Ele usa Bluetooth para conectar ao meu laptop e todos os botões normais do mouse funcionam perfeitamente no Linux e no Windows 7. O que é diferente neste mouse, porém, é que ele tem um Windows especial / Super tecla no lado que inicia o menu start / quando pressionado. Ele também possui um sensor de toque que detecta quando o botão lateral é acionado para cima ou para baixo e vibra o mouse para reconhecer que ele foi ativado.

Claro que no Windows existe um programa que me permite alterar o que os traços fazem e desligar a vibração.

No Linux, o xev detecta apenas um pressionamento de tecla normal quando o botão lateral é pressionado ou pressionado. Xev não reporta nenhum pressionamento de botão do mouse.

Então, minha pergunta é: posso alterar quais teclas são enviadas quando estou sob o Linux?

Eu adoraria mudar a ligação de teclas da aba para para baixo , para retroceder para para cima , (o que xev reporta) para ctrl + alt + à esquerda / à direita para alternar entre os espaços de trabalho.

Obrigado por qualquer ajuda!

    
por user223544 27.03.2014 / 22:12

3 respostas

4

Acabei de comprar um e descobri que os seguintes itens funcionam perfeitamente para mim.

  1. Abra o editor do dconf ( sudo apt-get install dconf-editor , se ainda não estiver instalado).
  2. Navegue até org - > gnome - > área de trabalho - > wm - > atalhos de teclado.
  3. Altere o valor de mudar para o espaço de trabalho para

    ['<Control><Alt>Down', '<Primary><Super>Tab', '<Control><Super>Tab']

    e o valor de mudar para o espaço de trabalho para

    ['<Control><Alt>Up', '<Primary><Super>BackSpace', '<Control><Super>Backspace']

por Axel David Ingolfsson 06.12.2014 / 18:32
2

Então, como o Microsoft Sculpt Comfort Mouse não está registrando os pressionamentos de botão do mouse para os gestos super e swipe, mas sim registrando as teclas pressionadas, usei os pacotes 'xautomation' e 'xbindkeys' para ouvir essas teclas pressionadas e send Ctrl + Alt + Direito / Esquerda para alternar entre os espaços de trabalho. Não é uma solução ideal, mas funciona como 8 de 10 vezes.

#Move to left workspace
"xte 'keydown Control_L' 'keydown Alt_L' 'usleep 100' 'key Left' 'keyup Control_L' 'keyup Alt_L' 'keyup Left'"
   m:0x4+mod4+m:0x0+c:23
   #Control_L+Super_L+Tab

#Move to right workspace
"xte 'keydown Control_L' 'keydown Alt_L' 'usleep 100' 'key Right' 'keyup Control_L' 'keyup Alt_L' 'keyup Right'"
   m:0x4+mod4+m:0x0+c:22
   #Control_L+Super_L+Backspace

O que esse script xbindkeys faz é que ele ouve os pressionamentos de tecla que os mouses passam e desliza para baixo os gestos enviados para o computador. Se detectado, o xautomation envia o pressionamento de tecla da área de trabalho do movimento padrão, controle + alt + esquerdo / direito . >

O gesto de deslizar para cima no mouse envia o pressionamento de tecla do controle esquerdo para + esquerdo super + . O gesto de deslizar para baixo do mouse envia o controle de teclas à esquerda + à esquerda super + guia . m: 0x4 + mod4 + m: 0x0 + c22 é a combinação real de código que é detectada por xbindkeys.

Eu vou mexer com isso um pouco mais para ver se consigo melhorar a eficiência, mas por enquanto isso faz o trabalho. Eu só espero que a aba e a backspace que as saídas do mouse não estraguem com qualquer trabalho que eu esteja fazendo.

    
por user223544 29.03.2014 / 05:51
0

Eu queria mapear os mesmos botões para navegar pelas guias do Firefox nas duas direções. Eu estou usando xbindkeys e xmacro. Está funcionando muito bem!

.xbindkeysrc

#Thumb down
"echo 'KeyStrPress Control_L KeyStrPress Tab KeyStrRelease Control_L KeyStrRelease Tab'|xmacroplay :0"
   Control+Mod4+Tab

#Thumb up
"echo 'KeyStrPress Control_L KeyStrPress Shift_L KeyStrPress ISO_Left_Tab KeyStrRelease Control_L KeyStrRelease Shift_L KeyStrRelease ISO_Left_Tab' |xmacroplay :0"
   Control+Mod4+BackSpace
    
por user3229974 15.03.2015 / 08:22