Como posso atribuir um pressionamento do botão do meio a uma tecla específica no meu laptop?

7

Como posso anexar um pressionamento do botão do meio a uma tecla específica no meu laptop? Eu posso fazer o botão do meio se eu tocar no canto superior direito do touchpad, mas eu gostaria de associá-lo a uma tecla, como a tecla "windows" ou a tecla "menu".

Existe uma maneira de fazer isso?

A resposta atual não funciona para o Ubuntu 11.10 com uma área de trabalho clássica, estilo gnome-failsafe. Eu precisaria de alguém para descobrir como isso pode ser feito para a versão atualizada do Ubuntu.

    
por 719016 26.05.2011 / 01:13

3 respostas

10

Para remapear a tecla menu , você precisa fazer o seguinte.

pré-requisitos de instalação

Instalar o pacote xkbset :

sudo apt-get install xkbset

define o layout do teclado

Em seguida, você precisa definir o layout de teclado que está usando. No meu caso, gb para um layout de teclado do Reino Unido / Reino Unido ou nós para os Estados Unidos

setxkbmap -layout gb

Nota: se você executar

setxkbmap -query

ele lhe dará a saída da seguinte forma: se o modelo e o layout forem seu teclado, você está usando o layout correto

rules:      evdev
model:      pc105
layout:     gb

Em seguida, defina que estaremos próximos mapeando as teclas do mouse:

xkbset m
xkbset exp =m

encontre código-chave do menu

Mapeie a tecla do Menu . Para fazer isso, precisamos do código-chave do Menu . Em uma execução de terminal xev , mova o mouse dentro do quadrado e pressione a tecla Menu .

Resultado final

No meu caso, meu código-chave do Menu é o valor 135 e este será mapeado para o Botão do Mouse 2

xmodmap -e "keycode 135 = Pointer_Button2"

Testado da seguinte forma:

  1. Copiar algum texto em um terminal - Colar ação iniciada
  2. Passe o mouse sobre a barra de título - mova a janela para o plano de fundo

Colocando tudo isso junto:

Ok, assim que descobrirmos os códigos de teclas corretos, podemos juntar isso para começar do login.

Primeiro, crie um arquivo na sua pasta pessoal chamado remapkeys

gedit ~/remapkeys

agora copie e cole o seguinte

#!/bin/sh
setxkbmap -layout gb
xkbset m
xkbset exp =m
xmodmap -e "keycode 135 = Pointer_Button2"

Salvar. Dê os direitos de execução ao arquivo

chmod +x ~/remapkeys

Em seguida, em Dash, pesquise Aplicativos de inicialização ou, se estiver usando o Gnome Classic - Aplicativos - Outros - Aplicativos de inicialização

Adicionar uma nova entrada de aplicativos de inicialização

O comando deve ser:

bash -c "sleep 5 && ~/remapkeys"

O comando demora 5 segundos para permitir que sua área de trabalho apareça antes de executar o novo script - se a sua área de trabalho não aparecer dentro de 5 segundos (talvez você esteja usando um netbook lento?), aumente esse tempo para 10 ou 15 segundos. Logout e login para testar.

    
por fossfreedom 27.10.2011 / 01:41
5

Primeiro, instale xautomation:

sudo apt-get install xautomation

Você pode enviar um evento de clique do meio usando xte:

xte 'mouseclick 2'

Você pode criar um atalho personalizado para isso em Preferências - & gt; Atalhos de teclado (ou 'Atalhos de teclado' da pesquisa Unity). Clique em "Adicionar", insira um nome e o comando acima e clique em "Aplicar". Role até o final e defina um atalho como faria para qualquer outra ação.

Quando tentei isso, não consegui vincular a ação apenas à tecla do Windows. Você pode tentar fazendo o seguinte, mas parece haver um bug que impede que isso funcione:

Abra um terminal e execute

gconf-editor

Pressione Ctrl + f, selecione a caixa "Pesquisar também nos valores-chave" e insira o seguinte na caixa de pesquisa:

xte 'mouseclick 2'

Deve haver apenas um resultado no painel inferior. Se houver mais, selecione aquele que contém '/ desktop / gnome / keybindings / custom * / action' em seu nome. No painel superior direito, insira '' (sem aspas) ao lado do campo 'binding'. Se você obtiver o mesmo resultado que eu, todas as aparências de sua janela serão alteradas, e o novo atalho de teclado não fará nada. Mude de volta para o que quer que fosse (ou deixe-o em branco) e abra Appearance (Preferências - & gt; Aparência ou 'Aparência' em busca de unidade). Isso deve resolver o problema.

    
por sentythee 26.05.2011 / 04:57
1

Eu notaria, para outros (já que eu encontrei isso várias vezes enquanto procurava por meu próprio mouse) que alguns mouses da Logitech têm alguns botões (no meu MX1100, eles eram por padrão "DPI +/-") não envie um sinal para o receptor USB.

É possível substituir isso e fazer com que o mouse informe o botão pressionado ao driver do mouse, mas o processo não é nem de perto fácil de usar (ou até mesmo facilmente replicável, pois parece ser diferente para cada mouse). O pacote "lomoco" aparentemente funcionará para alguns usuários, mas não foi atualizado para novos mouses em algum momento.

    
por Icehawk78 10.08.2012 / 23:39