Kugadzirisa dambudziko nekuchinja uchishandisa alt + shift muLinux, mune Electron application

Mhoro vaunoshanda navo!

Ndinoda kugovera mhinduro yangu kune dambudziko rinoratidzwa mumusoro. Ndakafemerwa kunyora chinyorwa ichi nemumwe wandinoshanda naye brnovk, uyo akanga asina usimbe uye akapa chidimbu (changu) mhinduro kudambudziko. Ndakagadzira “crutch” yangu yakandibatsira. Ndiri kugoverana newe.

Tsanangudzo yedambudziko

Ndakashandisa Ubuntu 18.04 yebasa uye nguva pfupi yadarika ndakaona kuti pakuchinja marongero uchishandisa alt + chinja mumashandisirwo akadai seVisual Studio Code, Skype, Slack uye mamwe akagadzirwa achishandisa Electron, dambudziko rinotevera rinoitika: kutarisa kubva kumunda wekuisa unoenda kumusoro. pani yehwindo (menu). Nezvimwe zvikonzero, ndakatamira kuFedora + KDE ndikaona kuti dambudziko rakanga risati raenda. Ndichitsvaka mhinduro, ndakawana chinyorwa chinoshamisa Maitiro ekugadzirisa Skype iwe pachako. Ndatenda sahwira brnovk, uyo akataura zvakadzama nezvedambudziko racho uye akagovera nzira yake yokuripedza nayo. Asi nzira yakaratidzwa muchinyorwa yakagadzirisa dambudziko nechishandiso chimwe chete, icho chinonzi Skype. Kwandiri, zvaive zvakakoshawo kuti ndinzwisise Visual Studio Code, nekuti kunyora mameseji neanosvetuka menyu, kunyangwe zvichitsamwisa, hazvina kunyanya kana iwe uchibatanidzwa mukusimudzira. Uyezve, mumwe waanoshanda naye akakurudzira mhinduro umo menyu yekushandisa inonyangarika zvachose, uye ini handingadi chaizvo kurasikirwa nemenyu muVS Code.

Ndakaedza kunzwisisa kuti chii chakashata

Saka, ndakasarudza kutora nguva kuti ndione kuti chii chaiitika. Iye zvino ndichatsanangura muchidimbu nzira yandakatora, zvichida mumwe munhu ane ruzivo munyaya iyi achabatsira kutsanangura matambudziko andakasangana nawo.

Ndakavhura Visual Studio Code ndokutanga kurova akasiyana Alt+<%something%> masanganiswa kuti ndione kuti chikumbiro chapindura sei. Munenge mune zvese zviitiko, ese masanganiswa kunze kweAlt + Shift akashanda pasina kurasikirwa nekutarisa. Zvaiita sekunge mumwe munhu aidya yakadzvanywa Shift, iyo yakatevera mushure mekubata pasi Alt, uye application yakafunga kuti ndakadzvanya Alt, ndikasadzvanya chero chinhu, yakaburitsa Alt uye yakakanda pfungwa yangu nemufaro mumenyu yayo, iyo yaiita seine musoro it.

Ndakavhura zvigadziriso zvekuchinja zvigadziriso zvekhibhodi (iwe unoziva, iyi refu runyoro ine mabhokisi ekutarisa uye ese marudzi ezvigadziro zvekiyi) uye akaimisa kuti ichinje marongero uchishandisa iyo Alt bhatani, pasina kumwe kudzvanya.

Kugadzirisa dambudziko nekuchinja uchishandisa alt + shift muLinux, mune Electron application

Mushure meizvozvo, Alt + Tab yekushandura windows yakamira kushanda. Chete Tab yakashanda, kureva kuti, mumwe munhu "akadya" Alt yangu zvakare. Pakanga pasina mibvunzo yakasara pamusoro pokuti “mumwe munhu” uyu aiva ani, asi ndakanga ndisingazivi kuti chii chaigona kuitwa naye.

Asi sezvo dambudziko raifanira kugadziriswa neimwe nzira, ipapo mhinduro yakauya mupfungwa:

  1. Mune zvigadziriso, dzima hotkey yekuchinja keyboard marongero (usatarise ese mabhokisi ekutarisa muChinja kune imwe dhizaini chikamu);
  2. Gadzira yako hotkey iyo yaizochinja marongerwo ini

Tsanangudzo yemhinduro

Kutanga, ngatiise chirongwa chinokutendera kuti upe mirairo kune makiyi eXbindkeys. Nehurombo, maturusi akajairwa haana kunditendera kugadzira hotkey yemusanganiswa seAlt + Shift kuburikidza neinoyevedza interface. Inogona kuitirwa Alt+S, Alt+1, Alt+shift+Y, nezvimwe. nezvimwewo, asi izvi hazvina kukodzera basa redu.

sudo dnf install xbindkeysrc

Mamwe mashoko pamusoro payo anowanikwa pa ArchWiki
Tevere, isu tichagadzira sampuli yekuseta faira yechirongwa. Sample ipfupi, ine mirairo mishoma, izvo zvaunoda kuti uone kuti ungashanda sei nazvo:

xbindkeys -d > ~/.xbindkeysrc

Sezvauri kuona kubva pamuenzaniso mufaira, tinoda kuratidza hotkey yatinoda kushandisa uye murairo unofanirwa kuurayiwa. Inotaridzika nyore.


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

Sehotkey, unogona kushandisa kunyora-kuverengeka kwevanhu kana kushandisa makiyi makodhi. Yakashanda kwandiri chete nemakodhi, asi hapana anokurambidza kuedza zvishoma.

Kuti uwane makodhi iwe unofanirwa kushandisa murairo:

xbindkeys -k

Hwindo diki "X" richavhurwa. Iwe unongoda kudzvanya makiyi kana tarisiro iri pahwindo iri! Muchiitiko ichi chete iwe uchaona chimwe chinhu chakadai mune 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

Mune yangu, iyo Alt + Shift kiyi musanganiswa inotaridzika seizvi:

m:0x8 + c:50

Zvino isu tinofanirwa kuve nechokwadi chekuti kana iwe uchidzvanya pane iyi musanganiswa, iyo marongerwo inochinja. Ndakawana murairo mumwe chete wekushanda kutsanangura marongerwo:


setxkbmap ru
setxkbmap us

Sezvauri kuona kubva pamuenzaniso, inogona chete kugonesa imwe kana imwe dhizaini, saka hapana chakauya mupfungwa dzangu kunze kwekunyora script.


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

Zvino, kana mafaira e.xbindkeysrc uye layout.sh ari mudhairekitori rimwe chete, zvino maonero ekupedzisira e.xbindkeysrc faira anoita seizvi:


# 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

Mushure meizvozvo, isu tinoshandisa shanduko:


xbindkeys -p

Uye iwe unogona kutarisa. Usakanganwa kudzima chero sarudzo dzekuchinja marongero mune yakajairwa marongero.

Mugumisiro

Shamwari, ndinovimba kuti chinyorwa ichi chinogona kubatsira mumwe munhu nekukurumidza kubvisa dambudziko rinogumbura. Ini pachangu, ndakapedza zuva rangu rose ndichiedza kufunga uye kugadzirisa dambudziko neimwe nzira, kuitira kuti ndisazovhiringidzwa nazvo panguva yekushanda. Ndakanyora chinyorwa ichi kuchengetedza munhu nguva uye tsinga. Vazhinji venyu munoshandisa imwe nzira yekuchinja marongerwo uye hamunzwisise kuti dambudziko nderei. Ini pachangu ndinoda kuchinja neAlt + Shift. Uye ndizvo zvandinoda kuti zvishande. Kana iwe uchigovana maonero angu uye wakatarisana nedambudziko iri, chinyorwa ichi chinofanira kukubatsira.

Source: www.habr.com

Voeg