Að leysa vandamálið með því að skipta með alt+shift í Linux, í rafeindaforritum

Halló félagar!

Ég vil deila lausn minni á vandamálinu sem tilgreint er í titlinum. Ég fékk innblástur til að skrifa þessa grein af samstarfsmanni brnovk, sem var ekki latur og bauð að hluta (fyrir mig) lausn á vandanum. Ég bjó til mína eigin „hækju“ sem hjálpaði mér. Ég er að deila með þér.

Lýsing á vandamálinu

Ég notaði Ubuntu 18.04 til vinnu og tók nýlega eftir því að þegar skipt var um skipulag með alt+shift í forritum eins og Visual Studio Code, Skype, Slack og öðrum sem voru búnar til með rafeindabúnaði kemur eftirfarandi vandamál upp: fókus frá innsláttarreitnum fer efst spjaldið í glugganum (valmynd). Af öðrum ástæðum flutti ég yfir í Fedora + KDE og áttaði mig á því að vandamálið var ekki horfið. Þegar ég leitaði að lausn fann ég frábæra grein Hvernig á að laga Skype sjálfur. Kærar þakkir félagi brnovk, sem talaði ítarlega um vandamálið og deildi aðferð sinni við að leysa hann. En aðferðin sem tilgreind er í greininni leysti vandamálið með aðeins einu forriti, nefnilega Skype. Fyrir mig var það líka mikilvægt að skilja Visual Studio Code, því að skrifa skilaboð með stökkvalmynd, þótt pirrandi, er ekki svo mikið ef þú tekur þátt í þróun. Auk þess stakk samstarfsmaður upp á lausn þar sem forritavalmyndin hverfur alveg og ég myndi í rauninni ekki vilja missa valmyndina í VS kóða.

Reyndi að skilja hvað er að

Svo ég ákvað að gefa mér tíma til að átta mig á hvað væri í gangi. Nú mun ég lýsa í stuttu máli leiðinni sem ég fór, kannski mun einhver fróðari í þessu máli hjálpa til við að útskýra erfiðleikana sem ég lenti í.

Ég opnaði Visual Studio Code og byrjaði að smella á mismunandi Alt+<%something%> samsetningar til að sjá hvernig forritið svaraði. Í næstum öllum tilfellum virkuðu allar samsetningar nema Alt+Shift án þess að missa fókus. Það virtist eins og einhver væri að borða ýttu Shift, sem fylgdi eftir að hafa haldið niðri Alt, og forritið hélt að ég ýtti á Alt, ýtti síðan á ekki neitt, sleppti Alt og það kastaði fókusnum mínum glaður inn í valmyndina, sem virtist alveg rökrétt að það.

Ég opnaði stillingarnar til að skipta um lyklaborðsuppsetningu (þú veist, þessi langi listi með gátreitum og alls kyns stillingum fyrir lykla) og stillti það þannig að það skipti um útlit með Alt takkanum, án þess að smella meira.

Að leysa vandamálið með því að skipta með alt+shift í Linux, í rafeindaforritum

Eftir það hætti Alt+Tab til að skipta um glugga að virka. Aðeins Tab virkaði, það er, einhver „át“ Alt minn aftur. Það voru engar spurningar eftir um hver þessi „einhver“ væri, en ég hafði ekki hugmynd um hvað væri hægt að gera við hann.

En þar sem vandamálið þurfti að leysa einhvern veginn, þá kom lausn upp í hugann:

  1. Í stillingunum, slökktu á flýtilykillinn til að skipta um lyklaborðsuppsetningu (hafðu hakið úr öllum gátreitum í hlutanum Skipta yfir í annað útlit);
  2. Búðu til þinn eigin flýtilykil sem myndi skipta um skipulag fyrir mig

Lýsing á lausninni

Fyrst skulum við setja upp forrit sem gerir þér kleift að úthluta skipunum á Xbindkeys lyklana. Því miður leyfðu venjuleg verkfæri mér ekki að búa til flýtilykla fyrir samsetningu eins og Alt+Shift í gegnum fallegt viðmót. Hægt að gera fyrir Alt+S, Alt+1, Alt+shift+Y osfrv. frv., en þetta hentar ekki okkar verkefni.

sudo dnf install xbindkeysrc

Nánari upplýsingar um það eru fáanlegar á ArchWiki
Næst munum við búa til sýnishorn af stillingaskrá fyrir forritið. Sýnishornið er frekar stutt, með nokkrum skipunum, bara það sem þú þarft til að finna út hvernig á að vinna með það:

xbindkeys -d > ~/.xbindkeysrc

Eins og þú sérð af dæminu í skránni þurfum við að gefa til kynna flýtilykilinn sem við viljum nota og skipunina sem ætti að framkvæma. Lítur einfalt út.


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

Sem flýtilykill geturðu notað læsilegt skrif eða notað lykilkóða. Það virkaði bara fyrir mig með kóða, en enginn bannar þér að gera smá tilraunir.

Til að fá kóðana þarftu að nota skipunina:

xbindkeys -k

Lítill „X“ gluggi opnast. Þú þarft aðeins að ýta á takka þegar fókusinn er á þessum glugga! Aðeins í þessu tilfelli muntu sjá eitthvað eins og þetta í flugstöðinni:


[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

Í mínu tilviki lítur Alt+Shift lyklasamsetningin svona út:

m:0x8 + c:50

Nú þurfum við að ganga úr skugga um að þegar þú smellir á þessa samsetningu breytist útlitið. Ég fann aðeins eina virka skipun til að tilgreina skipulagið:


setxkbmap ru
setxkbmap us

Eins og þú sérð af dæminu getur það aðeins virkjað eitt eða annað skipulag, þannig að mér datt ekkert í hug annað en að skrifa handrit.


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

Nú, ef .xbindkeysrc og layout.sh skrárnar eru staðsettar í sömu möppu, þá lítur lokasýn .xbindkeysrc skráarinnar svona út:


# 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

Eftir það beitum við breytingunum:


xbindkeys -p

Og þú getur athugað. Ekki gleyma að slökkva á öllum valkostum til að skipta um skipulag í stöðluðu stillingunum.

Samtals

Félagar, ég vona að þessi grein geti hjálpað einhverjum að losna fljótt við pirrandi vandamál. Sjálfur eyddi ég allan frídaginn minn í að reyna að finna út úr og leysa vandamálið einhvern veginn, svo að ég yrði ekki lengur trufluð af því á vinnutíma. Ég skrifaði þessa grein til að spara einhverjum tíma og taugar. Mörg ykkar nota aðra aðferð til að skipta um skipulag og skilja ekki hvað vandamálið er. Mér persónulega finnst gaman að skipta með Alt+Shift. Og þannig vil ég að þetta virki. Ef þú deilir skoðun minni og stendur frammi fyrir þessu vandamáli ætti þessi grein að hjálpa þér.

Heimild: www.habr.com

Bæta við athugasemd