Alt + Druckbildschirm funktioniert nicht mehr. So finden Sie Prozesse, die Ereignisse abhören

7

Sehr seltsames Problem heute. Ich wollte einen Thread zu einem anderen Problem veröffentlichen und wollte einen Screenshot eines Terminalfensters machen. Ich habe alles vorbereitet, drücke Alt+ Printscreenund nichts ist passiert.

Ich ging zu Tastaturkürzeln, um zu sehen, ob die Neudefinition der Tastenkombination funktioniert. Es tat es. Ich habe versucht, es wieder auf Alt+ zu setzen, Printscreenaber das Fenster saß nur da und lauschte auf einen Tastendruck. Es ist, als hätte ich nie einen Schlüssel gedrückt.

Sowohl die Altals auch die PrintscreenTasten funktionieren unabhängig voneinander einwandfrei. Ich habe auch versucht, die Ausgabe von zu betrachten, xevwährend ich die Tasten drücke. Es hört die Alt-Taste, hört danach aber nicht den Druckbildschirm.

Ich habe dies sowohl in Compiz als auch in der einfachen Metacity versucht. Ich habe auch eine Ersatztastatur und das zeigt identisches Verhalten (eine Tastatur ist PS / 2, die Ersatztastatur ist USB - also kein Portproblem).

Es ist, als ob etwas in der Ereigniskette auf dem Ereignis spuckt, so dass nichts anderes es hören kann. Meine Frage lautet im Grunde: Wie können Sie die Prozesse finden, die auf bestimmte Ereignisse reagieren?

Wie gewünscht:

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

Und

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

Bearbeiten: Als ich dies gepostet habe, war ich auf Lucid mit einem selbstgebauten 2.6.35 Kernel. Es stellt sich heraus, dass mein Problem mit dem Kernel und nicht mit X zusammenhängt.

Irgendwo hat jemand entschieden, dass Alt-Printscreen ein SysRq-Ereignis rendern soll. Technisch gesehen sollte es vielleicht sein, aber dies bricht das, was über ein Jahrzehnt von Linux und Windows "bekanntes Verhalten" sein muss.

Oli
quelle
Ich hatte ein ähnliches Problem, bei dem ich nicht zwei Tastenfolgen auf meiner Tastatur verwenden konnte. Das erste Problem wurde gelöst, indem ich mir meine Tastaturlayoutoptionen ansah und feststellte, dass diese Taste zum Ändern des Tastaturlayouts verwendet wurde. Die andere wurde behoben, als ich feststellte, dass zwei der drei Tasten in der Tastenfolge eine Verknüpfung für sich waren.
Umang
Haben Sie andere Programme, die den altSchlüssel abfangen würden ?
TJ L
Ich hatte kein Problem damit auf meinem Laptop 10.04- Welche Version läuft?
Marco Ceppi
@ Marco : 10.04. Ich glaube nicht, dass es ein Fehler ist, sondern dass etwas anderes den Ereignisstapel stört. @ tj111: Nicht das ich wüsste aber das ist ein Teil des Problems. Ich würde gerne wissen, was globale Tastaturereignisse abhört.
Oli

Antworten:

5

Laut meiner Bearbeitung scheint dies direkt mit der Kernel-Version 2.6.35 (und wahrscheinlich den nachfolgenden Kerneln) verbunden zu sein, wobei alt + prscr ein sysrq-Ereignis rendert.

SysRq scheint unverbindlich zu sein (zumindest aufgrund meiner Unordnung), aber Sie können das dumme neue Verhalten deaktivieren, indem Sie Folgendes hinzufügen zu /etc/sysctl.conf:

kernel.sysrq = 0
Oli
quelle
SysRq ist nicht bindend, da es aus diesem Grund erstellt wurde : "Es wurde von IBM mit dem PC / AT eingeführt und sollte als spezieller Schlüssel zum direkten Aufrufen von Betriebssystemfunktionen auf niedriger Ebene verfügbar sein, ohne dass Konflikte mit vorhandener Software auftreten können."
@ Roger: Vielleicht ist das der Fall, aber solange ich Linux benutze, hat der Kernel es durchgesickert, um als Alt + Printscreen bindbar zu sein. Das Stoppen dieses Verhaltens nach so langer Zeit ist ein Fehler an sich.
Oli
Ich sage nicht, dass Sie sich irren, sondern nur erklären, warum sysrq so funktioniert, wie es funktioniert. Sie könnten versuchen, Winkey / Super-Bindungen; Ich benutze es für fast alle meine Windows Manager-Verknüpfungen.
1
Das ist komisch: Ich hatte das gleiche Problem, aber bevor ich etwas änderte, versuchte ich zu sehen, was meine aktuelle Einstellung war: sudo sysctl -a | kernel.sysrqShows ... kernel.sysrq=0!!! Aber das Update wurde noch benötigt: sudo sysctl -w kernel.sysrq=0und das Problem war weg! Ziemlich verwirrend, oder?
MestreLion
Mmm ... ich bin mir sicher, dass Alt + PrtSc momentan wie vorgesehen funktioniert. Die einzige Möglichkeit, sysrq zu aktivieren, ist die Verwendung von Strg + Alt + Umschalt.
Braiam
1

Da Sie angeben, dass PrintScreen funktioniert, Alt + Printscreen jedoch nicht, kann dies mit Ihrer Modifikatorzuordnung zusammenhängen.

Wenn Sie 2 Alt-Tasten haben, können Sie es mit beiden versuchen und feststellen, ob das Verhalten gleich ist?

Können Sie den Befehl auch xmodmap -pke | grep -i modein einem Terminal ausführen und prüfen, ob dies darauf hinweist, dass eine der Alt-Tasten als "Modusschalter" -Taste zugeordnet ist? Normalerweise sehen Sie eine oder mehrere Keysym-Zeilen mit Codes, die der Modusschaltertaste zugewiesen sind.

Führen Sie auch xmodmap -pke | grep -i printein Terminal aus und prüfen Sie, ob die rechts neben dem Gleichheitszeichen aufgedruckten Codes mit der folgenden Zeile übereinstimmen.

keycode 107 = Print Sys_Req Print Sys_Req

Auf dieser Seite finden Sie Erläuterungen zur Syntax der Keysym-Zeile.

Koushik
quelle
Meinen Beitrag bearbeitet. Diese Zuordnungen scheinen vorhanden und korrekt zu sein. AltGr ist nicht dasselbe wie Alt. AFAIK AltGr + PrtSc sollte kein Druckbildschirmfenster anzeigen, aber wenn dies der Fall sein sollte, ist es nicht hier.
Oli
Du hast recht. Mod Maps sehen gut aus. So seltsam es klingt, jemand isst Alt+Prnt Scrn...
Koushik
0

Haben Sie versucht, nur Print Screen zu verwenden? Ich habe noch nie davon gehört, Alt damit zu verwenden.

Maco
quelle
4
Alt + PrintScreengreift nach dem aktuellen Fenster.
Marco Ceppi
Ja, der Schlüssel funktioniert einwandfrei. Das normale Druckbildschirmfenster wird angezeigt. Alt + PS sollte den Windowshot aufnehmen, tut dies aber nicht.
Oli
Alt + PrintScreenexistiert seit Anbeginn der Zeit, maco;) Ich erinnere mich, dass ich es in Windows 98
MestreLion