Come emulare un clic del tasto destro del mouse sul touchscreen?


9

Il mio nuovo laptop touchscreen non ha il pulsante menu (cioè quello si comporta come un clic del mouse destro) - quello di solito accanto al ctrl destro.

poiché non è possibile fare clic con il pulsante sinistro del mouse, sto cercando di creare una scorciatoia da tastiera personalizzata per Alt GR per questa funzione (in Sistema> Tastiera> Scorciatoie> Scorciatoie personalizzate)

Quando si utilizza il xevcomando con una tastiera integrata (che ha il pulsante menu), ho scoperto che le informazioni sul pulsante sono:

KeyRelease event, serial 42, synthetic NO, window 0x4800001,
    root 0xab, subw 0x0, time 2544690, (1236,607), root:(1302,1050),
    state 0x0, keycode 135 (keysym 0xff67, Menu), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Tuttavia, non ho idea di cosa fare con queste informazioni ...

a proposito sto usando un Ubuntu 13.04.

Qualsiasi aiuto sarebbe molto apprezzato ...


Ho esattamente lo stesso problema con il mio aspire p3, ubuntu 14.04, le funzioni del tasto destro non funzionano con il touchscreen :(
user65390

@ user65390 hai provato la risposta di freddi schiller ...
Ismail Moghul

1
dovresti modificare questa domanda per rimuovere il geek. Basta dire, come fare clic con il tasto destro sui touchscreen? La domanda, ora risposta, sembra troppo tecnica per abbinare effettivamente le risposte
Bhikkhu Subhuti,

Risposte:


12

È necessario abilitare il clic secondario (come ha commentato AliNa) con gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"o con l'editor dconf.

Quindi è possibile che Ubuntu gestisca il touchscreen parzialmente come un touchpad, in cui un tocco non attiva la pressione del mouse. Invece è necessario toccare brevemente + toccare e tenere premuto.


Purtroppo, questa tecnica è limitata agli ambienti desktop basati su Gnome3, come Ubuntu di serie. La pressione prolungata per il clic destro funziona anche in Chrome / Chromium, ma solo perché gestisce autonomamente gli eventi touch.
tanius,

6

Continua a toccare lo schermo per 2 o 3 secondi e dovrebbe apparire quello che viene chiamato "menu a destra". Questo è il modo normale di emulare un clic destro su qualsiasi touchscreen.


1
Probabilmente dovresti abilitare prima il clic secondario, semplicemente tramite gsettings set org.gnome.desktop.a11y.mouse secondary-click-enabled "true"o tramite Dconf Editor.
AliN,

Ho inserito il comando sopra nel terminale e poi sono andato anche alle impostazioni universali e ho ridotto il ritardo di accettazione al minimo. tuttavia questo non risolve ancora il problema - quando uso un mouse, il menu appare ma quando si utilizza il touchscreen non funziona ...
Ismail Moghul

1
@IsmailM Quindi, penso che dovresti parlarne con il tuo venditore / produttore ...
Radu Rădeanu,

@ RaduRădeanu Ho portato questo laptop da John Lewis con Windows 8 su di esso (e la funzione touchscreen funziona correttamente su Windows 8). Pensi ancora che dovrei chattare con loro perché ho installato Ubuntu da solo ...
Ismail Moghul

@IsmailM Sì, dovresti.
Radu Rădeanu,

1

Se si dispone di un touchscreen Wacom (utilizzando il driver xf86-input-wacom) ed è in grado di utilizzare almeno due dita multi-touch, verrà visualizzato il pulsante destro del mouse:

  1. Tocca e tieni premuto con il primo dito.
  2. Ora tocca con il secondo dito.

Se non funziona ancora, scopri il nome del prodotto del tuo touchscreen da xinput --liste quindi abilita questa funzione con:

xsetwacom --set "[your touchscreen product id]" Gesture on

Per rendere permanente questa modifica, vedi la mia altra risposta per la tecnica.

A differenza dei clic con il tasto destro del mouse su Gnome / Ubuntu Shell, questo funziona in tutti gli ambienti desktop perché è una funzionalità (legacy) a livello di driver. Basta essere consapevoli del fatto che potrebbe causare problemi con il clic sinistro sul touchscreen in alcuni programmi, motivo per cui ho dovuto disabilitarlo sul mio sistema.


0

Per coloro che hanno il tasto Menu sulla tastiera, la nota nella domanda sull'utilizzo che per creare un clic con il tasto destro è in realtà un'ottima idea. Dal momento che non è ovvio, ecco come funziona:

  1. Tocca e tieni premuto lo schermo con un dito. Non rilasciare il dito, in quanto ciò farebbe scattare un clic con il pulsante sinistro, che potrebbe avere effetti indesiderati nell'applicazione. Toccare e tenere premuto è come premere e non rilasciare il pulsante sinistro del mouse, e di solito nessuna azione in un'applicazione risulta da ciò. Ma la posizione del puntatore del mouse è già cambiata nel punto in cui vogliamo fare clic con il pulsante destro del mouse, motivo per cui eseguiamo questo passaggio.

  2. Premere e rilasciare il tasto Menu. Già nell'evento di pressione dei tasti, viene attivato un clic con il tasto destro.

Ovviamente, questa tecnica ha bisogno di due mani ed è completamente impossibile su notebook convertibili in modalità tablet. Quindi è di uso pratico limitato.


0

Tra le mie risposte a questa domanda, questo è il mio preferito.

Se si dispone di un touchscreen che supporta l'input multi-touch di almeno due dita, è possibile installarlo touchegge configurarlo per interpretare (ad esempio) un tocco di due dita come clic con il tasto destro. L'ho provato con Lubuntu 18.10 e funziona.

1. Installazione

touchegg è disponibile nei repository Ubuntu 18.10, quindi puoi installarlo semplicemente in questo modo:

sudo apt install touchegg

Per avviarlo, esegui touchegg. Quando lo si esegue in un terminale è possibile verificare dal suo output se rileva correttamente i gesti multitouch.

Per toucheggavviare automaticamente ogni sessione LXQt, è sufficiente aggiungerlo ad Avvio automatico (menu LXQt → Preferenze → Impostazioni LXQt → Impostazioni sessione → Avvio automatico).

2. Modi per configurare touchegg

Puoi configurare toucheggin due modi alternativi:

  • Configurazione con un file di configurazione. Modifica il file ~/.config/touchegg/touchegg.conf. Per rendere effettive le modifiche, eseguire quanto segue in un terminale o tramite la finestra di dialogo Alt+ F2Esegui:

    killall touchegg; touchegg
    
  • Configurazione con una GUI. toucheggha una bella GUI di configurazione chiamata touchegg-gui, che si vede qui . Tuttavia, non fa parte del toucheggpacchetto Ubuntu. In alternativa, è possibile installare la GUI touchegg-gce come descritto qui . touchegg-gcefunziona, ma è necessario riavviare manualmente toucheggdopo aver salvato le modifiche al suo file di configurazione, eseguendo di nuovo:

    killall touchegg; touchegg
    

3. Configurazione per emulare un clic con il tasto destro

Per configurare un clic destro con due dita, è possibile utilizzare questo file di configurazione per ~/.config/touchegg/touchegg.conf:

<touchégg>
        <settings>
                <property name="composed_gestures_time">0</property>
        </settings>

        <application name="All">
                <gesture type="TAP" fingers="2" direction="">
                        <action type="MOUSE_CLICK">BUTTON=3</action>
                </gesture>
        </application>
</touchégg>

Commenti sulla toucheggconfigurazione:

  • Fare clic con il tasto destro del mouse con due dita come mostrato sopra è attualmente già contenuto nel file di configurazione predefinito fornito touchegg. (Ubuntu 18.10 qui.)

  • Il programma attenderà composed_gestures_time(espresso in millisecondi) che tu completi le tue azioni per gesti costituiti da più parti (come tocchi tocchi), e solo dopo li interpreterà. Pertanto, quando si utilizza toucheggsolo per gesti di una sola parte, ad esempio facendo doppio clic con il pulsante destro del mouse, è possibile impostare questa opzione in modo 0da evitare qualsiasi ritardo evidente nelle azioni. Questo è anche il valore predefinito nel file di configurazione creato da touchegg.

  • Almeno con il mio touchscreen, il tocco di due dita non viene riconosciuto quando si tocca lo schermo con entrambe le dita contemporaneamente. Ma quando c'è anche un intervallo di tempo molto piccolo (in modo da poter udire due tocchi, probabilmente ≥10 ms), funziona in modo affidabile. Quindi muovo solo il dito indice e il medio con un piccolo spazio verticale verso lo schermo e funziona in modo affidabile.

  • Il clic destro verrà attivato nella posizione di quel dito (tra i due in questo gesto) che tocca per primo lo schermo.

  • toucheggconsente a tutti gli eventi per i quali non è stato configurato il bubble up per l'appication sotto il cursore di essere interpretati lì. Questo è buono perché il pizzico-zoom nativo ecc. Implementato in Chromium, Chrome, Evince ad esempio funziona in modo molto più fluido rispetto a via touchegg.

  • toucheggpuò essere utilizzato insieme al software (altamente raccomandabile!) di riconoscimento gestuale con un solo tocco easystrokesenza interferenze. Naturalmente, non dovrebbero essere configurati per essere attivati ​​dagli stessi eventi.

4. Risoluzione dei problemi

  • toucheggpotrebbe smettere di funzionare dopo un ciclo di sospensione e ripresa. Devo ancora trovare un modo in modo che si riavvii automaticamente.

  • Almeno per me e gli altri , touchegginterpreteremo solo gli eventi touch sul touchscreen, non sul touchpad. In questo caso è desiderato. Forse perché il mio touchpad utilizza un driver che non espone gli eventi multi-touch al server X ( synapticspiuttosto che libinput). Puoi verificare a quali dispositivi si toucheggcollega avviandolo con GEIS_DEBUG=3 touchegg.

  • Se toucheggprovoca una sorta di "mezzo clic bloccato" per tutti i programmi, in cui i tocchi spostano il puntatore del mouse ma non attivano più i clic a sinistra: questo non è il suo comportamento normale. Sotto Ubuntu 18.10 con LXQt, all'inizio non avevo questo, ma poi l'ho avuto attraverso diversi toucheggriavvii e riavvii dell'intero computer. È scomparso dopo aver avviato il desktop Ubuntu predefinito e quindi tornare a LXQt.

    Una correzione nel toucheggfile di configurazione impostando un gesto aggiuntivo per il tocco di un dito risolverà il "mezzo clic bloccato", ma toucheggrimane un altro comportamento errato di questo bug, quindi non è una vera correzione. Tale comportamento scorretto include che (1) toucheggora consumerà anche tutti gli eventi per cui non è configurato, almeno quelli per un dito, e (2) alcuni programmi basati su Java ( freemindad esempio) ora soffriranno di un problema inverso con "metà bloccata clic ", in cui la posizione del cursore verrà bloccata ma verranno registrati i clic del pulsante sinistro del mouse. Questo viene temporaneamente risolto eseguendo un'azione con due dita nel programma basato su Java, per toucheggriconoscerlo.


0

È possibile utilizzare easystrokeper creare clic con il pulsante destro del mouse con un modificatore più tocco, come Ctrl+ Alt+ tocco. Con un'ulteriore configurazione, è possibile accedervi da soli con un solo touchscreen, vedere di seguito.

Questo è abbastanza carino, poiché "modificatore più tocco" poiché un clic con il tasto destro non può essere configurato con nessuno dei touchegg(non riconosce i modificatori), mouseemu(non riconosce i tocchi in quanto privi di scancodes) o xsetwacom "…" set Button 1 …(non riconosce i tocchi in quanto l'immissione delle dita non lo è un evento pulsante nel driver).

1. Installazione

easystrokeil programma è solo minimamente mantenuto in questo momento, ma nelle note di rilascio si collegano a un recente pacchetto Ubuntu, basato su Ubuntu 18.04. Ha funzionato bene per me (Ubuntu 18.10 qui). Puoi installarlo come segue:

wget http://openartisthq.org/easystroke/easystroke_0.6.0-0ubuntu8_amd64.deb
sudo apt install ./easystroke_0.6.0-0ubuntu8_amd64.deb

2. Configurazione

  1. Inizia il programma con easystroke.

  2. Nella seconda scheda "Preferenze", fai clic su "Pulsante Gesto" e Ctrl+ Alt+ tocca il campo grigio. Ctrl+ Altsembra essere la migliore scelta di modificatore, almeno in LXQt, perché:

    • Sia Shift+ clic che Ctrl+ clic sono già utilizzati per la selezione multipla e non sarebbero disponibili se assegnati a easystroke.
    • Alt, SuperE qualsiasi combinazione coinvolge Supernon sarà visto da easystroke. Questo è probabilmente un problema di conigurazione di LXQt o Openbox, ma finora non sono riuscito a risolverlo.
  3. Nella prima scheda "Azioni", fai clic su "Aggiungi azione".

  4. Configura la tua azione con "Tipo: comando" e "Dettagli: xdotool keyup ctrl alt; xdotool click 3". Adatta in base ai modificatori scelti.

    A seconda dei modificatori, cancellare prima i modificatori è importante per prevenire effetti collaterali. Ad esempio Shift+ clic con il tasto destro su Chrome porterebbe alla selezione del testo. Inoltre, è necessario cancellare esplicitamente i modificatori per evitare modificatori bloccati quando si attivano queste pressioni di tasti con il software (vedere la sezione 3 di seguito). Non cancellare i modificatori da soli prima di eseguire il comando potrebbe essere considerato un bug easystroke.

  5. Fai clic su "Registra tratto" e registra un singolo tocco.

  6. Puoi disabilitare i popup (qui piuttosto inutili) sotto "Preferenze → Aspetto → Mostra popup".

  7. Puoi limitare questo riconoscimento gestuale solo al tuo touchscreen e forse al dispositivo di input penna in "Avanzate → Dispositivi".

Ora, Ctrl+ Alt+ tap creerà un clic con il tasto destro.

Si noti che easystrokeha un ottimo riconoscimento dei gesti per i gesti a tocco singolo ("disegnare forme sullo schermo") che è possibile utilizzare per automatizzare molte attività durante l'utilizzo del touchscreen. Questo è il suo scopo principale, mentre l'emulazione con il tasto destro del mouse è solo un effetto collaterale.

3. Miglioramento: clic con il tasto destro del mouse

Ora miglioriamo questa configurazione in modo da poter attivare i clic con il pulsante destro del mouse con una sola mano e un touchscreen toccando (1) toccando un pulsante sullo schermo speciale che significherà "il prossimo tocco è un clic con il tasto destro" e (2) quindi toccando sullo schermo solo normalmente.

Ecco una ricetta per Lubuntu (LXQt) e l'utilizzo del modificatore Ctrl+ Altscelto sopra, ma il principio è lo stesso in tutti gli ambienti desktop e con tutti i modificatori: una voce di avvio rapido personalizzata nel pannello.

  1. Crea un'icona personalizzata per la voce di avvio rapido e salvala come ~/.icons/default/rightclick.png.

  2. Crea un .desktopfile personalizzato e salvalo come .local/share/applications/rightclick.desktop, con il seguente contenuto. Si noti che è necessario fornire usernameper il percorso assoluto.

    [Desktop Entry]
    Name=Rightclick
    Comment=Next tap is a rightclick via Ctrl + Alt + easystroke gesture.
    Icon=/home/matthias/.icons/default/rightclick.png
    Exec=xdotool keydown ctrl alt
    Type=Application
    Categories=System;Utility;
    StartupWMClass=localdomain.rightclick
    
  3. Aggiungi un altro widget di avvio rapido al tuo pannello LXQt. Mentre in linea di principio puoi anche modificare quello esistente, ho scoperto che uno collocato nell'angolo in basso a destra dello schermo è il più naturale per il funzionamento con la mano destra e anche gli errori accidentali mostreranno solo la data (se è quello accanto al a sinistra, come nel mio caso) invece di avviare un'applicazione di grandi dimensioni.

  4. Apri ~/.config/lxqt/panel.confe modifica la nuova [quicklaunch2]sezione per fare riferimento al tuo .desktopfile personalizzato . Ancora una volta, devi fornire username. Esempio come potrebbe apparire:

    [quicklaunch2]
    alignment=Left
    apps\1\desktop=/home/username/.local/share/applications/rightclick.desktop
    apps\size=1
    type=quicklaunch
    
  5. Riavvia il pannello LXQt per rendere effettive le modifiche. Per quello:

    1. Vai a "Menu LXQt → Preferenze → Impostazioni LXQt → Impostazioni sessione".
    2. Selezionare "Impostazioni di base → Moduli LXQt → Pannello".
    3. Fai clic su "Stop".
    4. Fai clic su "Avvia".

     

    (Potresti anche eseguire killall lxqt-panel && lxqt-panelnella finestra di dialogo Alt+ F2avvio, ma ciò interferirà con lo stato del pannello riconosciuto nella finestra di dialogo sopra menzionata, e se mescoli entrambe le tecniche avresti due pannelli in esecuzione uno sopra l'altro, con uno mancante del pannello icone. Meglio così. Questo è ancora difettoso.)

Inoltre, se sul lato del touchscreen sono presenti pulsanti hardware speciali, è possibile assegnare il xdotool keydown ctrl altcomando a uno di essi.

4. Altri miglioramenti e risoluzione dei problemi

  • Come piacevole effetto collaterale, la suddetta tecnica per i clic con il tasto destro del mouse consente anche l'accesso con una sola mano a tutti gli altri gesti in cui potresti aver configurato easystroke. Questa è una funzionalità piuttosto potente per l'automazione dell'utilizzo del touchscreen.

  • Quando configuri altri gesti easystroke, tieni presente il seguente bug: easystrokenon cancella i modificatori scelti prima di eseguire l'azione configurata. I tipi di azione "Chiave" e "Testo" generano tutte combinazioni di tasti insieme a Ctrl+ Altnel caso precedente, il che li rende inutilizzabili. Per ovviare a questo problema, scegli invece il tipo di azione "Comando" e cancella tu stesso i modificatori come sopra. Quindi per attivare Ctrl+ V, il comando sarebbe:

    xdotool keyup ctrl alt; xdotool key "ctrl+v"
    

    (L' xdotoolopzione --clearmodifiersnon aiuta qui in quanto disabilita solo i modificatori durante la combinazione di tasti per eseguirli e riapplicarli in seguito. Il che in questo caso renderebbe il tocco successivo un clic con il tasto destro secondo la tecnica sopra, ma non vorremmo che in questo caso.)

  • Se durante il test sono stati bloccati dei modificatori, premendo e rilasciando i tasti modificatori sulla tastiera fisica si risolverà la condizione.

  • A volte durante il test di queste cose, il mio LXQt gli eventi della mia tastiera e del mouse diventavano molto incasinati. In tal caso, solo il logout dall'ambiente grafico e il login di nuovo hanno aiutato.

  • Il modo più pulito per implementare l'operazione di solo tocco con una sola mano easystroke, anche nel caso di clic con il pulsante destro del mouse, come richiesto qui, sarebbe che un tocco easystrokesull'icona del pannello lo porti nello stesso stato interno dell'icona del pannello personalizzato configurata sopra, ma senza cambiare effettivamente lo stato del modificatore della tastiera perché ciò può portare a modificatori bloccati ecc. Per mostrare la easystrokefinestra, si dovrebbe quindi usare il menu contestuale della sua icona del pannello. Ovviamente, ciò richiede alcune modifiche al easystrokecodice.

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.