Peralihan bahasa tata letak yang tanpa mod / stateless dengan Caps Lock, sekali lagi (18,04 LTS Bionic Beaver)

12

Ini telah ditanyakan berkali-kali, jadi saya akan mencoba untuk singkat.

Saya memiliki dua tata letak masukan , Ukraina dan Inggris, dan ingin:

  • untuk digunakan Caps Lockuntuk beralih cepat;
  • tidak ada keterlambatan yang dipaksakan, saya seorang tipper cepat;
  • tidak memiliki kesalahan mode :
    • (berapapun jumlah) CapsLockmenetapkan bahasa Inggris,
    • (sejumlah) ShiftCapsLockset Ukraina;
  • lihat tata letak saat ini di widget standar.

Saya sudah mencoba tiga (!) GUI untuk mengkonfigurasi ini, Pengaturan Gnome, the gnome-tweak-tool, the  dconf-editor/ gsettings. Tidak ada yang berhasil. Tweakscrash secara acak.

Cukup mengerjakan PR

Saya sudah menanyakan ini sendiri 4 tahun lalu untuk 14,04 LTS. Sejak itu, popup UI itu muncul dan semua pecah. Saya sekarang dapat dengan mudah mengkonfigurasi toggle stateful CapsLock , tetapi bahkan kemudian, itu berjalan dengan penundaan menjengkelkan. Pada dasarnya tidak dapat digunakan pada saat saya perlu bahasa diganti 4-5 kali per kalimat.

Utas ini menyarankan caps:noneopsi XKB sebagai solusi bug. Saya sudah mencobanya, baik dengan gsettingsCLI dan dconf-editor, dan dalam kombinasi dengan grp:shift_caps_switchopsi XKB. Tidak ada dadu. Sesuatu mengalahkan fitur-fitur inti XKB seperti yang terlihat.

Utas ini menawarkan caps:menuopsi XKB sebagai peretasan untuk dapat mengikat CapsLockdi Gnome Settings→ Perangkat → Papan Ketik. Ini agak berfungsi, tapi A) itu memberikan pergantian siklik / stateful; B) Saya harus menunggu batas waktu yang layak di setiap saklar.

Utas ini menanyakan dengan tepat apa yang saya butuhkan, namun tidak dijawab dan bahkan lebih buruk: ditutup sebagai duplikat dari dua pertanyaan lain (???) tidak ada yang sama, dan tidak ada yang memberi saya solusi yang berfungsi. Ada apa dengan kalian?

Ada kecocokan persis lainnya - sayangnya, tidak terjawab juga!


Dicari: solusi bersih

ulidtko
sumber
1
Bagaimana dengan reputasi, bukan $ untuk hadiah, katakanlah +50 poin reputasi?
karel
@karel Saya tidak melihat ada yang salah dengan itu, namun pertanyaan "segar" tidak memenuhi syarat untuk mendapatkan bayaran di stackexchange. Hadiah dapat dimulai pada pertanyaan dua hari setelah pertanyaan diajukan ; tolong batalkan undian.
ulidtko
Saya tidak downvote. Yang saya lakukan adalah berkomentar.
karel
Baik. Namun demikian, saya melakukan keduanya menawarkan dan mendapatkan karunia reputasi secara khusus di AskUbuntu. Pertanyaan ini akan mendapatkan satu juga, ketika saatnya tiba.
ulidtko
1
@ Dulidko saya akan mencoba untuk mengambil puncak di gnome-tweaks-tool. Tidak akan berjanji jika saya bisa menggali apa saja dan perlu waktu, karena saya sibuk akhir-akhir ini, tetapi saya akan mengirim jawaban jika saya menggali sesuatu yang berhubungan dengan gnome-tweak-tool. Jangan ragu untuk meninggalkan saya komentar di sini atau hubungi saya dengan cara lain
Sergiy Kolodyazhnyy

Jawaban:

5

Di Ubuntu 18.04, secara default ada opsi untuk memilih Caps_Lockdan Shift+ Caps_Lockuntuk mencapai perilaku yang kita cari, ada di gnome-tweaks. Tetapi ini tidak berhasil dan tidak bisa mendapatkan alasan mengapa.

masukkan deskripsi gambar di sini

Saya dapat mengatur untuk mencapai perilaku ini dengan solusi di bawah ini.

Lihat tautan ini untuk Video 20Sec. https://imgur.com/QNdrVqa

pertama-tama periksa perintah di bawah ini di terminal apakah mereka mengubah bahasa 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()"

dan

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()"

yah, mereka bekerja.

masukkan deskripsi gambar di sini

kita perlu mengikat perintah-perintah ini ke penekanan tombol + Caps_LockdanShiftCaps_Lock

dapat mencapai ini dengan xbindkeysjika xbindkeys belum diinstal instal olehsudo apt install xbindkeys

  1. buat file .xbindkeysrcdi folder $ HOME
    touch ~/.xbindkeysrc
  2. untuk mengetahui kode kunci / id apa yang pernah dipanggil
    jalankan xbindkeys --keybegitu kotak putih muncul tekan Caps_Locktombol, lakukan juga untuk Shifttombol dan salin kode kunci / id seperti yang ditunjukkan di bawah ini

masukkan deskripsi gambar di sini

  1. langkah ini Opsional .. Nonaktifkan Caps Lock. Lihat di bawah gif. Jika caps lock tidak dinonaktifkan .. ketika Anda menekan tombol beberapa kali, itu akan beralih saat Anda mencoba mengubah bahasa. Saya telah menonaktifkannya. tetapi didasarkan pada minat Anda.

masukkan deskripsi gambar di sini

  1. Buka file .xbindkeysrc
    gedit ~/.xbindkeysrcdan edit file seperti di bawah ini berdasarkan hasil langkah-langkah di atas

Ubah nilai dalam konten di bawah ini sesuai dengan hasil yang Anda dapatkan di langkah 2 di atas. Kandungan:

"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. Simpan file, Tutup & Mulai Ulang ..
PRATAP
sumber
2
OMG berhasil! Saya bahkan tidak perlu log-out, bahkan reboot ( xbindkeys --poll-rc). Saya juga membiarkan grp:shift_caps_switchopsi XKB aktif - yang mengubah cara kode kunci saya dicetak ( m:0x0 + c:66 ISO_First_Group& m:0x1 + c:66 Shift + ISO_First_Group); tidak ada masalah dari itu. Bahkan LED keyboard bersinar! Pekerjaan luar biasa, Anda benar-benar harus mendapatkan karunia ini. (penulis gnome-tweak, siapa pun mereka, mendapatkan cemberut kesal dari saya & orang lain.)
ulidtko
5

Ada laporan bug yang dapat Anda ikuti:

Laporan bug berbunyi:

Panel keyboard memiliki opsi untuk pengalihan input, tetapi tidak memungkinkan untuk menggunakan Caps sebagai pengalih bahasa.

Langkah-langkah mereproduksi:

  1. keyboard gnome-control-center
  2. Gulir ke bawah ke bagian 'Mengetik'
  3. Klik Beralih ke sumber input berikutnya
  4. Tekan Caps

Hasil yang diharapkan: Tombol Caps Lock diterima sebagai tombol sakelar Hasil aktual: Tombol Caps diabaikan di jendela pilihan.

PS Sama berlaku untuk 'Beralih ke sumber input sebelumnya' dan kombinasi tombol Shift-Caps.

Penanganan Bug

Bug saat ini ada di "Wishlist". Solusi ini diusulkan:

Penanganan masalah 1

Menemukan solusi untuk bug ini:

  1. Instal dconf-editor (sudo apt-get install dconf-editor)
  2. Pergi ke / org / gnome / desktop / wm / keybindings /
  3. Pilih kunci-input-sumber, matikan "Gunakan nilai default" dan setel "Nilai khusus" ke ['Caps_Lock']
  4. (Opsional) Anda juga dapat mengubah nilai untuk beralih-input-sumber-mundur ke sesuatu seperti ['Caps_Lock'] (sekali lagi, mematikan "Gunakan nilai default")

Penanganan masalah 2

Cara lain untuk melakukan ini: 1. Instal GNOME Tweaks (gnome-tweak-tool) 2. Buka aplikasi Tweaks 3. Beralih ke panel Keyboard & Mouse 4. Klik Opsi Tata Letak Tambahan 5. Gunakan bagian "Beralih ke tata letak lain"

Berlangganan laporan bug

Saya akan merekomendasikan berlangganan laporan bug dan menambahkan pengalaman Anda sendiri. Semakin banyak orang yang berlangganan laporan bug, semakin cepat solusinya (biasanya).

WinEunuuchs2Unix
sumber
Solusi 1 tidak sesuai dengan kebutuhan saya, itu memberikan pergantian siklik , yang bukan yang saya inginkan. Solusi 2 (Gnome-Tweaks) telah diadili dan dipukuli sampai mati; Saya bisa membuatnya crash, tetapi tidak bisa membuatnya bekerja. Terima kasih untuk tautan (yang lain).
ulidtko
Saya mengangkat pertanyaan Anda agar mudah-mudahan menarik lebih banyak perhatian. Posting semua percobaan dan kesalahan Anda pada laporan bug mungkin membantu.
WinEunuuchs2Unix