Halo rekan kerja!
Aku pengin nuduhake solusi kanggo masalah sing dituduhake ing judhul. Aku iki inspirasi kanggo nulis artikel iki dening kolega
Katrangan masalah
Aku nggunakake Ubuntu 18.04 kanggo kerja lan bubar ngerteni manawa nalika ngalih tata letak nggunakake alt + shift ing aplikasi kayata Visual Studio Code, Skype, Slack lan liya-liyane sing digawe nggunakake Electron, masalah ing ngisor iki kedadeyan: fokus saka kolom input menyang ndhuwur. panel jendela (menu). Kanggo alasan liyane, aku pindhah menyang Fedora + KDE lan ngerti yen masalah kasebut durung ilang. Nalika nggoleki solusi, aku nemokake artikel sing apik banget
Nyoba kanggo mangerteni apa salah
Dadi, aku mutusake njupuk wektu kanggo ngerteni apa sing kedadeyan. Saiki aku bakal njlèntrèhaké kanthi ringkes dalan sing daklakoni, mbok menawa ana wong sing luwih ngerti babagan iki bakal mbantu njlèntrèhaké kesulitan sing daktemoni.
Aku mbukak Visual Studio Code lan miwiti mencet kombinasi Alt+<%something%> beda kanggo ndeleng carane aplikasi nanggapi. Ing meh kabeh kasus, kabeh kombinasi kajaba Alt + Shift makarya tanpa kelangan fokus. Kayane ana sing mangan Shift sing dipencet, sing banjur sawise nahan Alt, lan aplikasi kasebut mikir yen aku menet Alt, banjur ora menet apa-apa, ngeculake Alt lan kanthi bungah mbuwang fokusku menyang menu, sing katon cukup logis. iku.
Aku mbukak setelan kanggo ngoper tata keyboard (sampeyan ngerti, iki dhaftar dawa karo kothak centhang lan kabeh limo setelan kanggo tombol) lan nyetel kanggo ngalih tata nggunakake tombol Alt, tanpa klik tambahan.
Sawise iku, Alt+Tab kanggo ngalih windows mandheg. Mung Tab makarya, sing, wong "mangan" Alt sandi maneh. Ora ana pitakonan babagan sapa "wong" iki, nanging aku ora ngerti apa sing bisa ditindakake karo dheweke.
Nanging amarga masalah kasebut kudu dirampungake, mula ana solusi:
- Ing setelan, mateni hotkey kanggo ngalih tata letak keyboard (busak centhang kabeh kothak ing Ngalih menyang bagean tata letak liyane);
- Nggawe hotkey dhewe sing bakal ngalih tata letak kanggo kula
Katrangan saka solusi
Pisanan, ayo nginstal program sing ngidini sampeyan nemtokake printah menyang tombol Xbindkeys. Sayange, alat standar ora ngidini aku nggawe hotkey kanggo kombinasi kaya Alt + Shift liwat antarmuka sing apik. Bisa ditindakake kanggo Alt+S, Alt+1, Alt+shift+Y, lsp. etc., nanging iki ora cocok kanggo tugas kita.
sudo dnf install xbindkeysrc
Rincian liyane babagan kasedhiya ing
Sabanjure, kita bakal nggawe file setelan sampel kanggo program kasebut. Sampel kasebut cukup cendhak, kanthi sawetara prentah, mung sampeyan kudu ngerti carane nggarap:
xbindkeys -d > ~/.xbindkeysrc
Nalika sampeyan bisa ndeleng saka conto ing file, kita kudu nunjukakΓ© hotkey sing arep digunakake lan printah sing kudu kaleksanan. Katon prasaja.
# Examples of commands:
"xbindkeys_show"
control+shift + q
# set directly keycode (here control + f with my keyboard)
"xterm"
c:41 + m:0x4
Minangka hotkey, sampeyan bisa nggunakake tulisan sing bisa diwaca manungsa utawa nggunakake kode kunci. Iku bisa kanggo kula mung karo kode, nanging ora ana sing nglarang sampeyan kanggo eksprimen sethitik.
Kanggo njaluk kode sampeyan kudu nggunakake printah:
xbindkeys -k
Jendhela "X" cilik bakal mbukak. Sampeyan mung perlu menet tombol nalika fokus ing jendhela iki! Mung ing kasus iki sampeyan bakal weruh kaya iki ing 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
Ing kasusku, kombinasi tombol Alt + Shift katon kaya iki:
m:0x8 + c:50
Saiki kita kudu nggawe manawa nalika sampeyan ngeklik kombinasi iki, tata letak bakal ganti. Aku nemokake mung siji printah sing bisa digunakake kanggo nemtokake tata letak:
setxkbmap ru
setxkbmap us
Nalika sampeyan bisa ndeleng saka conto, iku mung bisa ngaktifake siji utawa liyane tata letak, supaya ora ana ing pikiranku kajaba nulis 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
Saiki, yen file .xbindkeysrc lan layout.sh ana ing direktori sing padha, mula tampilan pungkasan file .xbindkeysrc katon kaya iki:
# 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
SawisΓ© iku, kita nggunakake owah-owahan:
xbindkeys -p
Lan sampeyan bisa mriksa. Aja lali mateni opsi kanggo ngoper tata letak ing setelan standar.
Asile
Kanca-kanca, muga-muga artikel iki bisa mbantu wong kanthi cepet nyingkirake masalah sing ngganggu. Secara pribadi, aku ngentekake sedina muput kanggo nyoba ngerteni lan ngrampungake masalah kasebut, supaya aku ora keganggu maneh sajrone jam kerja. Aku nulis artikel iki kanggo ngirit wektu lan saraf wong. Akeh sing nggunakake cara alternatif kanggo ngganti tata letak lan ora ngerti apa masalahe. Aku wong seneng ngalih karo Alt + Shift. Lan kaya ngono aku pengin bisa. Yen sampeyan nuduhake pendapatku lan ngadhepi masalah iki, artikel iki kudu mbantu sampeyan.
Source: www.habr.com