D'Léisung vum Problem mam Wiessel mat alt + Shift am Linux, an Elektronen Uwendungen

Moien Kollegen!

Ech wëll meng Léisung fir de Problem deelen, deen am Titel uginn ass. Ech war inspiréiert dësen Artikel vun engem Kolleg ze schreiwen brnovk, deen net faul war an eng deelweis (fir mech) Léisung vum Problem ugebueden huet. Ech hunn meng eegen "Krëpp" gemaach, déi mir gehollef huet. Ech deele mat Iech.

Beschreiwung vum Problem

Ech hunn Ubuntu 18.04 fir Aarbecht benotzt a viru kuerzem gemierkt datt wann Dir Layouten mat alt + Shift wiesselt an Uwendungen wéi Visual Studio Code, Skype, Slack an anerer, déi mat Elektron erstallt goufen, de folgende Problem geschitt: de Fokus vum Inputfeld geet no uewen Panel vun der Fënster (Menü). Aus anere Grënn sinn ech op Fedora + KDE geplënnert a realiséiert datt de Problem net fortgaang ass. Wärend ech no enger Léisung gesicht hunn, hunn ech e wonnerschéinen Artikel fonnt Wéi Dir Skype selwer fixéiert. Villmools Merci Komeroden brnovk, deen am Detail iwwer de Problem geschwat huet a seng Method fir se ze léisen gedeelt huet. Awer d'Method, déi am Artikel uginn ass, huet de Problem mat nëmmen enger Applikatioun geléist, nämlech Skype. Fir mech war et och kritesch fir Visual Studio Code ze verstoen, well Messagen mat engem Sprangmenü schreiwen, och wann et lästeg ass, ass net sou vill wann Dir un der Entwécklung involvéiert sidd. Plus, e Kolleg huet eng Léisung virgeschloen, an där den Applikatiounsmenü komplett verschwënnt, an ech wéilt net wierklech de Menü am VS Code verléieren.

Probéiert ze verstoen wat falsch ass

Also hunn ech beschloss d'Zäit ze huelen fir erauszefannen wat lass war. Elo wäert ech kuerz de Wee beschreiwen, deen ech gemaach hunn, vläicht wäert een méi Wëssen an dëser Matière hëllefen d'Schwieregkeeten z'erklären, déi ech begéint hunn.

Ech hunn de Visual Studio Code opgemaach an hunn ugefaang verschidden Alt + <% eppes%> Kombinatiounen ze schloen fir ze kucken wéi d'Applikatioun reagéiert. An bal all Fäll, all Kombinatioune ausser Alt + Verréckelung geschafft ouni konzentréieren verléieren. Et huet geschéngt wéi wann iergendeen de gedréckte Shift giess huet, dee gefollegt huet nodeems Dir Alt gedréckt huet, an d'Applikatioun huet geduecht datt ech Alt dréckt, dunn näischt dréckt, Alt fräigelooss an et huet mäi Fokus a säi Menü geheit, wat ganz logesch ausgesinn huet et.

Ech hunn d'Astellunge opgemaach fir Tastatur Layouten ze wiesselen (Dir wësst, dës laang Lëscht mat Checkboxen an all Zorte vun Astellunge fir Schlësselen) a setzen se fir Layouten mat der Alt Knäppchen ze wiesselen, ouni zousätzlech Klick.

D'Léisung vum Problem mam Wiessel mat alt + Shift am Linux, an Elektronen Uwendungen

Duerno huet Alt + Tab fir Windows ze wiesselen opgehalen ze schaffen. Nëmmen Tab huet geschafft, dat heescht, een huet meng Alt erëm "giess". Et waren keng Froen iwwer wien dësen "een" war, mee ech hat keng Ahnung wat mat him gemaach ka ginn.

Mee well de Problem iergendwéi misst geléist ginn, koum eng Léisung am Kapp:

  1. An den Astellungen, deaktivéiert den Hotkey fir Tastatur Layouten ze wiesselen (auschecken all Checkboxen am Wiesselen op en anert Layout Sektioun);
  2. Erstellt Ären eegene Hotkey deen de Layout fir mech schalt

Beschreiwung vun der Léisung

Als éischt, loosst eis e Programm installéieren deen Iech erlaabt Kommandoen un d'Xbindkeys Schlësselen ze ginn. Leider hunn Standard Tools mir net erlaabt eng Hotkey fir eng Kombinatioun wéi Alt + Shift duerch eng schéin Interface ze kreéieren. Kann fir Alt+S, Alt+1, Alt+Shift+Y, etc. etc., mee dat passt net fir eis Aufgab.

sudo dnf install xbindkeysrc

Méi Detailer doriwwer sinn op ArchWiki
Als nächst wäerte mir eng Probe Astellungsdatei fir de Programm erstellen. D'Probe ass zimmlech kuerz, mat e puer Kommandoen, just wat Dir braucht fir erauszefannen wéi Dir domat schafft:

xbindkeys -d > ~/.xbindkeysrc

Wéi Dir aus dem Beispill an der Datei kënnt gesinn, musse mir den Hotkey uginn dee mir benotze wëllen an de Kommando deen ausgefouert soll ginn. Gesäit einfach aus.


# Examples of commands:
"xbindkeys_show"
  control+shift + q
# set directly keycode (here control + f with my keyboard)
"xterm"
  c:41 + m:0x4

Als Hotkey kënnt Dir mënschlech liesbar Schreifweis benotzen oder Schlësselcodes benotzen. Et huet fir mech nëmme mat Coden geschafft, awer keen verbitt Iech e bëssen ze experimentéieren.

Fir d'Coden ze kréien, musst Dir de Kommando benotzen:

xbindkeys -k

Eng kleng "X" Fënster wäert opmaachen. Dir musst just Schlësselen drécken wann de Fokus op dës Fënster ass! Nëmmen an dësem Fall gesitt Dir eppes wéi dëst am 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

A mengem Fall gesäit d'Alt + Shift Tastekombinatioun esou aus:

m:0x8 + c:50

Elo musse mir sécher sinn datt wann Dir op dës Kombinatioun klickt, de Layout wiesselt. Ech hunn nëmmen een Aarbechtskommando fonnt fir de Layout ze spezifizéieren:


setxkbmap ru
setxkbmap us

Wéi Dir aus dem Beispill kënnt gesinn, kann et nëmmen deen een oder aneren Layout aktivéieren, sou datt mir näischt anescht wéi e Skript schreiwen.


vim ~/layout.sh
#!/bin/bash
LAYOUT=$(setxkbmap -print | awk -F + '/xkb_symbols/ {print $2}')
if [ "$LAYOUT" == "ru" ]
        then `/usr/bin/setxkbmap us`
        else `/usr/bin/setxkbmap ru`
fi

Elo, wann d'.xbindkeysrc a layout.sh Dateien am selwechte Verzeichnis sinn, da gesäit d'Finale Vue vun der .xbindkeysrc Datei esou aus:


# Examples of commands:

"xbindkeys_show"
  control+shift + q

# set directly keycode (here control + f with my keyboard)
"xterm"
  c:41 + m:0x4

# specify a mouse button
"xterm"
  control + b:2
#А вот то, что добавил я
"./layout.sh"
  m:0x8 + c:50

Duerno applizéiere mir d'Ännerungen:


xbindkeys -p

An Dir kënnt kontrolléieren. Vergiesst net all Optiounen auszeschalten fir Layouten an de Standardastellungen ze wiesselen.

D 'Resultat

Kollegen, ech hoffen, datt dësen Artikel engem hëllefe kann séier vun engem lästegen Problem lass ze ginn. Ech perséinlech hunn de ganzen Dag drop verbruecht fir de Problem iergendwéi erauszefannen an ze léisen, fir datt ech net méi an der Aarbechtszäit dovun ofgelenkt ginn. Ech hunn dësen Artikel geschriwwen fir een Zäit an Nerven ze spueren. Vill vun iech benotzen eng alternativ Method fir Layouten ze wiesselen a verstinn net wat de Problem ass. Ech perséinlech gär mat Alt + Shift ze wiesselen. An dat ass wéi ech wëll datt et funktionnéiert. Wann Dir meng Meenung deelt a mat dësem Problem konfrontéiert sidd, sollt dësen Artikel Iech hëllefen.

Source: will.com

Setzt e Commentaire