J'aimerais savoir comment désactiver TOUS les raccourcis clavier via le terminal. Je sais que vous pouvez les désactiver en allant à:
paramètres système> clavier> raccourcis
mais je veux les désactiver via un terminal. Quelqu'un sait comment cela peut être fait?
Je ne sais pas du tout pourquoi vous voudriez faire cela et je devrais vous avertir qu'il pourrait bien être compliqué d'obtenir les raccourcis. Si c'est vraiment ce que vous voulez faire, les commandes ci-dessous désactiveront tous les raccourcis clavier. Ceux configurés via l'interface graphique de Unity et ceux que vous avez configurés à l'aide de ccsm
Commencez par faire une sauvegarde des liaisons actuelles afin de pouvoir les réactiver ultérieurement
gsettings list-recursively org.gnome.desktop.wm.keybindings |
Perl -pe 's/(.*)\s*(\[.*?\])\s*$/$1\t$2\n/' |
while IFS=$'\t' read -r key val; do echo -e "$key\t$val"; done > old_settings
Cela créera un fichier appelé old_settings
au format suivant:
schema key <TAB> value
Par exemple:
org.gnome.desktop.wm.keybindings unmaximize <TAB> ['<Control><Super>Down']
Désactivez maintenant les raccourcis
gsettings list-recursively org.gnome.desktop.wm.keybindings |
Perl -pe 's/(.*)\s*(\[.*?\])\s*$/$1\t$2\n/' |
while IFS=$'\t' read -r key val; do gsettings set $key ['']; done
gsettings list-recursively org.gnome.desktop.wm.keybindings
: ceci liste toutes les liaisons de clé et leurs valeurs actuellesPerl -pe 's/(.*)\s*(\[.*?\])\s*$/$1\t$2\n/'
: ceci ajoute simplement un caractère de tabulation (\t
) séparant la valeur de la clé. Cette étape est nécessaire pour pouvoir les lire correctement dans la prochaine.while IFS=$'\t' read -r key val
: parcourez chaque ligne et lisez la clé dans $k
et sa valeur dans $val
. $IFS=$'\t'
signifie divisé en onglets pour que la clé et la valeur soient lues correctement.gsettings set $key ['']
: cela définit en fait la valeur à blanc, ce qui désactive efficacement vos raccourcis.Notez que vous devrez peut-être vous déconnecter et vous reconnecter pour que cela prenne effet.
Récupère (certains de) vos raccourcis
while IFS=$'\t' read -r key val; do
gsettings set "$key" "$val"
done < old_settings
WARNING: Cela ne fonctionnera probablement pas pour tous les paramètres car certains d'entre eux semblent avoir un paramètre supplémentaire @as
dans le nom de la clé et Je ne sais pas comment traiter avec celui-là. Comme je l'ai dit, ce n'est pas une très bonne idée.
ccsm
gsettings set org.gnome.settings-daemon.plugins.media-keys active false
Cette fois, les récupérer est facile. Tout ce que vous avez à faire est de courir
gsettings set org.gnome.settings-daemon.plugins.media-keys active true
Je me suis inspiré de la réponse de @ terdon et j'ai fait n script pour en faire autant , mais le fait de manière plus conviviale.
Vous pourriez l'utiliser comme ceci:
gnome-key-bindings --unset-all --except 'close|switch-applications'
Comme j'aime utiliser les combinaisons de touches par défaut Alt-F4 et Alt-Tab (et leur inversion en utilisant shift), cela supprimerait toutes les associations de touches à l'exception de celles-ci.
Il a également un menu d'aide Nice:
List/disable/enable/set gnome-key-bindings
gnome-key-bindings [-h | option] [value]
Options
--list Lists all the current keybindings
--set=key Set a specific keybinding
--unset=key Unsets a specific keybinding
--unset-all Unsets all keybindings
--except=REGEX Filter out keys matching REGEX from being unset
--print-default Prints the default shortcuts per Ubuntu 18.04
Examples:
Clearing all keys except a few:
gnome-key-bindings --unset-all --except "close|switch-applications|switch-input-source|show-desktop"
Setting a shortcut
gnome-key-bindings --set=maximize "<Super>Up"
Pour l'utiliser sur votre propre machine
curl -s https://raw.githubusercontent.com/fatso83/dotfiles/master/utils/scripts/gnome-key-bindings -o gnome-key-bindings
curl -s https://raw.githubusercontent.com/fatso83/dotfiles/master/utils/scripts/easyoptions.sh -o easyoptions.sh
curl -s https://raw.githubusercontent.com/fatso83/dotfiles/master/utils/scripts/easyoptions.rb -o easyoptions.rb
chmod +x ./gnome-key-bindings
Sudo mv ./gnome-key-bindings easyoptions.* /usr/local/bin/