web-dev-qa-db-fra.com

Ignorer le raccourci système pour le raccourci spécifique à l'application

Existe-t-il un moyen de donner à un raccourci clavier défini dans une application une priorité sur un raccourci système avec la même liaison de clé?

comportement souhaité: Lorsque certaines touches sont enfoncées, vérifiez si l'application ciblée veut faire quelque chose (et si oui, faites-le ). Sinon, vérifiez s'il existe un raccourci système pour certaines touches , puis procédez ainsi.

Qu'est-ce qui se passe actuellement: J'ai F11 définir comme 'basculer plein écran' dans le menu des paramètres pour les raccourcis clavier. Dans Chrome F11 doit activer le propre mode plein écran de Chrome, mais est remplacé par le raccourci système, c'est-à-dire que Chrome devient plein écran (le panneau GNOME et la barre de titre disparaissent) mais n'entre pas en mode plein écran de Chrome (où les onglets, la barre d'adresse) et la barre de favoris disparaissent également).

(Remarque: Firefox n'a pas le même problème, mais cela semble être dû au fait que FF Fullscreen est identique à/est déclenché par le gestionnaire de fenêtres Fullscreen.)

11
fred

Disclaimer: Ce n'est pas exactement ce que vous voulez, mais j'ai passé trop de temps dessus pour ne pas le poster et peut-être que quelqu'un d'autre peut l'utiliser.

Je suis allé aussi loin que Ctrl + F11 est plein écran partout mais Chromium où il est plein écran de Chromium!

  1. Train de pensées

Je pensais pouvoir tromper le gestionnaire de fenêtres si j'utilisais xdotool et que je transmettais la commande directement à la fenêtre chrome - sans résultat.

Ensuite, j'ai pensé que je pourrais peut-être changer le raccourci clavier dans Google Chrome, mais cela semble codé en dur - une autre impasse.

  1. Ce qui nous laisse avec ceci

Installez xdotool pour simuler des pressions au clavier

Sudo apt-get install xdotool

reconfigurer les raccourcis clavier Ubuntu en quelque chose d'arbitraire, que nous ne tapons jamais mais qui est utilisable dans le script

Paramètres -> Périphériques -> Clavier

Faites défiler et éditez Basculez le mode plein écran sur Ctrl + Alt + 1, puis appuyez sur + et ajoutez un raccourci clavier personnalisé.

keyboard shortcuts - fullscreen

puis appuyez sur le + et ajoutez un raccourci clavier personnalisé

dialog of custom shortcut

éditer le script

nano /home/user/fullscreen.sh


#!/bin/bash
export DISPLAY=:0
windowname=$(xdotool getactivewindow getwindowname | cut -d "-" -f 2)
if [[ $windowname != *"Chromium"* ]]
then
xdotool keydown Ctrl keydown Alt key 1 keyup Alt keyup Ctrl
else
xdotool search --onlyvisible --class "Chromium" windowfocus 
sleep 0.2
xdotool key F11
fi

le rendre exécutable

chmod +x /home/user/fullscreen.sh

  1. Conclusion

Il semble impossible de tromper le gestionnaire de fenêtres et de passer en fraude, mais des solutions de contournement sont certainement possibles. Dans ce cas, Google a rendu le raccourci clavier plein écran non configurable, de sorte qu'il tombe juste avant la marque.

Maintenant, avec Ctrl + F11 , le gestionnaire de fenêtres contrôle le comportement plein écran, sauf en chrome.

2
Robert Riedl