Para remapear a tecla de menu, você precisará fazer o seguinte.
pré-requisitos de instalação
Instale o pacote xkbset
:
sudo apt-get install xkbset
definir o layout do teclado
Em seguida, você precisa definir qual layout de teclado você está usando. No meu caso gb para um layout britânico / United teclado Unido ou nos para Estados Unidos
setxkbmap -layout gb
Nota: se você executar
setxkbmap -query
ele fornecerá a saída da seguinte forma - se o modelo e o layout forem o teclado, você estará usando o layout correto
rules: evdev
model: pc105
layout: gb
Em seguida, defina que será o próximo mapeamento das teclas do mouse:
xkbset m
xkbset exp =m
encontre Menucódigo-chave
Mapeie a Menuchave. Para fazer isso, precisamos do Menucódigo-chave. Em uma corrida de terminal xev
, mova o mouse dentro do quadrado e pressione a Menutecla
Resultado final
No meu caso, meu Menucódigo-chave é o valor 135 e isso será mapeado para o botão 2 do mouse
xmodmap -e "keycode 135 = Pointer_Button2"
Testado da seguinte forma:
- Copie algum texto em um terminal - ação de colar iniciada
- Passe o mouse sobre a barra de título - a janela é movida para o fundo
Juntando tudo isso:
Ok, depois de definir os códigos de chave corretos, podemos montar isso para começar a partir do login.
Primeiro, crie um arquivo em 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"
Salve . Conceda ao arquivo direitos de execução
chmod +x ~/remapkeys
Em seguida, no Dash, procure 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 dorme por 5 segundos para permitir que a área de trabalho apareça antes de executar o novo script - se a área de trabalho não aparecer em 5 segundos (talvez você esteja usando um netbook lento?), Aumente o tempo limite para 10 ou 15 segundos. Faça logout e faça o login para testar.
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 -> Atalhos do teclado (ou 'Atalhos do teclado' na pesquisa do Unity). Clique em 'Adicionar', digite um nome e o comando acima e clique em 'Aplicar'. Role até a parte inferior e defina um atalho como faria para qualquer outra ação.
Quando tentei isso, não consegui vincular a ação apenas à chave do Windows. Você pode tentar fazendo o seguinte, mas parece haver um erro 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 digite 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, digite '' (sem aspas) ao lado do campo 'ligação'. Se você obtiver o mesmo resultado que eu, todas as aparências de sua janela serão alteradas e a nova combinação de teclas não fará nada. Altere isso de volta para o que quer que fosse (ou deixe em branco) e abra Aparência (Preferências -> Aparência ou 'Aparência' em pesquisa de unidade). Isso deve resolver o problema.
fonte
Eu observo que, para outros (desde que eu achei isso várias vezes enquanto procurava meu próprio mouse), alguns ratos da Logitech possuem alguns botões (no MX1100, eram por padrão os botões "DPI +/-") que não enviam um sinal para o receptor USB.
É possível substituir isso e fazer com que o mouse informe o botão pressionado no driver do mouse, mas o processo não é nem um pouco amigável (ou 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 os mouses mais recentes há algum tempo.
fonte