Voglio che il mio touchpad sia disabilitato quando uso il mouse. Come posso fare ciò?
touchpad-indicator
ha smesso di funzionare l'11.10. Funzionava su 11.04. Gnome3 non è una soluzione perché non mi piace e lo trovo difettoso.
Voglio che il mio touchpad sia disabilitato quando uso il mouse. Come posso fare ciò?
touchpad-indicator
ha smesso di funzionare l'11.10. Funzionava su 11.04. Gnome3 non è una soluzione perché non mi piace e lo trovo difettoso.
Risposte:
Esegui il seguente comando in un terminale:
xinput list
Otterrai un output simile al seguente:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
Visualizza tutti i dispositivi di input collegati. Nota che hanno tutti un ID. Poiché 12 è l'id del mio touchpad, l'esecuzione del comando seguente lo disabiliterà.
xinput set-prop 12 "Device Enabled" 0
Nelle versioni di Ubuntu >12.04
è anche possibile disabilitare direttamente tramite
xinput --disable 12
(e abilita tramite un comando simile)
xinput -disable 12
per disabilitare il dispositivo di input 12 (o xinput -enable 12
per abilitarlo). Vedere la pagina di manuale xinput (1) .
controlla questo link: Come disabilitare-abilitare il touchpad in Ubuntu 11.10
La risposta trovata lì è davvero pulita:
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
Dopodiché otterrai un passaggio nell'area di notifica.
L'unica cosa che vorrei è poter impostare il tasto di commutazione su Fn+ F8(che è un interruttore del tasto del touchpad sulla mia tastiera ...
atareao
, potrebbe ospitare malware nel suo PPA
Sulla base della risposta data da @Peng Wu, ho creato uno script bash che può essere utilizzato ...
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
xinput set-prop $ID "Device Enabled" 0
echo 'Touchpad has been disabled.'
È possibile eseguirlo manualmente o eseguirlo all'avvio. Quindi è possibile eseguire lo script all'avvio.
Un altro script bash per attivare il touchpad:
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
xinput disable $ID
echo "Touchpad disabled."
else
xinput enable $ID
echo "Touchpad enabled."
fi
'Touchpad in mouse emulation mode\s*id\=[0-9]{1,2}'
Touchpad
invece di TouchPad
. Per renderlo senza distinzione tra maiuscole e minuscole, basta aggiungere un i
alle opzioni grep.
synclient TouchpadOff=$(synclient | ruby -ne 'puts ($_.match(/\\d+/)[0].to_i ^ 1) if /TouchpadOff/ =~ $_')
imwheel
: askubuntu.com / questions / 844151 / enable-disable-touchpad /… . Anche la mia risposta cerca xinput
entrambi TouchPad
e Touchpad
, come a volte la P è o non è maiuscola, a seconda del sistema, quindi lo script potrebbe non funzionare se non si cercano entrambi.
Semplicemente, in un terminale:
synclient TouchpadOff=1
Tuttavia, quanto sopra sembra non funzionare più in Ubuntu 16.04. In questo caso, quindi xinput
funziona ancora:
xinput set-prop `xinput --list | awk '/[Tt]ouch[Pp]ad.*pointer/ {print $7}' | sed 's/id=\(.*\)/\1/'` "Device Enabled" 0
Invece di xinput
, con variabili id che possono cambiare, utilizzare meglio synclient
come indicato in altre risposte, come questo .
sudo apt install xserver-xorg-input-synaptics
Per disattivare il touchpad:
synclient TouchpadOff=1
Per attivare:
synclient TouchpadOff=0
Da utilizzare con i lanciatori o le scorciatoie come indicato di seguito.
Questa è solo l'applicazione dei comandi in questa risposta sotto la presente domanda. La soluzione che segue è limitata a Xfce / Xubuntu, ma anche se l'ho fatta per caso, la trovo troppo elegante, non condividerla troppo qui. Quindi, ho creato inizialmente una domanda separata , solo per Xubuntu. Questa domanda non può che essere un duplicato di questa e può essere chiusa per questo motivo, ecco perché oso pubblicare nuovamente la risposta qui.
Riguarda questi due comandi:
Disattivare:
xinput set-prop 15 "Device Enabled" 0
Abilitare:
xinput set-prop 15 "Device Enabled" 1
Il numero ID verrà trovato eseguendo
xinput list
Ecco come disabilitare automaticamente il touchpad all'avvio Questo metodo disabiliterà il pad in modo più sicuro per nome anziché per ID. Ecco come ottenere il nome del tuo touchpad:
$ xinput list --name-only | grep -i Touchpad
ETPS/2 Elantech Touchpad
Crea un file di script bash. Ho aggiunto il file ad Ubuntu Startup Applications in modo che funzioni ad ogni riavvio. Ricorda di rendere eseguibile il file. Ecco i contenuti:
#!/bin/bash
$ xinput disable 'ETPS/2 Elantech Touchpad'
Questo ha funzionato per me nell'11.10:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
Visualizza tutti i dispositivi di input collegati. Nota che hanno tutti un ID. Poiché 12 è l'id del mio touchpad, l'esecuzione del comando seguente lo disabiliterà.
xinput set-prop 12 "Device Enabled" 0
e lo metterei in .bashrc o qualsiasi altra cosa tranne che non sono sicuro che il dispositivo 12 (in realtà 11 per me) sia sempre il touchpad.
Ora, se solo potessi far funzionare la freccia su in nautilius e vedere i .dir
(questa risposta è stata copiata da una modifica non valida)
Invece di ricordare quel comando ogni volta che desideri abilitare / disabilitare il touchpad, puoi invece aggiungerlo come scorciatoia da tastiera.
In Preferenze in Scorciatoie da tastiera fai clic su Aggiungi. Dai un nome al collegamento come "Disabilita Touchpad" o qualcosa del genere e aggiungi il comando che hai scoperto sopra
xinput set-prop <id> "Device Enabled" 0
e fai clic su applica. Quindi aggiungi un altro collegamento chiamato "Abilita touchpad" o qualcosa di simile al primo e modifica il comando precedente in 1 alla fine
xinput set-prop <id> "Device Enabled" 1
quelli sono off / on rispettosamente.
Ora che sono stati aggiunti, fai clic sulla colonna Abilita scorciatoia del touchpad (dovresti dire 'disabilitato') e digita la scorciatoia da tastiera che vuoi che sia, ho scelto Win+ 1(tieni premuto il tasto Windows e premi il numero 1). Fare lo stesso per Disabilita Touchpad, ho scelto Win+ 2.
Ora Win+ 1abilita il mio touchpad e Win+ lo 2disabilita.
Uso il seguente script per abilitare / disabilitare il touchpad. L'ho anche assegnato alla scorciatoia da tastiera.
Utilizzo: toggle_touchpad.sh [on|off
]
se si esegue senza argomenti, si inverte semplicemente lo stato corrente del touchpad.
#!/bin/bash
# toggle_touchpad.sh
is_off=`synclient | grep -Pio "TouchpadOff.*?(\d)" | grep -Eo "[01]"`
if [ -z "$1" ]; then
echo "Inverting touchpad state"
if [ "$is_off" -eq '0' ];then
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
fi
else
if [ "$1" == "on" ]; then
echo "Turning on touchpad"
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
elif [ "$1" == "off" ]; then
echo "Turning off touchpad"
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
echo "Unknown arg! Pass no args or on/off !"
fi
fi
Prima controlla se il tuo laptop ha abilitato / disabilitato la scorciatoia da tastiera del touchpad, per caso! Sul mio Lenovo Thinkpad T500 è Fn+F8
xev
o xinput
e tento di usare il pulsante sul mio G700, non registra nulla di dannato. Anche evemu-record
non registra nulla, e questo è a livello di kernel. Se il kernel non riesce a vederlo, non c'è molto da fare al di fuori di questi driver di dispositivo. Detto questo, questa è un'ottima soluzione, ma non affidabile per tutti i casi d'uso.
Nel mio caso, fn+F9 è mappato sull'interruttore Touchpad .
Ma il tasto non fa altro che mostrare l'icona del touchpad nella parte superiore destra dello schermo in questo modo.
Ecco una soluzione per attivare il touchpad semplicemente premendo una scorciatoia .
$ xinput list
Quindi ho ottenuto un file di script bash per attivare il touchpad con il comando 'xinput' (lo script originale può essere trovato qui ).
Nel mio caso, l'id del touchpad era 12.
#!/bin/bash
device=12
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device"
else
xinput --enable "$device"
fi
Salvare il file di script sopra come .toggleTouchPad.sh
nel punto desiderato.
E l'ultimo passaggio è l'aggiunta di scorciatoie da tastiera per eseguire il file di script.
Quindi basta scrivere sh /PATH/TO/SCRIPT
nella Command
finestra di scelta rapida.
Premere il collegamento e verificare se il touchpad è attivato.
Ha funzionato su ASUS A556UA Laptop e Ubuntu14.04 x64 installati .
suggerisci un modo per assegnare il tasto di attivazione / disattivazione del touchpad a un collegamento personalizzato per una soluzione completa
Per Ubuntu 16.04
Per disabilitare il touchpad:
xinput --disable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
e per abilitare il touchpad:
xinput --enable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
https://bitbucket.org/barseghyanartur/xinput
È un codice molto piccolo che consente di disabilitare / abilitare il touchpad dal terminale.
Segui semplicemente le istruzioni seguenti:
Installare:
$ pip install xinput
Disabilita touchpad:
$ disable-touchpad
Abilita touchpad:
$ enable-touchpad
Basta aggiungere un paio di funzioni bash al tuo .bashrc per darti un interruttore ...
#toggle-touchpad on|off
function touchpadon { /usr/bin/xinput --enable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad enabled";}
function touchpadoff { /usr/bin/xinput --disable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad disabled";}
In realtà è molto semplice disabilitare il touchpad in Ubuntu. Basta rimuovere il pacchetto xserver-xorg-input-synaptics
necessario per l'utilizzo dei touchpad in Ubuntu!
sudo apt-get remove xserver-xorg-input-synaptics
È l'unico modo per disabilitare permanentemente il touchpad che ha funzionato per me. Gli altri modi erano solo temporanei:
xinput list
xinput set-prop IDOFTOUCHPAD "Device Enabled" 0
synclient TouchpadOff=1
Sto usando LXDE e non sono stato in grado di disabilitare automaticamente il touchpad aggiungendo queste righe a ~/.config/lxsession/LXDE/autostart
o /etc/xdg/lxsession/LXDE/autostart
con un @
prefisso. È stato appena ignorato.
E ho provato a disabilitare il touchpad con dconf-editor (org.gnome.desktop.peripherals.touchpad) e gconf-editor (desktop.gnome.peripherals.TOUCHPADNAME), ma entrambi non hanno funzionato. Le impostazioni su dconf-editor non hanno alcun effetto e su gconf-editor continua a mostrare il messaggio di errore "Questa chiave non ha schema".
Ho provato a usare il tasto funzione laptop ( fn) per disabilitare il puntatore e funziona. Non ha funzionato durante i miei 11.04 giorni, quindi provalo.
Cosa ha funzionato per me su Ubuntu 12.04 LTS con Dell Laptop
Volevo disabilitare il puntatore che si trova al centro della tastiera e crea molti problemi durante la digitazione. Così:
$ xinput list
⎡ Virtual core pointer id=2
⎜ ↳ Virtual core XTEST pointer id=4
⎜ ↳ Wacom Graphire2 4x5 eraser id=9
⎜ ↳ Wacom Graphire2 4x5 cursor id=10
⎜ ↳ Wacom Graphire2 4x5 id=11
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=14
⎜ ↳ Macintosh mouse button emulation id=15
⎜ ↳ DualPoint Stick id=13
⎣ Virtual core keyboard id=3
↳ Virtual core XTEST keyboard id=5
↳ Video Bus id=6
↳ Power Button id=7
↳ Sleep Button id=8
↳ AT Translated Set 2 keyboard id=12
The device I want to disable has id 13. Use xinput to list its properties:
$ xinput -list-props 13
Device 'DualPoint Stick':
Device Enabled (115): 0
[...several lines removed...]
$ xinput -set-prop 13 115 0
Ciò ha disabilitato lo stick Dualpoint. Ma nessuna delle altre risposte ha funzionato per me. L'ho fatto
Installa dconf-tools
:
sudo apt-get install dconf-tools
dconf-editor
Quindi vai su org -> gnome -> settings-daemon -> periferiche -> touchpad e deseleziona il campo abilitato per touchpad
Ho trovato una buona soluzione per creare un'associazione chiave che richiamerà il comando:
xdotool key 199
dove 199 è un codice chiave riconosciuto come XF86TouchpadToggle. In questo modo si può fare una combinazione chiave della propria scelta per comportarsi come una chiave speciale che alcuni laptop devono attivare o disattivare il touchpad poiché ambienti desktop come Mate o Cinnamon lo gestiscono alla grande. Puoi controllare i codici chiave con questo comando:
xmodmap -pke
Ho creato un tutorial sul mio blog: https://artofcode.wordpress.com/2017/10/01/how-to-add-a-key-binding-to-toggle-a-touchpad-under-linux /
La mia soluzione è il seguente script tp:
#!/bin/bash
TT=`xinput --list | grep -i touchpad | sed -e "
s/(//
s/)//
s/ //g
"`
set $TT
(( $2 ))
xinput list | grep -iq mouse &&{
xinput --disable $id
}||{
xinput --enable $id
}
Il touchpad è disabilitato se viene rilevato un mouse e abilita in caso contrario.
L'ID touchpad viene trovato dallo script.
Ho un notebook Medion Akoya modello P7812 con Ubuntu 11.10 (64 bit) e la combinazione di tasti Fn& F6disabilita il touchpad.
Soluzione alternativa che funziona per tutti i touchpad, nessun ID necessario.
apri un terminale e scrivi "gedit toggle_touchpad.sh"
#!/bin/bash
condition="$(gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)"
if [ "$condition" == "false" ]; then
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true
elif [ "$condition" == "true" ]; then
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
fi
Salva il file ed esci. Ora hai un file con il nome "toggle_touchpad.sh"
Esegui il comando chmod +x toggle_touchpad.sh
per rendere eseguibile il file.
Posiziona il file in qualsiasi cartella ti piaccia. Supponiamo di averlo nella cartella / home / nome utente / myscripts /.
Dal menu in alto a destra vai a system-settings->keyboard->shortcuts->custom-shortcuts
.
Crea un nuovo collegamento e inserisci come nome quello che vuoi. Inserisci come comando /home<username>;/myscripts/toggle_touchpad.sh
dove "nome utente" è il tuo nome utente
Assegna qualsiasi scorciatoia da tastiera che desideri.
Pronto :)
PS Personalmente ho messo il file nella /opt/myscripts/
cartella ma per metterlo lì dovresti eseguire i seguenti comandi dopo aver creato il file:
sudo mkdir /opt/myscripts/
sudo mv toggle_touchpad.sh /opt/myscripts/
sudo chown <username>:<username> /opt/myscripts/toggle_touchpad.sh
chmod +x /opt/myscripts/toggle_touchpad.sh
dove "nome utente" è il tuo nome utente
Quindi quando creerai il collegamento utilizzerai il percorso "/opt/myscripts/toggle_touchpad.sh" invece di quello sopra menzionato
utilizzare innanzitutto l'elenco xinput per ottenere il nome del dispositivo di base del touchpad ... quindi aggiungere il comando xinput disable con il nome completo del dispositivo (in doppio qoutes per accettare gli spazi bianchi) nel file ~ / .bashrc (ovvero xinput disable "SynPS / 2 Synaptics TouchPad ") gli script sopra si sono rivelati molto positivi o negativi.
Questo metodo funziona, ma non riesco a usare il pulsante "vinci". Quindi ho usato il CtrlF1& F2per esso.
Attualmente il mio sistema operativo portatile è Ubuntu 14.04LTS.
Oh, devi scoprirlo xinput < id >
con il comando qui sotto. Per Ubuntu 14.04, è il "SynPS / 2 Synaptics TouchPad"
xinput list
SynPS/2 Synaptics TouchPad id=###
Ho provato tutte le risposte precedenti qui senza successo.
Quello che ha funzionato per me su Ubuntu 16.10 è stato
killall syndaemon
syndaemon -i 1 -KRd
È possibile che si desideri modificare il valore da 1 a 0,5.
Quindi, combinando le risposte di Krzysztof Tomaszewski e JaeJun LEE, sono arrivato a questa soluzione.
Crea il seguente toggleTouchPad.sh
script e salvalo dove vuoi:
#!/bin/bash
device=14
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device" && sleep 1 && xdotool key 201
else
xinput --enable "$device" && sleep 1 && xdotool key 200
fi
dove 14 è il tuo ID TouchDevice (fare riferimento alla risposta LEE di JaeJun )
Vai su Impostazioni di Ubuntu -> Dispositivi -> Tastiera
Alla fine dell'elenco, fai clic su +
per aggiungere un nuovo collegamento personalizzato
Nominalo Toggle Touchpad
, con Command /path/to/.toggleTouchPad.sh
e qualsiasi combinazione di tasti tu voglia (ho appena scelto Super + F7).
Ora, ogni volta che premi la combinazione di tasti prescelta, non solo attiva o disattiva il Touchpad, ma mostra anche un'icona di notifica grazie a xdotool
Per disabilitare la levetta centrale del mio Dell Latitude, inserisco questo .profile di Ubuntu così ogni volta che avvio / riavvio il mio laptop, disabiliterà quell'input.
Ho usato il --id-only
per evitare disadattamenti in grep
declare -i ID
ID=`xinput list --id-only 'AlpsPS/2 ALPS DualPoint Stick' | grep -Eo '[0-9]{1,2$
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
echo "id" $ID
xinput disable $ID
echo "Touchpad disabled."
else
echo "id" $ID
xinput enable $ID
echo "Touchpad enabled."
fi
Nel mio caso, con un Slimbook e Kubuntu, ho appena usato la combinazione: Fn+ Z.
Questo disabilita o abilita il touchpad.