Como mapear Ctrl / Shift para os botões do mouse?

6

Eu tenho um mouse Microsoft Sidewinder X8 e desejo usar 8 para Shift e o 9 para Controle . Alguém pode me dizer como?

    
por Kris Harper 11.10.2010 / 22:59

5 respostas

4

Instale xdotool e xbindkeys

sudo apt-get install xdotools xbindkeys

Copie o seguinte código em ~ / .xbindkeysrc

"xdotool keydown shift"
        b:9
"xdotool keyup shift"
        release + shift + b:9
"xdotool keydown ctrl"
        b:8
"xdotool keyup ctrl"
        release + control + b:8

onde b: x é o número do seu botão que você pode descobrir usando o xev. Como eu não quero esse bindig permanente toda vez que eu precisar dele eu inicio um terminal e digito xbindkeys -n . Quando não preciso mais, simplesmente fecho o terminal.

    
por Eff 08.01.2011 / 05:48
2

Primeiro instale o xdotool

sudo aptitude install xdotool

Em seguida, você pode criar um script para simular uma tecla pressionando a tecla Ctrl . Abra o gedit e copie o seguinte:

#! /bin/bash

xdotool keydown ctrl

while [MOUSEKEYDOWN == 1]; do  #TODO change the while test.
sleep 30 
   #decrease sleep if script doesn't react fast enough on releasing the key, 
   #increase sleep if the computer uses to many CPU when pressing the button.
done

xdotool keyup ctrl # Lift the key back up after no button is pressed.

Eu não sou um ótimo programador. Eu preciso procurar uma maneira de identificar se o seu botão está inativo e eu posso ter (mais de um) erros de sintaxe, mas eu acho que um programador bash tem a idéia.

Se alguém consertou o script, salve-o sob ctrl.sh e torne-o executável

chmod +x ctrl.sh

Então, como nath disse, vá para o sistema - > preferências - > teclado. Adicione um comando personalizado, escolha adicionar o comando ~ / ctrl.sh e pressione o botão do mouse como atalho.

Isso deve ser feito.

    
por sanderd17 12.10.2010 / 23:03
1

link explica como fazer isso usando xbindkeys e xmacroplay (do pacote xmacro). Ambas as aplicações estão disponíveis nos repositórios do Ubuntu.

Aqui está um exemplo do site que explica como mapear o botão do mouse 6 para a combinação Alt + Tecla esquerda .

% bl0ck_qu0te%

Há Shift_L e Control_L (assim como Shift_R e Control_R se você preferir as versões corretas das teclas em vez das versões à esquerda). Simplesmente substitua essas chaves pelo comando acima, altere b: 6 para ser o botão real do mouse que você deseja mapear para a chave, e coloque o comando em ~/.xbindkeysrc , e você deve estar tudo pronto.

    
por nhandler 13.10.2010 / 04:02
0

Sistema Preferências → Os atalhos Teclado permitem mapear teclas / botões para comandos; se isso não funcionar, xbindkeys é outra ótima aplicação para mapeamento de chaves.

    
por nathwill 11.10.2010 / 23:20
0

há uma pergunta duplicada: Mapear Ctrl e Alt para o polegar do mouse botões

então aqui está uma cópia da resposta desta pergunta, usando Easystroke :

Eu encontrei uma solução de trabalho aqui . usa o Easystroke ( sudo apt install easystroke ). kudos a @stuartr de ubuntuforums!

embora houvesse um problema - o re-mapeado clique do mouse acionou esporadicamente um evento original ('voltar' no meu caso). para evitar isso, o botão do mouse pode ser remapeado para algum número não usado com xinput set-button-map ( sudo apt install xinput ). Eu coloquei isso em minha .xsessionrc (tirada de esta resposta por @Maxim):

mi_mouse_id=$(xinput | grep 'GTech MI wireless mouse.*pointer' | sed 's/.*\tid=\([0-9]*\)\t.*//')
xinput set-button-map $mi_mouse_id 1 2 3 4 5 6 7 20 9 10 11 12 13 14 15 16 17 18 19 20

isto mapeia o botão do mouse 8 para o botão 20. esperamos que o botão 20 não tenha significado. pelo menos não tem absolutamente nenhum efeito para mim. agora é hora de mapear novamente o botão 20 para Ctrl:

  1. guia Preferências: botões adicionais - > add - > botão de opção 'Instant Gestures' - > clique no botão de escolha do mouse na área cinza (para mim, uma 'volta, botão do polegar' tornou-se '(Instantaneamente) Botão 20')
  2. guia Preferências: selecione "Autostart Easystroke"
  3. guia Ações: Adicionar ação
    Nome: qualquer coisa que você goste (por exemplo, "Mouse 20 - > Ctrl")
    Tipo: 'Ignore'
    Detalhes: clique uma vez para alterar "Ignorar" para "Combinação de chaves ...". em seguida, pressione Ctrl + a. 'a' não importa e é ignorado. 'Combinação de chaves' será substituída por 'Ctr'
  4. Com a nova ação selecionada / destacada - > clique em "Gravar Stroke" - > pressione o botão do mouse que você está querendo usar novamente (isso veio com '20 - > 20 'na coluna Stroke para mim)
  5. Agora, pressionar e segurar o botão do meu mouse exibe um 'Ctr' na tela e age como se o botão estivesse sendo pressionado enquanto o botão do mouse estivesse
por atti 28.02.2018 / 16:04