On Sun, Feb 11, 2024 at 10:34:52AM +0100, Omar Polo wrote:
> I can reproduce here.  Laptop' print key works, the USB keyboard one
> doesn't.

On PS/2 keyboards the print screen key and the pause/break key have special
behaviour when operating in set 2.  On USB keyboards print screen is basically
just a regular key.

I did some tests here with a native PS/2 keyboard and the same keyboard
connected via this USB to PS/2 adaptor:

0a81:0205 CHESEN, PS2 to USB Converter

Connected via PS/2, xev reports the print screen keypress.
Connected via USB, it does not.

Modifying wskbd_translate() in wskbd.c and adding a printf() call to dump the
value of 'value', (great choice of variable name), we can see the following
behaviour on the console, (not in X):


PS/2

Print Screen:
Press: 0xAA 0xB7
Release: 0xB7 0xAA

Scroll lock:
Press: 0x46
Release: 0x46

Pause/break
Press: 0x7F 0x7F
Release: nothing

SysRq, (I.E. shifted Print Screen)
Press: [code of the shift key itself, E.G. 0x36 or 0x2A] 0xB7
Release: 0xB7 [code of the shift key itself]


USB

Print Screen:
Press: 0x46
Release: 0x46

Scroll lock:
Press: 0x47
Release: 0x47

Pause/Break
Press: 0x48 0x48
Release: nothing

SysRq, (I.E. shifted Print Screen)
Press: [code of the shift key, E.G. 0xE5] 0x46
Release: 0x46 [code of the shift key]


... which is all what I would have expected.

Reply via email to