Salutami i culleghi !
Vogliu sparte a mo suluzione à u prublema chì hè indicatu in u titulu. Aghju statu inspiratu à scrive stu articulu da un cullegu
Descrizione di u prublema
Aghju utilizatu Ubuntu 18.04 per u travagliu è aghju nutatu chì quandu cambiassi layout cù alt + shift in applicazioni cum'è Visual Studio Code, Skype, Slack è altri chì sò stati creati cù Electron, u prublema seguente si trova: focus da u campu di input va in cima. pannellu di a finestra (menu). Per altri motivi, aghju trasfirutu à Fedora + KDE è aghju realizatu chì u prublema ùn era micca andatu. Mentre cercava una suluzione, aghju trovu un articulu maravigliu
Pruvatu di capisce ciò chì hè sbagliatu
Allora, aghju decisu di piglià u tempu per capisce ciò chì passava. Avà descriveraghju brevemente u percorsu ch'e aghju pigliatu, forse qualcunu più espertu in questa materia m'aiuterà à spiegà e difficultà ch'e aghju scontru.
Aghju apertu Visual Studio Code è hà cuminciatu à chjappà diverse combinazioni Alt + <%qualcosa%> per vede cumu risponde l'applicazione. In quasi tutti i casi, tutte e cumminazzioni eccettu Alt + Shift anu travagliatu senza perde u focus. Sembrava chì qualchissia manghjava u Shift pressatu, chì seguitava dopu avè tenutu premutu Alt, è l'applicazione hà pensatu chì aghju appughjatu Alt, poi ùn aghju micca appughjatu nunda, hà liberatu Alt è hà messu cun gioia in u so menu, chì pareva abbastanza logicu lu.
Aghju apertu i paràmetri per cambià i layout di u teclatu (sapete, sta longa lista cù caselle di verificazione è ogni tipu di paràmetri per i chjavi) è l'aghju stabilitu per cambià i layout cù u buttone Alt, senza clicchi supplementari.
Dopu quì, Alt+Tab per cambià Windows hà cessatu di travaglià. Solu Tab hà travagliatu, vale à dì, qualcunu hà "mangiatu" u mo Alt di novu. Ùn ci era micca dumande nantu à quale era questu "qualchissia", ma ùn aghju micca idea di ciò chì puderia fà cun ellu.
Ma postu chì u prublema avia da esse risoltu in qualchì modu, allora una suluzione hè venuta in mente:
- In i paràmetri, disattiveghjanu a hotkey per cambià i layout di u teclatu (seleziona tutte e caselle di spunta in a sezione Cambia à un altru layout);
- Crea u vostru propiu hotkey chì cambiassi u layout per mè
Descrizzione di a suluzione
Prima, stallà un prugramma chì permette di assignà cumandamenti à e chjave Xbindkeys. Sfortunatamente, i strumenti standard ùn m'hà micca permessu di creà un hotkey per una cumminazione cum'è Alt + Shift attraversu una bella interfaccia. Pò esse fattu per Alt+S, Alt+1, Alt+shift+Y, etc. etc., ma questu ùn hè micca adattatu per u nostru compitu.
sudo dnf install xbindkeysrc
Più dettagli nantu à questu sò dispunibili à
Dopu, creeremu un schedariu di paràmetri di mostra per u prugramma. L'esempiu hè abbastanza cortu, cù uni pochi di cumandamenti, solu ciò chì avete bisognu per sapè cumu travaglià cun ellu:
xbindkeys -d > ~/.xbindkeysrc
Comu pudete vede da l'esempiu in u schedariu, avemu bisognu di indicà a hotkey chì vulemu usà è u cumandamentu chì deve esse eseguitu. Sembra simplice.
# Examples of commands:
"xbindkeys_show"
control+shift + q
# set directly keycode (here control + f with my keyboard)
"xterm"
c:41 + m:0x4
Cum'è un hotkey, pudete aduprà scrittura leggibile umanu o aduprà codici chjave. Hè travagliatu per mè solu cù codici, ma nimu ùn vi impedisce di sperimentà un pocu.
Per uttene i codici avete bisognu di utilizà u cumandamentu:
xbindkeys -k
Una piccula finestra "X" si apre. Solu bisognu di appughjà i tasti quandu u focu hè in questa finestra! Solu in questu casu vi vede qualcosa cusì in u 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
In u mo casu, a combinazione di tasti Alt + Shift hè cusì:
m:0x8 + c:50
Avà avemu bisognu di assicurà chì quandu cliccate nantu à sta cumminazione, u layout cambia. Aghju trovu solu un cumandamentu di travagliu per specificà u layout:
setxkbmap ru
setxkbmap us
Comu pudete vede da l'esempiu, pò attivà solu un o un altru layout, cusì nunda ùn hè vinutu in mente altru ch'è scrive un 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
Avà, se i schedarii .xbindkeysrc è layout.sh sò situati in u stessu annuariu, allora a vista finale di u schedariu .xbindkeysrc s'assumiglia cusì:
# 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
Dopu quì, applichemu i cambiamenti:
xbindkeys -p
È pudete verificà. Ùn vi scurdate di disattivà ogni opzione per cambià layout in i paràmetri standard.
U risultatu
Colleghi, spergu chì questu articulu pò aiutà à qualcunu à sbarazzarsi rapidamente di un prublema fastidiosa. In modu persunale, aghju passatu a mo ghjurnata sana per pruvà à capisce è risolve u prublema in una certa manera, per ùn esse più distrattu da ellu durante l'ora di travagliu. Aghju scrittu stu articulu per salvà à qualchissia tempu è nervi. Parechje di voi utilizate un metudu alternativu di cambià layout è ùn capiscenu micca quale hè u prublema. Mi piace personalmente cambià cù Alt + Shift. È hè cusì chì vogliu travaglià. Sè vo sparte a mo opinione è sò affruntatu cù stu prublema, stu articulu duverebbe aiutà.
Source: www.habr.com