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
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
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.
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:
- Yn y gosodiadau, analluoga'r hotkey ar gyfer newid gosodiadau bysellfwrdd (dad-diciwch bob blwch ticio yn yr adran Newid i gynllun arall);
- 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
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