Çareserkirina pirsgirêka veguheztinê bi karanîna alt+shift di Linux de, di serîlêdanên Electron de

Silav hevalno!

Ez dixwazim çareseriya xwe ya pirsgirêka ku di sernavê de hatî destnîşan kirin re parve bikim. Min îlham girt ku ez vê gotarê ji hêla hevkarek xwe ve binivîsim brnovk, yê ku ne tembel bû û çareseriyek qismî (ji bo min) ji pirsgirêkê re pêşkêş kir. Min bi xwe "kûçik" çêkir ku alîkariya min kir. Ez bi we re parve dikim.

Dîroka pirsgirêka

Min Ubuntu 18.04 ji bo xebatê bikar anî û vê dawîyê bala xwe dayê ku dema ku di sepanên wekî Visual Studio Code, Skype, Slack û yên din ên ku bi karanîna Electron ve hatine afirandin de layoutan bi karanîna alt+shift veguhezînin, pirsgirêka jêrîn çêdibe: baldarî ji qada têketinê ber bi jor ve diçe. panela pencereyê (menu). Ji ber sedemên din, min bar kir Fedora + KDE û min fêm kir ku pirsgirêk ji holê ranebûye. Dema ku li çareseriyê digerim, min gotarek ecêb dît Meriv çawa Skype-ê bi xwe rast dike. Gelek spas rêheval brnovk, ku bi berfirehî li ser pirsgirêkê axivî û rêbaza xwe ya çareseriyê parve kir. Lê rêbaza ku di gotarê de hatî destnîşan kirin pirsgirêk bi tenê yek serîlêdanê, ango Skype, çareser kir. Ji bo min, di heman demê de fêhmkirina Visual Studio Code-ê jî krîtîk bû, ji ber ku nivîsandina peyaman bi pêşekek bazdanê re, her çend aciz be jî, heke hûn beşdarî pêşkeftinê bibin ne ew qas e. Zêdeyî, hevkarek çareseriyek pêşniyar kir ku tê de menuya serîlêdanê bi tevahî winda dibe, û ez bi rastî naxwazim menuê di VS Code de winda bikim.

Hewl da ku fêm bike ka çi xelet e

Ji ber vê yekê, min biryar da ku wextê xwe veqetînim da ku fam bikim ka çi diqewime. Naha ez ê bi kurtasî riya ku min girtiye vebêjim, dibe ku kesek di vê mijarê de zanatir bibe alîkar ku ez zehmetiyên ku ez pê re rû bi rû mam şirove bike.

Min Code Visual Studio vekir û dest bi lêdana Alt+<%something%> kombînasyonan kir ku bibînim ka serîlêdanê çawa bersiv da. Hema hema di hemî rewşan de, hemî berhevok ji bilî Alt + Shift bêyî ku bala xwe winda bikin xebitîn. Wusa dixuye ku kesek Shift-ya çapkirî dixwe, ya ku li dû girtina Alt-ê li pey xwe hişt, û serîlêdanê difikirî ku min Alt pêl kir, dûv re tiştek pê nexist, Alt serbest berda û ew bi kêfxweşî bala min avêt menuya xwe, ya ku pir mentiqî xuya bû. ew.

Min mîhengên guheztina sêwiranên klavyeyê vekir (hûn dizanin, ev navnîşa dirêj a bi qutikên kontrolê û hemî cûrbecûr mîhengên bişkokan re) vekir û ew saz kir ku bi bişkoka Alt, bêyî klîkek zêde, sêwiranan biguhezîne.

Çareserkirina pirsgirêka veguheztinê bi karanîna alt+shift di Linux de, di serîlêdanên Electron de

Piştî wê, Alt+Tab ji bo guheztina pencereyan xebata xwe rawestand. Tenê Tab xebitî, ango kesek dîsa Alt-a min "xwar". Pirs nebûn ka ev "kes" kî ye, lê min nizanibû ku çi dikare bi wî re were kirin.

Lê ji ber ku diviyabû pirsgirêk bi rengekî bê çareserkirin, wê hingê çareseriyek hate bîra me:

  1. Di mîhengan de, ji bo guheztina sêwiranên klavyeyê bişkojka neçalak bike (hemû qutikên kontrolê yên di beşa Veguheztina li ser sêwirana din de rakin);
  2. Bişkojka xweya germê biafirîne ku dê ji bo min layoutê biguherîne

Danasîna çareseriyê

Pêşîn, em bernameyek saz bikin ku destûrê dide te ku hûn fermanan li bişkokên Xbindkeys bidin. Mixabin, amûrên standard nehiştin ku ez bi navgînek xweşikek ji bo berhevokek mîna Alt + Shift biafirînim. Dikare ji bo Alt+S, Alt+1, Alt+shift+Y, hwd were kirin. hwd., lê ev ji bo karê me ne guncaw e.

sudo dnf install xbindkeysrc

Zêdetir hûrgulî di derbarê wê de hene ArchWiki
Piştre, em ê ji bo bernameyê pelek mîhengên nimûne biafirînin. Nimûne pir kurt e, bi çend fermanan re, tenê ya ku hûn hewce ne ku hûn fêr bibin ka meriv çawa pê re dixebite:

xbindkeys -d > ~/.xbindkeysrc

Wekî ku hûn ji mînaka pelê jî dibînin, pêdivî ye ku em bişkojka germ a ku em dixwazin bikar bînin û fermana ku divê were darve kirin destnîşan bikin. Hêsan xuya dike.


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

Wekî bişkojka germ, hûn dikarin nivîsandina ku ji hêla mirovan ve tê xwendin bikar bînin an jî kodên sereke bikar bînin. Ew ji min re tenê bi kodan re xebitî, lê kes qedexe nake ku hûn piçek ceribandinê bikin.

Ji bo ku hûn kodan bistînin hûn hewce ne ku emrê bikar bînin:

xbindkeys -k

Dê pencereyek piçûk "X" vebe. Dema ku balê li ser vê pencereyê be, hûn tenê hewce ne ku bişkokan bişkînin! Tenê di vê rewşê de hûn ê di termînalê de tiştek weha bibînin:


[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

Di doza min de, kombînasyona bişkojka Alt + Shift bi vî rengî xuya dike:

m:0x8 + c:50

Naha pêdivî ye ku em pê ewle bin ku gava hûn li ser vê berhevokê bikirtînin, layout diguhere. Min tenê yek fermanek xebatê dît ku sêwiranê diyar bike:


setxkbmap ru
setxkbmap us

Wekî ku hûn ji nimûneyê dibînin, ew tenê dikare yek an sêwiranek din çalak bike, ji ber vê yekê ji bilî nivîsandina senaryoyekê tiştek nehat bîra min.


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

Naha, heke pelên .xbindkeysrc û layout.sh di heman pelrêçayê de bin, wê hingê dîmena dawî ya pelê .xbindkeysrc wiha xuya dike:


# 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

Piştî vê yekê em guhertinan bicîh dikin:


xbindkeys -p

Û hûn dikarin kontrol bikin. Ji bîr nekin ku hûn vebijarkên ji bo guheztina sêwiranan di mîhengên standard de neçalak bikin.

Encam

Hevalno, ez hêvî dikim ku ev gotar dikare alîkariya yekî bike ku zû ji pirsgirêkek aciz xilas bibe. Bi kesane, min tevahiya roja xwe ya betlaneyê derbas kir ku ez pirsgirêkê bi rengekî fêhm bikim û çareser bikim, da ku ez di demjimêrên xebatê de êdî bala min nekişîne. Min ev gotar nivîsî da ku dem û nerva kesek xilas bike. Gelek ji we rêbazek alternatîf a guheztina sêwiran bikar tînin û fam nakin pirsgirêk çi ye. Ez bixwe dixwazim bi Alt + Shift re biguherim. Û bi vî awayî ez dixwazim ku ew bixebite. Ger hûn nêrîna min parve bikin û bi vê pirsgirêkê re rû bi rû ne, ev gotar divê ji we re bibe alîkar.

Source: www.habr.com

Add a comment