web-dev-qa-db-fra.com

Comment puis-je configurer un raccourci clavier pour activer / désactiver, par exemple. le trackpad?

J'utilise Ubuntu 14.04. J'ai actuellement désactivé le trackpad de mon ordinateur portable en le désactivant dans "Paramètres système -> Souris et pavé tactile". Puis-je définir un raccourci clavier pour activer/désactiver le trackpad, comme l'option dans les paramètres système?

4
In78

Vous pouvez placer un petit script qui vérifie l'état actuel sous une touche de raccourci et le faire passer ensuite à l'autre état.

Cela fonctionne dans de nombreuses situations, par exemple basculer le trackpad, basculer la visibilité de (plusieurs) icônes d'indicateurs, etc. (voir EDIT, en bas de l'article).

Le script ci-dessous fait cela:

#!/usr/bin/env python3
import subprocess

key = "org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled"

cmd1 = "/bin/bash", "-c", "gsettings get "+key
new_state = "false" if subprocess.check_output(cmd1).decode("utf-8").strip()  == "true" else "true"
cmd2 = "gsettings set "+key+" "+new_state
subprocess.Popen(["/bin/bash", "-c", cmd2])

Comment utiliser

  1. Copiez le script dans un fichier vide, enregistrez-le sous le nom toggle_touchpad.py
  2. Testez-le en lançant (dans un terminal) la commande:

    python3 /path/to/toggle_touchpad.py
    
  3. Si tout fonctionne correctement, ajoutez-le à une combinaison de touches de raccourci: choisissez: Paramètres système> "Clavier"> "Raccourcis"> "Raccourcis personnalisés". Cliquez sur le "+" et ajoutez la commande:

    python3 /path/to/toggle_touchpad.py
    

Maintenant, la touche de raccourci devrait activer/désactiver le pavé tactile

Explication

Le touchpad est activé/désactivé par la touche:

org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled

Pour obtenir l'état actuel:

gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled

Pour régler sur enabled

gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true

Pour régler sur disabled:

gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false

Remarques

1. Utilisation de chemins absolus dans les raccourcis clavier personnalisés

Comme dans les fichiers .desktop, les chemins relatifs tels que ~ ne peuvent pas être utilisés dans les raccourcis clavier personnalisés. De même, tout comme dans les commandes de terminal, les espaces doivent être échappés:

Au lieu de:

python3 ~/Keyboard\ shortcuts/toggle_touchpad.py

tiliser:

python3 /home/yourname/"Keyboard shortcuts"/toggle_touchpad.py

2. Utiliser la ou les commandes de 15.04

En raison d'un bug (semble-t-il), la commande:

gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true 

fonctionne bien, mais la commande:

gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false

doit être exécuté deux fois (!!) pour désactiver le touchpad ...

3. Version Bash du script

Pour ceux qui préfèrent une version bash pour une raison quelconque:

#!/bin/bash

key="org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled"
current=$(gsettings get $key)

if [ "$current" == "true" ]; then
  gsettings set $key false
else
  gsettings set $key true
fi

Enregistrez-le sous toggle_touchpad.sh, exécutez-le avec la commande

/bin/bash /path/to/toggle_touchpad.sh

MODIFIER

Le (s) script (s) ci-dessus peuvent être utilisés pour basculer le paramètre any, défini par une commande gsettings de type boolean (false/true). Changez simplement la ligne:

key = "org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled"

Par la clé correspondante.

Un exemple:

Si je change la ligne en:

key = "com.canonical.indicator.sound visible"

Il bascule la visibilité de l'icône d'indicateur sonore.

3
Jacob Vlijm