No, no hay un solo lugar donde se guarden todos los accesos directos. Las aplicaciones pueden elegir almacenar sus configuraciones donde quieran.
Dicho esto, en su mayoría está buscando dos niveles: el nivel de aplicación (como Ctrl-C para copiar en Firefox) y el nivel del administrador de ventanas (como Win + D para mostrar el escritorio). Compiz usa gconf para almacenar su configuración .
Para las aplicaciones, puede dividirlas aproximadamente por sus kits de herramientas. A saber, las aplicaciones GTK también usan gconf.
¿Seguramente, Ubuntu debe almacenar esto en algún lugar para que la combinación de teclas presionada en el teclado se dirija a lo que está conectado?
No exactamente. La aplicación enfocada se inicia por primera vez en un evento de teclado X, pero si no lo hace, se dispara a otras aplicaciones, a saber, el administrador de ventanas. Por lo tanto, puedes tener un juego que capture Alt + F4 y no cierre la ventana (¡maldita sea, Jamestown!). Creo que está pensando que va a algún enrutador de eventos central, luego se compara con alguna base de datos y se enruta a su destino. Es más como pasar una botella de bebida: pase, tome un trago si lo desea y pase el resto, o tome todo y sea codicioso.
El entorno Linux / FOSS (puede que hayas notado) es bastante democrático, y lograr que todas las aplicaciones estén de acuerdo en un único repositorio de configuración de teclado central es una tontería. Por un lado, tiene aplicaciones sin mantenimiento que se escribieron hace mucho tiempo y que no sabría al respecto.
Actualización: Según los documentos de Xlib sobre el tema :
Comenzando con la ventana de origen, el servidor X busca la jerarquía de la ventana hasta que localiza la primera ventana especificada por un cliente como interesada en estos eventos. Si una de las ventanas que intervienen tiene su conjunto de máscara de no propagar para prohibir la generación del tipo de evento, se suprimirán los eventos de esos tipos.
También,
Para recibir los eventos KeyPress, KeyRelease, ButtonPress y ButtonRelease, establezca los bits KeyPressMask, KeyReleaseMask, ButtonPressMask y ButtonReleaseMask en el atributo de máscara de evento de la ventana.
Y puede establecer un atributo para deshabilitar la propagación .
El problema es que no le dices a X qué teclas escuchar, por lo que nunca puedes decir a priori qué teclas escucha la aplicación (y mucho menos qué hacen) o si realmente tienen la intención de propagarla si de hecho escuchándolo Por lo tanto, un registro central es imposible en el nivel X, por lo que tendría que hacerlo en el nivel del kit de herramientas, lo que es prácticamente imposible. :RE