Bonjour collègues!
Je veux partager pour partager ma solution au problème, qui est indiquée dans l'en-tête. L'article a été inspiré par un collègue
brnovk , qui n'était pas trop paresseux et a suggéré une solution partielle (pour moi) au problème. J'ai fait ma "béquille" qui m'a aidé. Je partage avec vous.
Description du problème
J'ai utilisé Ubuntu 18.04 pour travailler et j'ai récemment remarqué que lors du changement de mises en page par alt + shift dans des applications telles que Visual Studio Code, Skype, Slack et d'autres qui ont été créées à l'aide d'Electron, le problème suivant se pose: le focus du champ de saisie va à panneau supérieur de la fenêtre (menu). Pour d'autres raisons, je suis passé à Fedora + KDE et j'ai réalisé que le problème ne s'était pas résolu. À la recherche d'une solution, j'ai trouvé un merveilleux article
Do it yourself Skype . Un grand merci au camarade
brnovk pour avoir expliqué en détail le problème et partagé sa manière de le résoudre. Mais la méthode spécifiée dans l'article a couvert la question avec une seule application, à savoir Skype. Il était toujours essentiel pour moi de traiter avec Visual Studio Code, car écrire des messages avec un menu de rebond est ennuyeux, mais pas tellement si vous développez. De plus, un collègue a proposé une solution dans laquelle le menu de l'application disparaît complètement, mais je ne voudrais pas vraiment perdre le menu dans VS Code.
J'ai essayé de comprendre quel était le problème
J'ai donc décidé de prendre le temps et de comprendre ce qui se passait. Je vais maintenant décrire brièvement la voie que j'ai empruntée, peut-être que quelqu'un de plus compétent en la matière aidera à clarifier les difficultés que j'ai rencontrées.
J'ai ouvert Visual Studio Code et commencé à cliquer sur différentes combinaisons Alt + <% something%>, en regardant la réaction de l'application. Dans presque tous les cas, toutes les combinaisons, sauf Alt + Maj, ont fonctionné sans perte de mise au point. Il semblait que quelqu'un mange le Shift pressé, qui a suivi après avoir maintenu et maintenu Alt et l'application pense que j'ai appuyé sur Alt, puis n'a rien appuyé, lâché Alt et il a jeté joyeusement ma concentration dans son menu, ce qui lui semblait logique.
J'ai ouvert les paramètres de commutation de la disposition du clavier (enfin, vous connaissez cette longue liste avec des cases à cocher et toutes sortes de paramètres pour les touches) et j'ai réglé la commutation de la disposition du clavier par le bouton Alt, sans aucune pression supplémentaire.

Après cela, Alt + Tab a cessé de fonctionner pour changer de fenêtre. Seul Tab a fonctionné, c'est-à-dire que quelqu'un a de nouveau «mangé» mon Alt. Qui ce «quelqu'un» n'avait plus de questions, mais je n'ai aucune idée de ce qui peut être fait avec lui.
Mais comme le problème devait être résolu au moins d'une manière ou d'une autre, la solution m'est venue à l'esprit:
- Dans les paramètres, désactivez la touche de raccourci pour changer la disposition du clavier (supprimez toutes les cases à cocher dans la section Passer à une autre disposition);
- Créez votre propre raccourci clavier pour changer ma disposition
Description de la solution
Tout d'abord, installez un programme qui vous permet d'assigner des commandes aux clés Xbindkeys. Malheureusement, les outils standard ne m'ont pas permis de créer un raccourci clavier pour une combinaison du type Alt + Shift via une belle interface. Peut être fait pour Alt + S, Alt + 1, Alt + shift + Y, etc. etc., mais cela ne convient pas à notre tâche.
sudo dnf install xbindkeysrc
En savoir plus sur
ArchWikiEnsuite, créez un exemple de fichier de paramètres pour le programme. L'exemple est assez court, avec juste quelques commandes juste ce dont vous avez besoin pour comprendre comment travailler avec lui:
xbindkeys -d > ~/.xbindkeysrc
Comme vous pouvez le voir dans l'exemple qui se trouve dans le fichier, nous devons spécifier le raccourci clavier que nous voulons utiliser et la commande qui doit être exécutée. Ça a l'air simple.
En tant que raccourci clavier, vous pouvez utiliser une orthographe lisible par l'homme ou utiliser des codes clés. Cela n'a fonctionné pour moi qu'avec des codes, mais personne ne vous interdit d'expérimenter un peu.
Pour obtenir les codes, vous devez utiliser la commande:
xbindkeys -k
Une petite fenêtre "X" s'ouvrira. Il vous suffit d'appuyer sur les touches en mettant l'accent sur cette fenêtre! Seulement dans ce cas, vous verrez quelque chose comme ça dans le terminal:
[podkmax@localhost ~]$ xbindkeys -k Press combination of keys or/and click under the window. You can use one of the two lines after "NoCommand" in $HOME/.xbindkeysrc to bind a key. "(Scheme function)" m:0x4 + c:39 Control + s
Dans mon cas, le raccourci clavier Alt + Maj ressemble à ceci:
m:0x8 + c:50
Vous devez maintenant vous assurer que lorsque vous cliquez sur cette combinaison, la disposition est changée exactement. J'ai trouvé une seule commande de travail pour spécifier la mise en page:
setxkbmap ru setxkbmap us
Comme vous pouvez le voir dans l'exemple, elle ne sait que comment activer l'une ou l'autre disposition, donc rien ne m'est venu à l'esprit sauf pour écrire un script.
vim ~/layout.sh
Maintenant, si les fichiers .xbindkeysrc et layout.sh se trouvent dans le même répertoire, la forme finale du fichier .xbindkeysrc ressemble à ceci:
Après cela, appliquez les modifications:
xbindkeys -p
Et vous pouvez vérifier. N'oubliez pas de désactiver les options de changement de disposition dans les paramètres par défaut.
Résumé
Chers collègues, j'espère que cet article peut aider quelqu'un à se débarrasser rapidement du problème ennuyeux. Personnellement, j'ai passé ma journée entière à régler et à résoudre le problème d'une manière ou d'une autre, afin de ne plus être distrait par cela pendant les heures de travail. J'ai écrit cet article afin de faire gagner du temps et des nerfs à quelqu'un. Beaucoup d'entre vous utilisent une autre manière de changer de disposition et ne comprennent pas quel est le problème. Personnellement, j'aime changer Alt + Shift. Et je veux que ça fonctionne comme ça. Si vous partagez mon opinion et avez rencontré ce problème, cet article devrait vous aider.