Emulazione del clic del mouse con una tastiera


13

Voglio fare un pulsante su una tastiera per agire come un clic del mouse, preferibilmente usando xmodmap. Come lo faccio?

Esecuzione di Ubuntu 10.10.


setxkbmap -option keypad:pointerkeysfarebbe quello che vuoi. Quindi uno shift-numlock.
Peter - Ripristina Monica il

Risposte:


6

I seguenti passaggi ti aiuteranno a ricollegare i tasti della tastiera ai pulsanti del mouse.

  1. Identificare il tasto della tastiera utilizzando l' xevutilità.

    Eseguendo l'utilità xev e premendo il tasto della tastiera per essere ricablato, verrà emesso qualcosa del genere

    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

    Nota il codice chiave che verrà rimappato.

  2. Esegui l'utility xkbset

    xkbset m

  3. Rimappare utilizzando l'utilità xmodmap.

    Nel seguente caso il tasto menu viene rimappato al pulsante destro del mouse.

    xmodmap -e "keycode 135 = Pointer_Button3"


vedi il mio script superuser.com/questions/313926/… Usa i tasti per i pulsanti del mouse su Linux. Alternativa ad AHK?
Russo,

4

Immagino che tu possa ottenere questo risultato usando xmodmap e la keymap Pointer_Button1.

Cerca nel file /usr/include/X11/keysymdef.h l'esatta ortografia e maiuscola, ma dovrebbe essere possibile mappare un tasto della tastiera in un pulsante del mouse (1,2,3, ecc.), Anche un doppio clic ( vedere il file di intestazione, vicino alla linea 460 o giù di lì)

keysym W = Pointer_Button1

POTREBBE funzionare, facendo in modo che il tasto W funga da pulsante sinistro del mouse. Consiglierei di usare una chiave diversa, a meno che tu non usi W, ma qualunque cosa funzioni per te. (no, non ci proverò da solo, ho bisogno delle mie W!)

Dai anche un'occhiata alla pagina man di xmodmap, e sicuramente il contenuto di /usr/include/X11/keysymdef.h per ottenere l'ortografia corretta. Rilascia il prefisso XK_ per utilizzare i nomi keysym per xmodmap.

Sembra che sia (keysymdef.h) nel pacchetto x11-proto-core-dev per il mio sistema Debian ... potresti voler cercare il file e il suo contenuto online, dubiti di voler installare tutti i file -dev coinvolti in prendi quello. GIYF.

Qualcosa che solletica dietro la mia testa su un altro modo per farlo, ma non mi sta venendo nulla proprio ora.

OH! A seconda delle tue esigenze, potresti esaminare l'emulazione del mouse da tastiera, trasformando il tastierino numerico in un mouse a due pulsanti (nessuna rotella di scorrimento!) Completo di tutte le funzionalità.


1
Per informazioni sui lettori, su "Emulazione del mouse da tastiera": en.linuxreviews.org/… La combinazione di tasti per accenderlo è stata disabilitata di default da qualche tempo e ora è necessaria Option XkbOptions "keypad:pointerkeys". Premere i tasti non è l'unico modo xkbset mper attivarlo : farlo come da crunchbang.org/forums/viewtopic.php?id=27937 , e può controllare il timeout cattivo e anche disattivarlo dalla cmdline.
imz - Ivan Zakharyaschev,

3

La modalità integrata "Emulazione mouse tastiera" può eseguire questa operazione e / ma ha combinazioni di tasti preconfigurate per emulare vari clic e pressioni del mouse (per trascinare).

(FYI: La combinazione di tasti per attivarlo è stata rimossa dalla mappa dei tasti predefinita da qualche tempo fa e ora è necessaria Option XkbOptions "keypad:pointerkeys".)

Premere un tasto non è l'unico modo per attivare questa modalità:

xkbset m

fa questo come da http://crunchbang.org/forums/viewtopic.php?id=27937 , e può controllare il cattivo timeout e anche spegnerlo dalla cmdline. Per disattivare il brutto timeout:

xkbset exp =m

Quindi, xkbsetè davvero più utile (che avere una chiave solo per attivare questa modalità), perché xkbsetoffre un maggiore controllo sul timeout preferito ecc.

Viene utilizzato il tastierino numerico. Alcune combinazioni di base (più su http://it.linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg :

  • /, *, -Sono per la selezione a sinistra, tasto centrale o di destra;
  • 5è per fare clic con il pulsante selezionato ;
  • 0e .servono per premere e rilasciare il pulsante selezionato (per trascinare ecc.)

Note sui problemi relativi all'attivazione di "Emulazione mouse tastiera" sempre abilitata

  1. Non è stato sempre possibile abilitare "Emulazione mouse tastiera". Quindi ho fatto affidamento su una chiave speciale (come in keypad:pointerkeys) per farlo.

  2. Ho scoperto che Xfce stava anche scherzando con queste impostazioni all'avvio, quindi se xkbset mviene eseguito prima di Xfce, l'impostazione non è attiva. Pertanto, ho dovuto modificare un'impostazione nella configurazione di Xfce per soddisfare il mio desiderio generale, vale a dire: Impostazioni di Xfce: Accessibilità: Mouse: abilita l'emulazione . (La fonte per me sapere dell'esistenza di tale opzione Xfce era: https://bugzilla.xfce.org/show_bug.cgi?id=3860 .) Questo sembra aver aiutato. (Sto anche disabilitando il mio touchpad xinput float ...; questo è un problema passando da una console Linux a un'altra, ma può essere nuovamente risolto disabilitando questo dispositivo almeno nelle impostazioni di Xfce.)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.