Datrys y broblem gyda newid gan ddefnyddio alt + shift yn Linux, mewn cymwysiadau Electron

Helo cydweithwyr!

Rwyf am rannu fy ateb i'r broblem a nodir yn y teitl. Cefais fy ysbrydoli i ysgrifennu'r erthygl hon gan gydweithiwr brnovk, nad oedd yn ddiog a chynigiodd ateb rhannol (i mi) i'r broblem. Fe wnes i fy “crutch” fy hun a helpodd fi. Rwy'n rhannu gyda chi.

Disgrifiad o'r broblem

Defnyddiais Ubuntu 18.04 ar gyfer gwaith a sylwais yn ddiweddar, wrth newid gosodiadau gan ddefnyddio alt + shift mewn cymwysiadau fel Visual Studio Code, Skype, Slack ac eraill a grëwyd gan ddefnyddio Electron, mae'r broblem ganlynol yn digwydd: mae ffocws o'r maes mewnbwn yn mynd i'r brig panel y ffenestr (bwydlen). Am resymau eraill, symudais i Fedora + KDE a sylweddolais nad oedd y broblem wedi mynd i ffwrdd. Wrth chwilio am ateb, deuthum o hyd i erthygl wych Sut i drwsio Skype eich hun. Diolch yn fawr cymrawd brnovk, a siaradodd yn fanwl am y broblem a rhannu ei ddull o'i datrys. Ond roedd y dull a nodir yn yr erthygl yn datrys y broblem gyda dim ond un cais, sef Skype. I mi, roedd hefyd yn hanfodol deall Cod Stiwdio Gweledol, oherwydd nid yw ysgrifennu negeseuon gyda bwydlen neidio, er yn blino, yn gymaint os ydych chi'n ymwneud â datblygiad. Hefyd, awgrymodd cydweithiwr ateb lle mae dewislen y cais yn diflannu'n llwyr, ac ni fyddwn wir eisiau colli'r ddewislen yn VS Code.

Wedi ceisio deall beth sy'n bod

Felly, penderfynais gymryd yr amser i ddarganfod beth oedd yn digwydd. Nawr byddaf yn disgrifio'n fyr y llwybr a gymerais, efallai y bydd rhywun mwy gwybodus yn y mater hwn yn helpu i egluro'r anawsterau a wynebais.

Agorais Visual Studio Code a dechreuais daro gwahanol gyfuniadau Alt+ <%something%> i weld sut ymatebodd y cais. Ym mron pob achos, gweithiodd pob cyfuniad ac eithrio Alt+Shift heb golli ffocws. Roedd yn ymddangos fel pe bai rhywun yn bwyta'r Shift wedi'i wasgu, a ddilynodd ar ôl dal Alt i lawr, ac roedd y cais yn meddwl fy mod yn pwyso Alt, yna heb wasgu unrhyw beth, rhyddhau Alt a thaflodd fy ffocws yn llawen i'w fwydlen, a oedd yn ymddangos yn eithaf rhesymegol i mae'n.

Agorais y gosodiadau ar gyfer newid gosodiadau bysellfwrdd (wyddoch chi, y rhestr hir hon gyda blychau gwirio a phob math o osodiadau ar gyfer allweddi) a'i osod i newid gosodiadau gan ddefnyddio'r botwm Alt, heb unrhyw gliciau ychwanegol.

Datrys y broblem gyda newid gan ddefnyddio alt + shift yn Linux, mewn cymwysiadau Electron

Ar ôl hynny, fe wnaeth Alt+Tab i newid ffenestri roi'r gorau i weithio. Dim ond Tab weithiodd, hynny yw, mae rhywun wedi “bwyta” fy Alt eto. Doedd dim cwestiynau ar ôl ynglŷn â phwy oedd y “rhywun” yma, ond doedd gen i ddim syniad beth ellid ei wneud ag ef.

Ond gan fod yn rhaid datrys y broblem rhywsut, yna daeth ateb i'r meddwl:

  1. Yn y gosodiadau, analluoga'r hotkey ar gyfer newid gosodiadau bysellfwrdd (dad-diciwch bob blwch ticio yn yr adran Newid i gynllun arall);
  2. Creu eich allwedd poeth eich hun a fyddai'n newid y gosodiad i mi

Disgrifiad o'r datrysiad

Yn gyntaf, gadewch i ni osod rhaglen sy'n eich galluogi i aseinio gorchmynion i'r allweddi Xbindkeys. Yn anffodus, nid oedd offer safonol yn caniatáu imi greu allwedd poeth ar gyfer cyfuniad fel Alt + Shift trwy ryngwyneb hardd. Gellir ei wneud ar gyfer Alt+S, Alt+1, Alt+shift+Y, ac ati. ac ati, ond nid yw hyn yn addas ar gyfer ein tasg.

sudo dnf install xbindkeysrc

Mae rhagor o fanylion amdano ar gael yn ArchWici
Nesaf, byddwn yn creu ffeil gosodiadau sampl ar gyfer y rhaglen. Mae'r sampl yn eithaf byr, gydag ychydig o orchmynion, dim ond yr hyn sydd ei angen arnoch i ddarganfod sut i weithio gydag ef:

xbindkeys -d > ~/.xbindkeysrc

Fel y gwelwch o'r enghraifft yn y ffeil, mae angen inni nodi'r allwedd poeth yr ydym am ei ddefnyddio a'r gorchymyn y dylid ei weithredu. Edrych yn syml.


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

Fel hotkey, gallwch ddefnyddio ysgrifennu darllenadwy dynol neu ddefnyddio codau allweddol. Fe weithiodd i mi gyda chodau yn unig, ond nid oes neb yn eich gwahardd rhag arbrofi ychydig.

I gael y codau mae angen i chi ddefnyddio'r gorchymyn:

xbindkeys -k

Bydd ffenestr fach “X” yn agor. Dim ond pan fydd y ffocws ar y ffenestr hon y mae angen i chi wasgu'r bysellau! Dim ond yn yr achos hwn y byddwch chi'n gweld rhywbeth fel hyn yn y derfynell:


[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

Yn fy achos i, mae'r cyfuniad allwedd Alt + Shift yn edrych fel hyn:

m:0x8 + c:50

Nawr mae angen i ni sicrhau pan fyddwch chi'n clicio ar y cyfuniad hwn, bod y gosodiad yn newid. Dim ond un gorchymyn gweithio a ddarganfyddais i nodi'r cynllun:


setxkbmap ru
setxkbmap us

Fel y gwelwch o'r enghraifft, dim ond un gosodiad neu'r llall y gall ei alluogi, felly ni ddaeth dim i'm meddwl heblaw ysgrifennu sgript.


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

Nawr, os yw'r ffeiliau .xbindkeysrc a layout.sh wedi'u lleoli yn yr un cyfeiriadur, yna mae golygfa derfynol y ffeil .xbindkeysrc yn edrych fel hyn:


# 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

Ar ôl hynny rydym yn cymhwyso'r newidiadau:


xbindkeys -p

A gallwch wirio. Peidiwch ag anghofio analluogi unrhyw opsiynau ar gyfer newid gosodiadau yn y gosodiadau safonol.

Cyfanswm

Cydweithwyr, gobeithio y gall yr erthygl hon helpu rhywun yn gyflym i gael gwared ar broblem annifyr. Yn bersonol, treuliais fy niwrnod cyfan i ffwrdd yn ceisio darganfod a datrys y broblem rywsut, fel na fyddai'n tynnu fy sylw mwyach yn ystod oriau gwaith. Ysgrifennais yr erthygl hon i arbed amser a nerfau rhywun. Mae llawer ohonoch yn defnyddio dull amgen o newid gosodiadau ac nid ydych yn deall beth yw'r broblem. Yn bersonol, rydw i'n hoffi newid gydag Alt + Shift. A dyna sut rydw i eisiau iddo weithio. Os ydych chi'n rhannu fy marn ac yn wynebu'r broblem hon, dylai'r erthygl hon eich helpu chi.

Ffynhonnell: hab.com

Ychwanegu sylw