¿Cómo encontrar * por qué * no puedo vincular un atajo de teclado (o qué aplicación lo tomó)?

14

En resumen: ¿hay (bajo Unity) alguna forma de averiguar qué aplicación tomó algún atajo global? No pido "accesos directos estándar", sino alguna forma de obtener información sobre los accesos directos reales (qué aplicación realmente mantiene la clave dada en este momento en mi configuración actual)

Historia más larga:

Tengo problemas repetibles con la administración de atajos de teclado. En el momento:

  • Synapse a veces (*) no puede vincular Win-Space ya que es un atajo de activación, informando "No se pudo registrar la tecla de acceso rápido 'activar' con la firma 'espacio'" (lo que generalmente significa que este atajo ya está tomado)

    (*) Después de un inicio de sesión funciona, después de otro inicio de sesión no. Sospecho alguna carrera entre dos aplicaciones ...

  • F9 por alguna razón hace que mi pantalla sea un poco más oscura (y F9 no alcanza accesos directos a nivel de aplicación, por lo que, por ejemplo, mi menú byobu no funciona)

Traté de mirar varios lugares y:

  • Yo no vi ninguno de esos atajos de teclado en la configuración / Atajos

  • No puedo encontrarlos en gconf-editor (intenté buscar F9 en valores en particular, no se encontró nada)

  • No pude encontrarlos en dconf-editor (no hay búsqueda, así que hice clic en algunas de las rutas más obvias)

Entonces mi pregunta es: ¿hay alguna manera de preguntarle a unity / dconf / gconf / d-bus / lo que sea sobre la asignación actual de teclas de acceso rápido globales (qué proceso mantiene qué tecla). O forzar el registro de esas asignaciones en algún archivo de registro. O agárralos desde algún lado. O………

Mekk
fuente
¿Podría aclarar o definir (a los efectos de esta pregunta) qué se entiende por atajo global ?
La tecla que presiono y que hace que suceda algo no relacionado con la ventana actualmente activa. Por ejemplo, el acceso directo global Win-S abre la vista de exposición, el acceso directo global Alt-Tab cambia las ventanas, F12 (en mi configuración) abre un terminal desplegable tilda, etc. Y, como dije, cada vez que presiono F9, la pantalla se atenúa, y No tengo idea de qué aplicación hace eso y por qué. Y algo a veces agarra Win-space. Y en el pasado, vi que F12 le fue quitado a tilda (por suerte este problema desapareció). Así que estaría feliz de tener alguna forma de examinar esas asignaciones de teclado.
Mekk
Creo que F9 podría activar la superposición de widgets, pero ha pasado tiempo desde que estoy en Unity. ¿Quizás buscar eso en CCSM ..?
Rasmus
Vistazo a askubuntu.com/questions/101226/... o wiki.ubuntu.com/Keybindings o superuser.com/questions/152367/... - se describen varios lugares, por ejemplo en dconf o gconf donde la unidad almacena sus accesos directos. ¿Quizás le gustaría consultar estas páginas para obtener información nueva?
Byte Commander

Respuestas:

2

Entre 12.10 y 17.04, el escritorio de Ubuntu es en realidad Compiz y Unity en sí es solo un complemento de Compiz.

Si, en cambio, establece y habilita el complemento "comandos" de Compiz y establece métodos abreviados de teclado usando CCSS donde hay un conflicto, CCSM debería alertarle sobre qué complemento está causando el conflicto y también debe proporcionar opciones para deshabilitar el complemento en conflicto o la combinación de teclas en conflicto antes de aplicar su configuración.

Personalmente, también he tenido dificultades para configurar métodos abreviados de teclado en 14.04+, pero desde que decidí comenzar a usar el complemento CCSM en lugar de la configuración de métodos abreviados de teclado en Unity, no he tenido ningún problema y todos mis métodos abreviados funcionan bien, así que le recomiendo al menos que lo vea como una opción.

mchid
fuente
1

Ahora entiendo lo que necesitas ...

sudo apt-get install evtest

¡Disfruta desentrañando eventos HID USB de Ubuntu!

Advertencia Esto no funciona en los teclados PS2 / style ... (¿pero quién lo usa más de todos modos?) :-)

Fabby
fuente
No estoy resolviendo completamente mi problema, pero seguramente es útil. Aún así, tengo curiosidad sobre cuál es el lugar donde se guardan esos enlaces activos y si puede ser introspectado (las configuraciones son el lugar donde muchas aplicaciones las leen, pero no todas las aplicaciones deben usar configuraciones ...)
Mekk
Si me das el resultado del comando anterior, puedo ayudarte ... Si quieres saber por qué , te aconsejo que leas: wiki.archlinux.org/index.php/Extra_keyboard_keys y agradecerás que funcione ¡¡¡en absoluto!!! ;-)
Fabby
Este artículo no es exactamente lo que estoy preguntando: no pregunto cómo se traducen las teclas de las pulsaciones de teclas físicas a los símbolos (aunque esto también es interesante y, a veces, confuso). Pregunto algo más simple: qué programa realmente mantiene y aplica métodos abreviados de teclado globales, y si existe algún tipo de utilidad o API que me permita introspectar o rastrear esas asignaciones.
Mekk
(cuando comienzo la unidad, registra Alt-F2, Alt-F4, Win-S, etc., etc. cuando comienzo la sinapsis, registra Win-space, cuando comienzo yakuake, registra F12, etc., dos últimos según mi configuración, pero ¿en qué lugar registran esas claves y cómo acceder a este lugar?)
Mekk
Oooh ... Ahora veo ... ¡Hay algo llamado evtestpero eso solo hace cosas USB! Por otro lado, ¡eso es exactamente lo que necesita si usa una computadora portátil o una computadora de escritorio sin el estilo de PS / 2 keyoard!
Fabby
1

De una de mis respuestas anteriores :

Primero tienes que instalar xdotool:

sudo apt-get install xdotool

Hice una serie de comandos para mostrarnos las capturas pasivas en una pulsación de tecla. Por ejemplo, para ver lo que está tomando el combo Shift + PrintScreen, puede usar el siguiente "script":

xdotool keydown "shift+Print"; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

Esto activará Shift + PrtSc keyevent y en una instalación predeterminada de Ubuntu mostrará gnome-settings-daemon agarrando el teclado. Al menos esto funcionó en mi instalación anterior de 12.04, pero parece que en un 14.04 tuve que usar esto:

xdotool key "shift+Print"; sleep 1; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

pero

xdotool keydown "F12"; xdotool key "XF86LogGrabInfo"; xdotool keyup "F12"; tail /var/log/Xorg.0.log

todavía funciona, a veces, y otras no. No se porque.

Solo tiene que modificar el "script" anterior cambiando las claves que deben simularse.

halconero
fuente