Risolve u prublema cù u cambiamentu cù alt + shift in Linux, in l'applicazioni Electron

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 brnovk, chì ùn era micca pigra è offre una suluzione parziale (per mè) à u prublema. Aghju fattu a mo propria "crutch" chì m'hà aiutatu. Sò sparte cun voi.

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 Cumu riparà Skype sè stessu. Mille grazie camarade brnovk, chì hà parlatu in dettu nantu à u prublema è sparte u so metudu di risolve. Ma u metudu indicatu in l'articulu risolviu u prublema cù una sola applicazione, à dì Skype. Per mè, era ancu criticu per capisce u Visual Studio Code, perchè scrive missaghji cù un menu di salta, ancu s'ellu hè fastidiosu, ùn hè micca tantu s'è vo site implicatu in u sviluppu. In più, un cullega hà suggeritu una suluzione in quale u menu di l'applicazione sparisce cumplettamente, è ùn vogliu micca veramente perde u menu in VS Code.

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.

Risolve u prublema cù u cambiamentu cù alt + shift in Linux, in l'applicazioni Electron

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:

  1. 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);
  2. 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 à ArchWiki
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

Add a comment