Halo rekan!
Saya ingin berbagi untuk membagikan solusi saya untuk masalah, yang ditunjukkan di header. Artikel itu diinspirasi oleh seorang rekan
brnovk , yang tidak terlalu malas dan menyarankan solusi parsial (untuk saya) untuk masalah tersebut. Saya membuat "tongkat" yang membantu saya. Saya berbagi dengan Anda.
Deskripsi masalah
Saya menggunakan Ubuntu 18.04 untuk bekerja dan baru-baru ini memperhatikan bahwa ketika berpindah tata letak dengan alt + shift dalam aplikasi seperti Visual Studio Code, Skype, Slack dan lainnya yang dibuat menggunakan Electron, masalah berikut muncul: fokus dari bidang input menuju ke panel atas jendela (menu). Untuk alasan lain, saya pindah ke Fedora + KDE dan menyadari bahwa masalahnya tidak hilang. Dalam mencari solusi, saya menemukan artikel yang luar biasa
Lakukan sendiri Skype . Terima kasih banyak kepada kawan
brnovk karena telah menjelaskan secara terperinci tentang masalahnya dan membagikan caranya untuk menyelesaikannya. Tetapi metode yang ditentukan dalam artikel mencakup pertanyaan hanya dengan satu aplikasi, yaitu Skype. Itu masih penting bagi saya untuk berurusan dengan Visual Studio Code, karena menulis pesan dengan menu memantul mengganggu, tetapi tidak terlalu banyak jika Anda sedang mengembangkan. Plus, seorang kolega mengusulkan solusi di mana menu aplikasi menghilang sepenuhnya, tapi saya tidak ingin kehilangan menu di VS Code.
Saya mencoba memahami apa yang terjadi
Jadi, saya memutuskan untuk meluangkan waktu dan mencari tahu apa yang sedang terjadi. Sekarang saya akan menjelaskan secara singkat ke arah mana saya pergi, mungkin seseorang yang lebih berpengetahuan dalam hal ini akan membantu memperjelas kesulitan yang saya temui.
Saya membuka Visual Studio Code dan mulai mengklik pada kombinasi yang berbeda Alt + <% something%>, melihat reaksi aplikasi. Di hampir semua kasus, semua kombinasi, kecuali Alt + Shift, berfungsi tanpa kehilangan fokus. Tampaknya seseorang makan Shift yang ditekan, yang mengikuti setelah memegang dan menahan Alt dan aplikasi berpikir bahwa saya menekan Alt, kemudian tidak menekan apa pun, melepaskan Alt dan dengan gembira melemparkan fokus saya ke dalam menu, yang tampaknya logis baginya.
Saya membuka pengaturan switching tata letak keyboard (well, Anda tahu daftar panjang ini dengan kotak centang dan semua jenis pengaturan untuk tombol) dan mengatur beralih tata letak keyboard dengan tombol Alt, tanpa menekan tambahan.

Setelah itu Alt + Tab berhenti bekerja untuk beralih windows. Hanya Tab yang bekerja, yaitu, seseorang lagi "memakan" Alt saya. Siapa "seseorang" ini tidak memiliki pertanyaan tersisa, tetapi saya tidak tahu apa yang bisa dilakukan dengannya.
Tetapi karena masalahnya harus dipecahkan setidaknya entah bagaimana, maka solusi muncul di benak saya:
- Di pengaturan, nonaktifkan hotkey untuk beralih tata letak keyboard (hapus semua kotak centang di bagian Switch to another layout);
- Buat hotkey Anda sendiri untuk mengubah tata letak saya
Deskripsi Solusi
Pertama, instal program yang memungkinkan Anda untuk menetapkan perintah ke tombol Xbindkeys. Sayangnya, alat standar tidak memungkinkan saya untuk membuat hotkey untuk kombinasi tipe Alt + Shift melalui antarmuka yang indah. Dapat dilakukan untuk Alt + S, Alt + 1, Alt + shift + Y, dll. dll, tetapi ini tidak cocok untuk tugas kita.
sudo dnf install xbindkeysrc
Ada lebih banyak tentang itu di
ArchWikiSelanjutnya, buat file pengaturan sampel untuk program. Sampelnya cukup singkat, hanya dengan beberapa perintah saja yang Anda butuhkan untuk mengetahui cara bekerja dengannya:
xbindkeys -d > ~/.xbindkeysrc
Seperti yang Anda lihat dari contoh yang ada di file, kita perlu menentukan hotkey yang ingin kita gunakan dan perintah yang harus dijalankan. Itu terlihat sederhana.
Sebagai hotkey, Anda dapat menggunakan ejaan yang dapat dibaca manusia atau menggunakan kode kunci. Itu bekerja untuk saya hanya dengan kode, tetapi tidak ada yang melarang Anda untuk bereksperimen sedikit.
Untuk mendapatkan kode Anda perlu menggunakan perintah:
xbindkeys -k
Jendela "X" kecil akan terbuka. Anda hanya perlu menekan tombol dengan fokus di jendela ini! Hanya dalam kasus ini Anda akan melihat sesuatu seperti ini di 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
Dalam kasus saya, pintasan keyboard Alt + Shift terlihat seperti ini:
m:0x8 + c:50
Sekarang Anda perlu memastikan bahwa ketika Anda mengklik kombinasi ini, tata letaknya persis. Saya hanya menemukan satu perintah yang berfungsi untuk menentukan tata letak:
setxkbmap ru setxkbmap us
Seperti yang dapat Anda lihat dari contoh, dia hanya tahu cara menghidupkan satu atau beberapa tata letak lainnya, jadi tidak ada yang terlintas di pikiran saya kecuali menulis skrip.
vim ~/layout.sh
Sekarang, jika file .xbindkeysrc dan layout.sh berada di direktori yang sama, maka bentuk akhir dari file .xbindkeysrc terlihat seperti ini:
Setelah itu terapkan perubahan:
xbindkeys -p
Dan Anda bisa memeriksanya. Jangan lupa untuk menonaktifkan opsi apa pun untuk beralih tata letak di pengaturan default.
Ringkasan
Kolega, saya harap artikel ini dapat membantu seseorang dengan cepat menyingkirkan masalah yang menjengkelkan. Secara pribadi, saya menghabiskan seluruh hari libur saya memilah-milah dan memecahkan masalah entah bagaimana, agar tidak terganggu oleh ini lagi selama jam kerja. Saya menulis artikel ini untuk menghemat waktu dan saraf seseorang. Banyak dari Anda menggunakan cara alternatif untuk beralih tata letak dan tidak mengerti apa masalahnya. Saya pribadi suka mengganti Alt + Shift. Dan saya ingin itu bekerja seperti itu. Jika Anda membagikan pendapat saya dan mengalami masalah ini, artikel ini akan membantu Anda.