Apakah ada tempat di "Ubuntu" yang menyimpan daftar kunci / kombinasi / pintasan apa yang terikat dengan apa?
Apa itu pintasan keyboard dan mouse Unity? daftarkan beberapa pintasan "Unity" ke Dash, Launcher, dll. dan Bagaimana cara mendaftar ikatan kunci Compiz yang digunakan? menunjukkan cara untuk membuat daftar binding compiz, tapi saya mencari lebih dari itu (tidak hanya beberapa keybindings yang hanya terbatas pada Unity atau Compiz) meskipun ini merupakan permulaan.
Apakah ada daftar global binding / kombinasi tombol / Pintasan keyboard yang digunakan, yang disimpan di suatu tempat di Ubuntu atau apakah ada cara untuk menyusun dan mendaftarnya? Satu yang berlaku untuk Ubuntu dan hal-hal yang berjalan di dalamnya (Unity, Compiz, Shortcuts to Programs, dll.).
Tentunya, Ubuntu harus menyimpan ini di suatu tempat agar kombinasi tombol yang ditekan pada keyboard diarahkan ke apa yang terhubung dengannya? Jika tidak ada tempat seperti itu di Ubuntu, maka poskan sebagai jawaban, sehingga pengguna di masa depan, pencarian itu, akan tahu.
Jawaban:
Pengelola jendela Anda mendapatkan peristiwa penting apa pun sebelum aplikasi melakukannya, jadi jika ingin mengkonsumsi peristiwa itu, ia melakukannya dan aplikasi Anda tidak akan pernah menerimanya. Jika manajer jendela tidak ingin bereaksi terhadap peristiwa utama itu sendiri, itu meneruskannya ke aplikasi.
Anda dapat memverifikasi ini sendiri dengan cara berikut:
xev | grep KeyPress
, penampil acara X.Alt
, perhatikan yangxev
menunjukkan bahwa ia mendapatkan acara utama di jendela terminalnya.Ctrl
, sekali lagi perhatikan bahwaxev
ada acara. Perhatikan seperti apa tampilan terminal saat ini.Left arrow
untuk pergi ke ruang kerja lain. (Saya berasumsi Anda memilikinya sebagai kunci pintas window manager.)Right arrow
untuk kembali ke tempat Anda menjalankanxev
. Perhatikan bahwa ia tidak pernah menerima acara utama apa pun untuk Anda berpindah ruang kerja melalui tombol panah kiri dan kanan - hasilnya sama seperti pada Langkah 4.Jadi, Anda melihat bahwa manajer jendela dalam praktik mendapatkan semua peristiwa penting dan jika tidak ingin menangkapnya, ia meneruskannya ke aplikasi. Aplikasi kemudian melakukan hal yang sama untuk widgetnya sendiri (seperti bagaimana Anda dapat menekan
Enter
sepanjang hari di browser web Anda tetapi itu tidak akan melakukan apa-apa sampai Anda meletakkan kursor di bilah alamat atau bidang di mana Anda dapat memasukkan teks) .Terserah aplikasi untuk mengatur pintasannya sendiri, dan aplikasi dikonfigurasikan secara independen satu sama lain.
Di KDE 3.x, jika saya ingat dengan benar, Anda bisa mengatur pintasan default (misalnya
Ctrl-s
untuk disimpan) di Pusat Kontrol KDE dan itu akan berlaku untuk semua aplikasi yang ditulis dengan toolkit Qt, tapi saya tidak tahu apakah itu masih mungkin sejak mereka beralih ke KDE 4.sumber
Sejak Ubuntu 17.10
Di jalur ini :
Anda juga dapat menggunakan
dconf-editor
(GUI) ataugsettings
(CLI).Sejak Ubuntu 12.10-17.04
~/.config/dconf/user
(di dconf-editor:org.gnome.settings-daemon.plugins.media-keys.custom-keybindings
(pintasan khusus)~/.config/compiz-1/compizconfig
Sampai Ubuntu 12.04
Cara pintas ditempatkan berbeda tergantung pada desktop penyihir yang Anda gunakan (gnome / unity, kde, xfce, lxde, dll).
Untuk gnome, mereka berada di bawah
~/.gconf/desktop/gnome/keybindings
(pintasan khusus)dan di bawah
~/.gconf/apps/metacity
.sumber
general/
global_keybindings/
window_keybindings/
gsettings
petunjukTidak, tidak ada satu tempat di mana semua pintasan disimpan. Aplikasi dapat memilih untuk menyimpan konfigurasi mereka di mana pun mereka pilih.
Yang mengatakan, Anda sebagian besar melihat dua level: level aplikasi (seperti Ctrl-C untuk copy di Firefox), dan level window manager (seperti Win + D untuk menampilkan desktop). Compiz menggunakan gconf untuk menyimpan konfigurasinya .
Untuk aplikasi, Anda dapat membaginya secara kasar dengan toolkit mereka. Yaitu, aplikasi GTK juga menggunakan gconf.
Tidak terlalu. Aplikasi yang difokuskan mendapat tendangan pertama pada acara keyboard X, tetapi jika tidak, itu akan muncul ke aplikasi lain, yaitu window manager. Dengan demikian, Anda dapat memiliki gim yang menangkap Alt + F4 dan tidak menutup jendela (sialan, Jamestown!). Saya pikir Anda berpikir itu pergi ke beberapa router acara pusat, kemudian dicocokkan dengan beberapa database, dan diarahkan ke tujuannya. Ini lebih seperti melewati sebotol minuman di sekitar: lulus, minum sedikit jika Anda ingin dan melewati sisanya, atau mengambil semuanya dan menjadi serakah.
Lingkungan Linux / FOSS (Anda mungkin telah memperhatikan) cukup demokratis, dan mendapatkan semua aplikasi untuk menyetujui satu repositori konfigurasi keyboard pusat adalah tugas yang bodoh. Untuk satu hal, Anda memiliki aplikasi yang tidak terawat yang telah ditulis sejak lama dan tidak akan mengetahuinya.
Pembaruan: Menurut dokumen Xlib pada subjek :
Juga,
Dan Anda dapat mengatur atribut untuk menonaktifkan propagasi .
Masalahnya adalah, Anda tidak memberi tahu X tombol mana yang harus didengarkan, jadi Anda tidak pernah bisa memberi tahu apriori apa kunci yang didengarkan aplikasi (apalagi apa yang mereka lakukan) atau benar-benar apakah mereka berniat untuk menyebarkannya jika sebenarnya mendengarkannya. Dengan demikian, registri pusat tidak mungkin pada level X, jadi Anda harus melakukannya di tingkat toolkit, yang praktis tidak mungkin. : D
sumber
Aplikasi menyimpan pintasan mereka secara independen, sehingga tidak ada tempat sentral, di mana mereka disimpan.
Saya tidak mengerti keseluruhan proses interaksi keyboard - OS - kernel - X11 - Window Manager - Lingkungan Desktop - Aplikasi, tetapi jika jendela tertentu, seperti Gedit, memiliki fokus keyboard, ia dapat menangani input sendiri, dan ia melakukannya.
sumber
Di 11.10, di bawah Konfigurasi Sistem -> Keyboard -> Pintasan Anda mendapatkan daftar yang cukup besar. Apakah itu yang Anda cari?
sumber