Emulando clique do mouse com um teclado

11

Eu quero fazer um botão em um teclado para agir como um clique do mouse, de preferência usando xmodmap. Como faço isso?

Executando o Ubuntu 10.10.

    
por Zona 17.09.2011 / 11:35

3 respostas

5

Os passos seguintes ajudá-lo-ão a religar as teclas do seu teclado para os botões do rato.

  1. Identifique a tecla do teclado usando o utilitário xev .

    Executar o utilitário xev e pressionar a tecla do teclado para ser religado produzirá algo como isto

    KeyPress event, serial 37, synthetic NO, window 0x3e00001,
    root 0x82, subw 0x0, time 28977858, (-419,294), root:(175,613),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

    Anote o código de acesso que será reapresentado.

  2. Execute o utilitário xkbset

    xkbset m

  3. Remapear usando o utilitário xmodmap.

    No menu abaixo, a tecla do menu é remapeada para o botão direito do mouse.

    xmodmap -e "keycode 135 = Pointer_Button3"

por 02.10.2013 / 00:12
2

Eu imagino que você poderia fazer isso usando o xmodmap e o mapa de teclas Pointer_Button1.

Procure no arquivo /usr/include/X11/keysymdef.h a ortografia e letras maiúsculas exatas, mas deve ser possível mapear uma tecla do teclado em um botão do mouse (1,2,3, etc), até mesmo um clique duplo (veja o arquivo de cabeçalho, perto da linha 460 ou mais)

keysym W = Pointer_Button1

Pode funcionar, fazendo com que a tecla W aja como o botão esquerdo do mouse. Eu recomendaria usar uma chave diferente, a menos que você não use nenhum W, mas o que funciona para você. (não, eu não vou tentar eu mesmo, eu preciso dos meus W's!)

Também dê uma olhada na página man do xmodmap e, certamente, no conteúdo de /usr/include/X11/keysymdef.h para obter a ortografia correta. Solte o prefixo XK_ para usar os nomes de keysym do xmodmap.

Parece que é (keysymdef.h) no pacote x11-proto-core-dev para o meu sistema Debian ... você pode querer procurar pelo arquivo e seu conteúdo online, duvido que você queira instalar todo o -dev arquivos envolvidos para obter apenas um. GIYF.

Algo cócegas na minha cabeça sobre outra maneira de fazer isso, mas nada está vindo para mim agora.

OH! Dependendo das suas necessidades, você pode examinar a emulação do mouse via teclado, transformando o teclado numérico em um mouse de dois botões (sem roda de rolagem!) Com recursos completos.

    
por 17.09.2011 / 13:35
1

O modo "Emulação do Mouse do Teclado" embutido pode fazer isso e / ou tem combinações de teclas pré-configuradas para emular vários cliques do mouse e pressionamentos (para arrastar).

(FYI: a combinação de teclas para ativar isso foi removida do mapa de teclado padrão há algum tempo e agora precisa de Option XkbOptions "keypad:pointerkeys" .)

Acertar uma tecla não é a única maneira de ativar esse modo:

xkbset m

faz isso de acordo com link , e pode controlar o desagradável tempo limite e também desativá-lo do cmdline. Para desativar o tempo limite desagradável:

xkbset exp =m

Então, xkbset é realmente mais prático (do que ter uma chave apenas para ativar este modo), porque xkbset dá mais controle sobre o tempo de espera preferido, etc.

O numpad é usado. Algumas combinações básicas (mais em link :

  • / , * , - são para selecionar o botão esquerdo, médio ou direito;
  • 5 é para clicar com o botão selecionado ;
  • 0 e . são para pressionar e soltar o botão selecionado (para arrastar, etc.)

Notas sobre problemas em obter "Emulação de Mouse de Teclado" sempre ativada

  1. Eu não consegui "Emulação de mouse de teclado" sempre ativada. Então eu usei uma chave especial (como em keypad:pointerkeys ) para fazer isso.

  2. Descobri que o Xfce estava mexendo com essas configurações também na inicialização, portanto, se xkbset m for executado antes do Xfce, a configuração não estará ativa. Portanto, eu tive que mudar uma configuração no Xfce para corresponder ao meu desejo geral, a saber: Configurações do Xfce: Acessibilidade: Mouse: habilitar a emulação . (A fonte para mim sobre a existência dessa opção do Xfce era: link .) Isso parece ter ajudou. (Eu também estou desabilitando meu touchpad com xinput float ... ; isso é confuso alternando entre os consoles do Linux, mas pode ser contornado novamente desativando este dispositivo nas configurações do Xfce, pelo menos.)

por 19.10.2016 / 19:34

Tags