Cambio della lingua del layout modeless / stateless con Caps Lock, di nuovo (18.04 LTS Bionic Beaver)


12

Questo è stato chiesto innumerevoli volte, quindi cercherò di essere breve.

Ho due layout di input , ucraino e inglese, e voglio:

  • da utilizzare Caps Lockper la commutazione rapida;
  • non ho alcun ritardo imposto, sono un digiuno veloce;
  • non avere errori di modalità :
    • (qualsiasi numero di) CapsLockimposta l'inglese,
    • (qualsiasi numero di) ShiftCapsLockimposta ucraino;
  • vedere il layout corrente nel widget standard.

Ho già provato tre (!) GUI per configurare questo, le Impostazioni di Gnome, il gnome-tweak-tool, il  dconf-editor/ gsettings. Niente funziona. Tweakssi arresta in modo casuale.

Basta fare i compiti

L'ho chiesto io stesso 4 anni fa per 14.04 LTS. Da allora, quel popup dell'interfaccia utente è apparso e tutto si è rotto. Ora posso facilmente configurare l' interruttore con stato CapsLock , ma anche in questo caso, si accompagna a quel ritardo irritante. Fondamentalmente inutilizzabile nei momenti in cui ho bisogno di cambiare lingua 4-5 volte per frase.

Questo thread suggerisce caps:nonel'opzione XKB come soluzione alternativa ai bug. Ci ho provato, sia con gsettingsCLI e dconf-editor, sia in combinazione con grp:shift_caps_switchl'opzione XKB. Niente da fare. Qualcosa batte le caratteristiche di XKB come sembra.

Questo thread offre caps:menul'opzione XKB come hack per essere in grado di collegarsi CapsLockin Gnome Settings→ Dispositivi → Tastiera. Funziona in qualche modo, ma A) fornisce una commutazione ciclica / con stato; B) Devo aspettare un timeout decente su ogni interruttore.

Questo thread chiede esattamente ciò di cui ho bisogno, ma è senza risposta e anche peggio: chiuso come duplicato di altre due domande (???) nessuna delle quali è la stessa, e nessuna delle quali mi dà una soluzione funzionante. Cosa c'è che non va in voi ragazzi?

C'è un'altra corrispondenza esatta - ahimè, anche senza risposta!


Ricercato: soluzione pulita


1
Che dire della reputazione invece di $ per una taglia, diciamo +50 punti reputazione?
karel

@karel Non vedo nulla di sbagliato in questo, tuttavia le domande "fresche" non sono idonee a ricevere ricompense su stackexchange. Una taglia può essere avviata su una domanda due giorni dopo la domanda ; si prega di annullare la votazione.
Ulidtko,

Non ho votato a fondo. Tutto quello che ho fatto è stato commentato.
karel

Ok. Ciononostante, ho offerto e ottenuto premi di reputazione specificamente su AskUbuntu. Anche questa domanda ne avrà una, quando sarà il momento.
Ulidtko,

1
@ulidtko Proverò a dare un picco a gnome-tweaks-tool. Non prometto se riesco a scavare qualcosa e avrò bisogno di un po 'di tempo, dal momento che sono impegnato ultimamente, ma posterò una risposta se scavo qualcosa a cui sono legato gnome-tweak-tool. Sentiti libero di lasciarmi un commento qui o contattami in altri modi
Sergiy Kolodyazhnyy

Risposte:


5

In Ubuntu 18.04, per impostazione predefinita c'è un'opzione da scegliere Caps_Locke Shift+ Caps_Lockper raggiungere il comportamento che stiamo cercando, è in gnome-tweaks. Ma questo non funziona e non è stato possibile capirne il motivo.

inserisci qui la descrizione dell'immagine

Potrei riuscire a raggiungere questo comportamento con la soluzione seguente.

Vedi questo link per un video 20Sec. https://imgur.com/QNdrVqa

per prima cosa controlla i seguenti comandi nel terminale se stanno cambiando la lingua di input.

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()"

e

gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

bene, stanno lavorando.

inserisci qui la descrizione dell'immagine

dobbiamo associare questi comandi alle pressioni dei tasti di Caps_Locke Shift+Caps_Lock

puoi xbindkeysfarlo con se xbindkeys non è ancora installato installalo dasudo apt install xbindkeys

  1. crea un file .xbindkeysrcnella cartella $ HOME
    touch ~/.xbindkeysrc
  2. per conoscere il keycode / id come mai viene chiamato
    run xbindkeys --keyuna volta che appare la casella bianca premere il Caps_Lockpulsante, farlo anche per il Shiftpulsante e copiare i keycode / id come mostrato di seguito

inserisci qui la descrizione dell'immagine

  1. questo passaggio è facoltativo. Disattiva il BLOC MAIUSC. Vedi sotto gif. Se il blocco maiuscole non è disabilitato .. quando si preme il tasto più volte, si attiva e si tenta di cambiare la lingua. L'ho disabilitato. ma si basa sul tuo interesse.

inserisci qui la descrizione dell'immagine

  1. Apri il file .xbindkeysrc
    gedit ~/.xbindkeysrce modifica il file come di seguito in base ai risultati dei passaggi precedenti

Modifica i valori nel contenuto di seguito in base ai risultati ottenuti nel passaggio 2 sopra. Soddisfare:

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()""
m:0x10 + c:66

"gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[1].activate()""
Shift+Mod2 + Shift_L+m:0x10 + c:66
  1. Salva il file, Chiudi e riavvia.

2
OMG ha funzionato! Non ho nemmeno avuto bisogno di disconnettermi, anche se riavvio ( xbindkeys --poll-rc). Ho anche lasciato grp:shift_caps_switchl'opzione XKB attiva, che ha cambiato la modalità di stampa dei miei codici chiave ( m:0x0 + c:66 ISO_First_Group& m:0x1 + c:66 Shift + ISO_First_Group); nessun problema da quello. Anche il LED della tastiera brilla! Incredibile lavoro, avresti dovuto ottenere questa generosità. (gli autori di gnome-tweaks, chiunque siano, ottengono un cipiglio scontroso da me e dagli altri.)
Ulidtko

5

C'è una segnalazione di bug a cui puoi iscriverti:

La segnalazione di bug riporta:

Il pannello della tastiera ha opzioni per la commutazione dell'ingresso, ma non consente di usare maiuscole come interruttore della lingua.

I passaggi per riprodurre:

  1. tastiera gnome-control-center
  2. Scorri verso il basso fino alla sezione "Digitazione"
  3. Fare clic su Passa alla fonte di input successiva
  4. Premere Caps

Risultato previsto: il tasto BLOC MAIUSC viene accettato come tasto di commutazione Risultati effettivi: il tasto MAIUSC viene ignorato nella finestra di selezione.

PS Lo stesso vale per 'Passa alla sorgente di input precedente' e combinazione di tasti Maiusc-Maiusc.

Soluzioni alternative

Il bug è attualmente nella "Lista dei desideri". Queste soluzioni alternative sono proposte:

Soluzione alternativa 1

Trovato una soluzione alternativa per questo errore:

  1. Installa dconf-editor (sudo apt-get install dconf-editor)
  2. Vai a / org / gnome / desktop / wm / keybindings /
  3. Seleziona la chiave switch-input-source, disattiva "Usa valore predefinito" e imposta "Valore personalizzato" su ['Caps_Lock']
  4. (Facoltativo) Puoi anche cambiare il valore di switch-input-source-backward in qualcosa come ['Caps_Lock'] (di nuovo, disattivando "Usa valore predefinito")

Soluzione alternativa 2

Un altro modo per farlo: 1. Installa GNOME Tweaks (gnome-tweak-tool) 2. Apri l'app Tweaks 3. Passa al pannello Tastiera e mouse 4. Fai clic su Opzioni di layout aggiuntive 5. Usa la sezione "Passa a un altro layout"

Iscriviti alla segnalazione di bug

Consiglio di iscriversi alla segnalazione di bug e aggiungere le proprie esperienze. Più persone si iscrivono alla segnalazione di bug, più velocemente arriva la soluzione (di solito).


La soluzione alternativa 1 non soddisfa i miei requisiti, fornisce una commutazione ciclica , che non è quello che voglio. Workaround 2 (Gnome-Tweaks) è stato processato e picchiato a morte; Posso farlo andare in crash, ma non posso farlo funzionare. Grazie per (ancora un altro) link però.
Ulidtko,

Ho votato a favore della tua domanda per spero che attiri più attenzione. Pubblicare tutte le prove ed errori sulla segnalazione di bug potrebbe essere utile.
WinEunuuchs2Unix
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.