Summary: | base system/kern after update to xorg-server-1.20, Sun keys are > not recognized | ||
---|---|---|---|
Product: | Base System | Reporter: | Kostas Oikonomou <ko> |
Component: | kern | Assignee: | Vladimir Kondratyev <wulf> |
Status: | Closed Works As Intended | ||
Severity: | Affects Only Me | CC: | lcook, wulf |
Priority: | --- | Keywords: | needs-qa |
Version: | 12.1-RELEASE | ||
Hardware: | amd64 | ||
OS: | Any |
Description
Kostas Oikonomou
2020-06-21 20:32:45 UTC
Please, dump your keyboard USB report descriptor and left key scancodes. Add hw.usb.quirk.0="0xVID 0xPID 0 0xffff UQ_KBD_IGNORE" to /boot/loader.conf and reboot. It will effectively replace your keyboard with generic HID driver (uhid). 0xVID and 0xPID should be replaced with your keyboard vendor ID and product ID (in hex) Than dump USB report descriptor with 'sudo usbhidctl -f /dev/uhidX -r' and scncodes with 'sudo usbhidctl -f /dev/uhidX -la' command. You should press the keys while running latter command. Please post results here. (In reply to Vladimir Kondratyev from comment #1) I did the first step, with keyboard id 0x0430 and vendor id 0x0005. Unfortunately, after rebooting, this deactivated my keyboard, so I could not do anything. The Sun keyboard was completely inactive (even in sigle user mode). I have a wireless USB keyboard, and plugging that in allowed me to comment out the change in loader.conf and fix the situation. (In reply to Kostas Oikonomou from comment #2) Unfortunately, after rebooting, this deactivated my keyboard, That is expected. I should have warned you. Sorry. You need 2-nd keyboard or ssh session to test 1-st keyboard with usbhidctl. Alternatively, you can replace usb keyboard driver with https://github.com/wulf7/iichid as it exports uhid-compatible character device as /dev/hidrawX and allows usbhidctl attachment with live keyboard. (In reply to Vladimir Kondratyev from comment #3) > Alternatively, you can replace usb keyboard driver > with https://github.com/wulf7/iichid as it exports > uhid-compatible character device as /dev/hidrawX and > allows usbhidctl attachment with live keyboard. Forget it. You need 12-STABLE or 13-CURRENT to get keyboard work this way. (In reply to Vladimir Kondratyev from comment #4) Using the 2nd keyboard I did [ko@wiley ~]$ sudo usbhidctl -f /dev/uhid0 -r > usb_report_descriptor0 [ko@wiley ~]$ sudo usbhidctl -f /dev/uhid1 -r > usb_report_descriptor1 The files usb_report_descriptor0 and usb_report_descriptor1 are at the end. Then I did [ko@wiley ~]$ sudo usbhidctl -f /dev/uhid0 -la > codes0 usbhidctl: hid_get_report(rid 0): Device not configured ^C [ko@wiley ~]$ sudo usbhidctl -f /dev/uhid1 -la > codes1 usbhidctl: hid_get_report(rid 32): Device not configured usbhidctl: hid_get_report(rid 33): Device not configured usbhidctl: hid_get_report(rid 16): Device not configured usbhidctl: hid_get_report(rid 17): Device not configured usbhidctl: hid_get_report(rid 32): Device not configured usbhidctl: hid_get_report(rid 33): Device not configured ^C [ko@wiley ~]$ The files codes0 and codes1 are empty. ========================================================================= [ko@wiley ~]$ cat usb_report_descriptor0 Report descriptor: Collection type=Application page=Generic_Desktop usage=Keyboard Input rid=0 pos=0 size=1 count=1 page=Keyboard usage=Keyboard_LeftControl, logical range 0..1 Input rid=0 pos=1 size=1 count=1 page=Keyboard usage=Keyboard_LeftShift, logical range 0..1 Input rid=0 pos=2 size=1 count=1 page=Keyboard usage=Keyboard_LeftAlt, logical range 0..1 Input rid=0 pos=3 size=1 count=1 page=Keyboard usage=Keyboard_Left_GUI, logical range 0..1 Input rid=0 pos=4 size=1 count=1 page=Keyboard usage=Keyboard_RightControl, logical range 0..1 Input rid=0 pos=5 size=1 count=1 page=Keyboard usage=Keyboard_RightShift, logical range 0..1 Input rid=0 pos=6 size=1 count=1 page=Keyboard usage=Keyboard_RightAlt, logical range 0..1 Input rid=0 pos=7 size=1 count=1 page=Keyboard usage=Keyboard_Right_GUI, logical range 0..1 Output rid=0 pos=0 size=1 count=1 page=LEDs usage=Num_Lock, logical range 0..1 Output rid=0 pos=1 size=1 count=1 page=LEDs usage=Caps_Lock, logical range 0..1 Output rid=0 pos=2 size=1 count=1 page=LEDs usage=Scroll_Lock, logical range 0..1 Output rid=0 pos=3 size=1 count=1 page=LEDs usage=Compose, logical range 0..1 Output rid=0 pos=4 size=1 count=1 page=LEDs usage=Kana, logical range 0..1 Input rid=0 pos=16 size=8 count=6 page=Keyboard usage=Reserved_(no_event_indicated) Array, logical range 0..139 End collection Total input size 8 bytes Total output size 1 bytes Total feature size 0 bytes [ko@wiley ~]$ cat usb_report_descriptor1 Report descriptor: Collection type=Application page=Microsoft usage=0x0001 Input rid=16 pos=0 size=8 count=6 page=Microsoft usage=0x0001 Array, logical range 0..255 Output rid=16 pos=0 size=8 count=6 page=Microsoft usage=0x0001 Array, logical range 0..255 End collection Collection type=Application page=Microsoft usage=0x0002 Input rid=17 pos=0 size=8 count=19 page=Microsoft usage=0x0002 Array, logical range 0..255 Output rid=17 pos=0 size=8 count=19 page=Microsoft usage=0x0002 Array, logical range 0..255 End collection Collection type=Application page=Microsoft usage=0x0004 Input rid=32 pos=0 size=8 count=14 page=Microsoft usage=0x0041 Array, logical range 0..255 Output rid=32 pos=0 size=8 count=14 page=Microsoft usage=0x0041 Array, logical range 0..255 Input rid=33 pos=0 size=8 count=31 page=Microsoft usage=0x0042 Array, logical range 0..255 Output rid=33 pos=0 size=8 count=31 page=Microsoft usage=0x0042 Array, logical range 0..255 End collection Total input size 32 bytes Total output size 32 bytes Total feature size 0 bytes [ko@wiley ~]$ (In reply to Kostas Oikonomou from comment #5) Great! usb_report_descriptor0 is a keyboard report descriptor. Now, please run sudo usbhidctl -f /dev/uhid0 -la but let it run instead of terminate and than press/release sequentially all the left-side Sun keys. If all is done properly, you will see following strings among others at keypress: Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=XXX 0 0 0 0 0 where XXX is a decimal HID scancode. On release this string should be just: Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Please post all these XXX with according key names here. (In reply to Vladimir Kondratyev from comment #6) On the left panel of the Sun keyboard are 10 keys, in 5 rows: Stop, Again Props, Undo Front, Copy, Open, Paste Find, Cut I pressed them in order left-to-right, top-to-bottom: [ko@wiley ~]$ sudo usbhidctl -f /dev/uhid0 -la Password: usbhidctl: hid_get_report(rid 0): Device not configured Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl= Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift= Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt= Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI= Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl= Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift= Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt= Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI= Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)= Generic_Desktop:Keyboard.LEDs:Num_Lock=0 Generic_Desktop:Keyboard.LEDs:Caps_Lock=0 Generic_Desktop:Keyboard.LEDs:Scroll_Lock=0 Generic_Desktop:Keyboard.LEDs:Compose=0 Generic_Desktop:Keyboard.LEDs:Kana=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=120 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=121 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=118 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=122 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=119 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=124 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=116 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=125 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=126 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=123 0 0 0 0 0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_LeftAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Left_GUI=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightControl=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightShift=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_RightAlt=0 Generic_Desktop:Keyboard.Keyboard:Keyboard_Right_GUI=0 Generic_Desktop:Keyboard.Keyboard:Reserved_(no_event_indicated)=0 0 0 0 0 0 ^C [ko@wiley ~]$ Try # sysctl kern.evdev.rcpt_mask=12 (In reply to Vladimir Kondratyev from comment #8) I did. What is supposed to happen? (In reply to Kostas Oikonomou from comment #9) > I did. What is supposed to happen? Sun-specific keys on the left of the keyboard start to work (In reply to Vladimir Kondratyev from comment #10) The Sun keyboard is still totally disabled/inactive (In reply to Kostas Oikonomou from comment #11) > The Sun keyboard is still totally disabled/inactive Did you remove/comment out hw.usb.quirk line from /boot/loader.conf and reboot than? (In reply to Vladimir Kondratyev from comment #12) Removed the line from loader.conf, rebooted, and now xev shows all the right keycodes! I already got Open and Undo working in xfce and Emacs, and the Cut, Copy, Paste work in my browser. Thanks very much, this was a tough problem! Some last questions: 1) The sysctl kern.evdev.rcpt_mask=12 line goes in /etc/rc.conf? 2) Can you give a short explanation of what sysctl kern.evdev.rcpt_mask=12 did? (In reply to Kostas Oikonomou from comment #13) > Thanks very much, this was a tough problem! Great! > 1) The sysctl kern.evdev.rcpt_mask=12 line goes in /etc/rc.conf? It is better place kern.evdev.rcpt_mask=12 line in to /etc/sysctl.conf > 2) Can you give a short explanation of what sysctl kern.evdev.rcpt_mask=12 did? It disabled kbdmux as source of events and enabled ukbd. In USB keyboard case that reduced number of internal keycode translations from 2 (HID -> ATset1 -> evdev) to 1 (HID -> evdev). It looks like some of nonstandard Sun-specific keys were lost in transit as translation tables are not adjusted for 2 step translation good enough. Recent 13-CURRENT and 12-STABLE have kern.evdev.rcpt_mask=12 sysctl by default. |