web-dev-qa-db-fra.com

Alt + Print Screen a cessé de fonctionner, comment trouver des processus écoutant des événements

Numéro très étrange aujourd'hui. J'allais publier un fil de discussion sur un autre problème et je voulais prendre une capture d'écran d'une fenêtre de terminal. Je l'ai tout préparé, frappé Alt+Printscreen et rien ne s'est passé.

Je suis allé dans les raccourcis clavier pour voir si la redéfinition du raccourci fonctionnait. Ça faisait. J'ai essayé de le remettre à Alt+Printscreen mais la fenêtre restait assise à écouter un appui de touche. C'est comme si je n'avais jamais appuyé sur une touche.

Les deux Alt et Printscreen les touches fonctionnent de manière autonome, tout à fait bien ... J'ai aussi essayé de regarder la sortie de xev en appuyant sur les touches. Il entend la touche Alt mais n’entend pas ensuite l’écran Printscreen.

J'ai essayé cela à la fois au sein de Compiz et d'une simple métacité. J'ai également un clavier de rechange et le comportement est identique (un clavier est PS/2, le clavier de rechange est USB, donc ce n'est pas un problème de port).

C'est comme s'il y avait quelque chose dans la chaîne d'événements qui a craché sur l'événement afin que rien d'autre ne puisse l'entendre. Ma question est la suivante: comment trouver les processus répondant à certains événements?

Comme demandé:

oli@bert:~$ xmodmap -pke | grep -i mode
keycode  82 = KP_Subtract XF86_Prev_VMode KP_Subtract XF86_Prev_VMode
keycode  86 = KP_Add XF86_Next_VMode KP_Add XF86_Next_VMode
keycode 100 = Henkan_Mode NoSymbol Henkan_Mode
keycode 203 = Mode_switch NoSymbol Mode_switch

Et

oli@bert:~$ xmodmap -pke | grep -i print
keycode 107 = Print Sys_Req Print Sys_Req
keycode 218 = Print NoSymbol Print

Edit: Quand j'ai posté ceci, j'étais sur Lucid avec un noyau 2.6.35 construit à la maison. Il se trouve que mon problème est lié au noyau et non à X.

Quelqu'un, quelque part, a décidé que alt-printscreen devrait générer un événement SysRq. Techniquement parlant, cela devrait peut-être être le cas, mais cela rompt ce qui doit être au cours des dix dernières années de "comportement connu" sous Linux et Windows.

7
Oli

Selon mon édition, cela semble être directement lié à la version 2.6.35 du noyau (et probablement aux noyaux ultérieurs) dans laquelle alt + prscr restitue un événement sysrq.

SysRq semble être non liée (du moins à cause de mes erreurs), mais vous pouvez désactiver le nouveau comportement stupide en ajoutant ce qui suit à /etc/sysctl.conf:

kernel.sysrq = 0
5
Oli

Puisque vous indiquez que PrintScreen fonctionne mais pas alt + printscreen, cela pourrait être lié au mappage de votre modificateur.

Si vous avez 2 touches Alt, pouvez-vous essayer avec les deux et voir si le comportement est identique?

De même, pouvez-vous exécuter la commande xmodmap -pke | grep -i mode dans un terminal et vérifier si cela indique que l’une des touches alt est affectée à la touche "Sélecteur de mode"? En règle générale, vous voyez une ou plusieurs lignes de touches contenant les codes attribués à la touche de changement de mode.

Exécutez également xmodmap -pke | grep -i print dans un terminal et voyez si les codes imprimés à droite du signe égal correspondent à la ligne ci-dessous.

keycode 107 = Print Sys_Req Print Sys_Req

Voir cette page pour une explication de la syntaxe de la ligne de touches.

1
koushik
1
sinus

Avez-vous essayé d'utiliser simplement Print Screen? Je n'ai jamais entendu parler d'utiliser Alt avec elle.

0
maco