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.