Tidak, 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.
Tentunya, Ubuntu harus menyimpan ini di suatu tempat agar kombinasi tombol yang ditekan pada keyboard diarahkan ke apa yang terhubung dengannya?
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 :
Dimulai dengan jendela sumber, server X mencari hierarki jendela sampai menemukan jendela pertama yang ditentukan oleh klien sebagai memiliki minat pada peristiwa ini. Jika salah satu jendela intervensi memiliki do-not-propagate-mask yang disetel untuk melarang pembuatan tipe acara, kejadian tipe tersebut akan ditekan.
Juga,
Untuk menerima peristiwa KeyPress, KeyRelease, ButtonPress, dan ButtonRelease, atur KeyPressMask, KeyReleaseMask, ButtonPressMask, dan ButtonReleaseMask bit dalam atribut event-mask dari jendela.
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