Alt+shift erabiliz aldatzearen arazoa konpontzea Linux-en, Electron aplikazioetan

Kaixo lankideok!

Izenburuan adierazten den arazoaren konponbidea partekatu nahi dut. Artikulu hau lankide batek inspiratu ninduen brnovk, alferra ez zena eta arazoari irtenbide partziala (niri) eskaini zion. Nire β€œmakulu” propioa egin nuen eta horrek lagundu zidan. Zurekin partekatzen ari naiz.

Arazoaren deskribapena

Ubuntu 18.04 erabili nuen lanerako eta duela gutxi ikusi nuen diseinuak aldatzean alt+shift erabiliz Visual Studio Code, Skype, Slack eta Electron erabiliz sortu ziren beste aplikazioetan, honako arazo hau gertatzen dela: fokua sarrerako eremutik goialdera doa. leihoko panela (menua). Beste arrazoi batzuengatik, Fedora + KDEra joan nintzen eta konturatu nintzen arazoa ez zela desagertu. Irtenbide baten bila, artikulu zoragarri bat aurkitu dut Nola konpondu Skype zuk zeuk. Mila esker kamarada brnovk, arazoari buruz zehatz-mehatz hitz egin zuen eta hura konpontzeko bere metodoa partekatu zuen. Baina artikuluan adierazitako metodoak aplikazio bakarrarekin konpondu zuen arazoa, Skype alegia. Niretzat, Visual Studio Code ulertzea ere ezinbestekoa izan zen, zeren eta menu jauzi batekin mezuak idaztea, gogaikarria izan arren, ez baita horrenbeste garapenean parte hartzen baduzu. Gainera, lankide batek aplikazioaren menua guztiz desagertzen den irtenbide bat proposatu zuen, eta ez nuke benetan VS Codeko menua galdu nahi.

Oker dagoena ulertzen saiatu da

Beraz, zer gertatzen ari zen jakiteko denbora hartzea erabaki nuen. Orain laburki deskribatuko dut hartu nuen bidea, agian gai honetan adituago batek lagunduko du aurkitu ditudan zailtasunak azaltzen.

Visual Studio Code ireki eta Alt+<%something%> konbinazio desberdinak sakatzen hasi nintzen aplikazioak nola erantzun zuen ikusteko. Ia kasu guztietan, Alt+Maius izan ezik konbinazio guztiek funtzionatu zuten fokua galdu gabe. Bazirudien norbaitek sakatutako Shift jaten ari zela, Alt sakatu ondoren jarraitu zuena, eta aplikazioak Alt sakatu nuela pentsatu zuen, gero ez nuela ezer sakatu, Alt askatu eta poz-pozik jarri zuen nire arreta bere menura, nahiko logikoa iruditu zitzaidala. hura.

Teklatuaren diseinuak aldatzeko ezarpenak ireki nituen (badakizu, zerrenda luze hau kontrol-laukiekin eta teklen ezarpen mota guztietakoak) eta Alt botoia erabiliz diseinuak aldatzeko ezarri nuen, klik gehigarririk gabe.

Alt+shift erabiliz aldatzearen arazoa konpontzea Linux-en, Electron aplikazioetan

Horren ostean, Alt+Tab leihoak aldatzeko funtzionatzeari utzi zion. Tabek bakarrik funtzionatu zuen, hau da, norbaitek nire Alt berriro "jan" zuen. Ez zen galderarik geratzen β€œnorbait” hori nor zen, baina ez nekien zer egin zitekeen harekin.

Baina arazoa nolabait konpondu behar zenez, orduan irtenbide bat etorri zitzaidan burura:

  1. Ezarpenetan, desgaitu laster-tekla teklatuaren diseinuak aldatzeko (desmarkatu Aldatu beste diseinu batera atalean kontrol-lauki guztiak);
  2. Sortu zure laster-tekla, diseinua aldatuko didana

Irtenbidearen deskribapena

Lehenik eta behin, instalatu dezagun Xbindkeys teklei komandoak esleitzeko aukera ematen dizun programa. Zoritxarrez, tresna estandarrek ez zidaten aukera ematen Alt+Shift bezalako konbinazio baterako laster-tekla bat sortzeko interfaze eder baten bidez. Alt+S, Alt+1, Alt+shift+Y eta abarretarako egin daiteke. etab., baina hau ez da egokia gure zereginerako.

sudo dnf install xbindkeysrc

Honi buruzko xehetasun gehiago hemen daude eskuragarri ArchWiki
Ondoren, programaren ezarpen-fitxategi lagin bat sortuko dugu. Lagina nahiko laburra da, komando gutxirekin, horrekin nola lan egin jakiteko behar duzuna:

xbindkeys -d > ~/.xbindkeysrc

Fitxategiko adibidean ikus dezakezun bezala, erabili nahi dugun laster-tekla eta exekutatu behar den komandoa adierazi behar dugu. Sinplea dirudi.


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

Laster-tekla gisa, gizakiek irakur daitekeen idazkera erabil dezakezu edo tekla-kodeak erabil ditzakezu. Kodeekin bakarrik funtzionatu zidan, baina inork ez dizu debekatzen pixka bat esperimentatzea.

Kodeak lortzeko komandoa erabili behar duzu:

xbindkeys -k

"X" leiho txiki bat irekiko da. Teklak sakatu behar dituzu fokua leiho honetan dagoenean! Kasu honetan bakarrik ikusiko duzu horrelako zerbait terminalean:


[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

Nire kasuan, Alt+Maius tekla konbinazioak honela dauka:

m:0x8 + c:50

Orain konbinazio honetan klik egiten duzunean diseinua aldatzen dela ziurtatu behar dugu. Lan-komando bakarra aurkitu dut diseinua zehazteko:


setxkbmap ru
setxkbmap us

Adibidetik ikusten denez, diseinu bat edo beste gaitu besterik ez dago, beraz, ez zait burura ezer gidoi bat idaztea baino.


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

Orain, .xbindkeysrc eta layout.sh fitxategiak direktorio berean kokatzen badira, .xbindkeysrc fitxategiaren azken ikuspegia honelakoa izango da:


# 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

Horren ondoren aldaketak aplikatuko ditugu:


xbindkeys -p

Eta egiaztatu dezakezu. Ez ahaztu ezarpen estandarretan diseinuak aldatzeko edozein aukera desgaitzea.

Guztira

Lankideok, espero dut artikulu honek norbaiti arazo gogaikarri bat azkar kentzen lagun diezaiokeela. Pertsonalki, egun osoa eman nuen arazoa nolabait asmatzen eta konpontzen saiatzen, lanorduetan gehiago distraituko ez nezan. Artikulu hau idatzi dut norbaiti denbora eta nerbioak aurrezteko. Zuetako askok diseinuak aldatzeko metodo alternatibo bat erabiltzen duzue eta ez duzue arazoa zein den ulertzen. Niri pertsonalki Alt+Shift-ekin aldatzea gustatzen zait. Eta horrela nahi dut funtzionatzea. Nire iritzia partekatzen baduzu eta arazo honen aurrean bazaude, artikulu honek lagundu beharko dizu.

Iturria: www.habr.com

Gehitu iruzkin berria