Kutatua tatizo kwa kubadili kwa kutumia alt+shift katika Linux, katika programu za Electron

Habari wenzangu!

Ninataka kushiriki suluhisho langu kwa shida ambayo imeonyeshwa kwenye kichwa. Nilitiwa moyo kuandika makala hii na mfanyakazi mwenzangu brnovk, ambaye hakuwa mvivu na alitoa suluhisho la sehemu (kwa ajili yangu) kwa tatizo. Nilitengeneza β€œmkongojo” wangu mwenyewe ambao ulinisaidia. Ninashiriki nawe.

Maelezo ya tatizo

Nilitumia Ubuntu 18.04 kwa kazi na hivi majuzi niligundua kuwa wakati wa kubadilisha mpangilio kwa kutumia alt+shift katika programu kama vile Visual Studio Code, Skype, Slack na zingine ambazo ziliundwa kwa kutumia Electron, shida ifuatayo inatokea: kuzingatia kutoka kwa uwanja wa uingizaji huenda juu. jopo la dirisha (menu). Kwa sababu zingine, nilihamia Fedora + KDE na nikagundua kuwa shida haikuwa imeenda. Nilipokuwa nikitafuta suluhisho, nilipata makala nzuri sana Jinsi ya kurekebisha Skype mwenyewe. Asante sana comrade brnovk, ambaye alizungumza kwa undani kuhusu tatizo hilo na kushiriki njia yake ya kulitatua. Lakini njia iliyoonyeshwa katika kifungu ilitatua shida na programu moja tu, ambayo ni Skype. Kwangu, ilikuwa muhimu pia kuelewa Msimbo wa Visual Studio, kwa sababu kuandika ujumbe na menyu ya kuruka, ingawa inakera, sio sana ikiwa unahusika katika maendeleo. Pamoja, mwenzangu alipendekeza suluhisho ambalo menyu ya programu inatoweka kabisa, na singetaka kabisa kupoteza menyu katika Msimbo wa VS.

Ilijaribu kuelewa ni nini kibaya

Kwa hiyo, niliamua kuchukua muda ili kujua nini kinaendelea. Sasa nitaelezea kwa ufupi njia niliyochukua, labda mtu mwenye ujuzi zaidi katika suala hili atasaidia kuelezea shida nilizokutana nazo.

Nilifungua Msimbo wa Visual Studio na nikaanza kugonga mchanganyiko tofauti wa Alt+<%something%> ili kuona jinsi programu ilivyojibu. Karibu katika visa vyote, michanganyiko yote isipokuwa Alt+Shift ilifanya kazi bila kupoteza mwelekeo. Ilionekana kama mtu alikuwa akila Shift iliyoshinikizwa, ambayo ilifuata baada ya kushikilia Alt, na programu ilifikiri kwamba nilibonyeza Alt, kisha sikubonyeza chochote, ilitoa Alt na kwa furaha ikatupa mwelekeo wangu kwenye menyu yake, ambayo ilionekana kuwa ya mantiki kabisa. hiyo.

Nilifungua mipangilio ya kubadili mipangilio ya kibodi (unajua, orodha hii ndefu na visanduku vya kuangalia na kila aina ya mipangilio ya funguo) na kuiweka ili kubadili mipangilio kwa kutumia kifungo cha Alt, bila kubofya kwa ziada.

Kutatua tatizo kwa kubadili kwa kutumia alt+shift katika Linux, katika programu za Electron

Baada ya hapo, Alt+Tab kubadili madirisha iliacha kufanya kazi. Kichupo pekee kilifanya kazi, yaani, mtu "alikula" Alt yangu tena. Hakukuwa na maswali yaliyosalia kuhusu "mtu" huyu alikuwa nani, lakini sikujua nini kingeweza kufanywa naye.

Lakini kwa kuwa shida ilibidi kutatuliwa kwa njia fulani, basi suluhisho lilikumbuka:

  1. Katika mipangilio, afya ya hotkey kwa kubadili mipangilio ya kibodi (ondoa tiki visanduku vyote kwenye sehemu ya Badilisha hadi nyingine);
  2. Unda hotkey yako mwenyewe ambayo ingebadilisha mpangilio kwa ajili yangu

Maelezo ya suluhisho

Kwanza, hebu tusakinishe programu ambayo inakuwezesha kugawa amri kwa funguo za Xbindkeys. Kwa bahati mbaya, zana za kawaida hazikuniruhusu kuunda hotkey kwa mchanganyiko kama Alt+Shift kupitia kiolesura kizuri. Inaweza kufanywa kwa Alt+S, Alt+1, Alt+shift+Y, nk. nk, lakini hii haifai kwa kazi yetu.

sudo dnf install xbindkeysrc

Maelezo zaidi juu yake yanapatikana ArchWiki
Ifuatayo, tutaunda faili ya sampuli ya mipangilio ya programu. Sampuli ni fupi sana, na amri chache, kile tu unahitaji kujua jinsi ya kufanya kazi nayo:

xbindkeys -d > ~/.xbindkeysrc

Kama unaweza kuona kutoka kwa mfano kwenye faili, tunahitaji kuashiria hotkey ambayo tunataka kutumia na amri ambayo inapaswa kutekelezwa. Inaonekana rahisi.


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

Kama hotkey, unaweza kutumia maandishi yanayosomeka na binadamu au kutumia misimbo muhimu. Ilinifanyia kazi tu na nambari, lakini hakuna mtu anayekukataza kujaribu kidogo.

Ili kupata nambari unahitaji kutumia amri:

xbindkeys -k

Dirisha ndogo la "X" litafungua. Unahitaji tu kubonyeza vitufe wakati umakini uko kwenye dirisha hili! Ni katika kesi hii tu utaona kitu kama hiki kwenye 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

Kwa upande wangu, mchanganyiko wa kitufe cha Alt + Shift inaonekana kama hii:

m:0x8 + c:50

Sasa tunahitaji kuhakikisha kwamba unapobofya mchanganyiko huu, mpangilio hubadilika. Nilipata amri moja tu ya kufanya kazi kutaja mpangilio:


setxkbmap ru
setxkbmap us

Kama unavyoona kutoka kwa mfano, inaweza kuwezesha mpangilio mmoja au mwingine, kwa hivyo hakuna kitu kilichokuja akilini mwangu isipokuwa kuandika hati.


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

Sasa, ikiwa faili za .xbindkeysrc na layout.sh ziko katika saraka sawa, basi mwonekano wa mwisho wa faili ya .xbindkeysrc inaonekana hivi:


# 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

Baada ya hayo, tunatumia mabadiliko:


xbindkeys -p

Na unaweza kuangalia. Usisahau kuzima chaguzi zozote za kubadilisha mipangilio katika mipangilio ya kawaida.

Jumla ya

Wenzangu, natumaini kwamba makala hii inaweza kusaidia mtu haraka kuondoa tatizo la kuudhi. Binafsi, nilitumia siku yangu nzima kujaribu kufikiria na kutatua shida kwa njia fulani, ili nisisumbue tena wakati wa saa za kazi. Niliandika nakala hii ili kuokoa mtu wakati na mishipa. Wengi wenu hutumia njia mbadala ya kubadili mipangilio na hawaelewi tatizo ni nini. Binafsi napenda kubadili na Alt+Shift. Na hivyo ndivyo ninavyotaka ifanye kazi. Ikiwa unashiriki maoni yangu na unakabiliwa na tatizo hili, makala hii inapaswa kukusaidia.

Chanzo: mapenzi.com

Kuongeza maoni