我买了一个与旧键盘类似的新键盘。旧的可以用,新的不行。新键盘发送的一个额外数据字节有所不同。是否有支持新驱动程序的 Linux 驱动程序?
通过 的通信日志cat /sys/kernel/debug/usb/usbmon/3u
,仅字节序列(按“A”,释放“A”。按“S”,释放“S”。按“Shift”,按“A”,释放“A”,释放“Shift”序列):
不工作的 9 字节键盘通信:
00000400 00000000 71
00000000 00000000 71
00001600 00000000 71
00000000 00000000 71
02000000 00000000 71
02000400 00000000 71
02000000 00000000 71
00000000 00000000 71
旧键盘通信工作:
00000400 00000000
00000000 00000000
00001600 00000000
00000000 00000000
02000000 00000000
02000400 00000000
02000000 00000000
00000000 00000000
奖励:额外的字节是什么? (我总是0x71
在那里看到。)
新键盘的 HID 描述符通过cat /sys/kernel/debug/hid/<interface>/rdesc
:
界面0003:17EF:609B.0089
:
05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 81 02 75 08 95 01 81 01 05 08 19 01 29 03 75 01 95 03 91 02 95 01 75 05 91 01 15 00 26 ff 00 19 00 2a ff 00 05 07 75 08 95 06 81 00 05 01 0a 68 01 15 80 25 7f 95 01 75 08 81 02 c0
INPUT[INPUT]
Field(0)
Application(GenericDesktop.Keyboard)
Usage(8)
Keyboard.00e0
Keyboard.00e1
Keyboard.00e2
Keyboard.00e3
Keyboard.00e4
Keyboard.00e5
Keyboard.00e6
Keyboard.00e7
Logical Minimum(0)
Logical Maximum(1)
Report Size(1)
Report Count(8)
Report Offset(0)
Flags( Variable Absolute )
Field(1)
Application(GenericDesktop.Keyboard)
Usage(256)
LED.0000
LED.NumLock
LED.CapsLock
LED.ScrollLock
LED.Compose
LED.Kana
LED.0006
LED.0007
LED.0008
LED.0009
... LED sequence left out
LED.0049
LED.004a
LED.GenericIndicator
LED.004c
LED.004d
LED.004e
LED.004f
... LED sequence left out
LED.00fd
LED.00fe
LED.00ff
Logical Minimum(0)
Logical Maximum(255)
Report Size(8)
Report Count(6)
Report Offset(16)
Flags( Array Absolute )
Field(2)
Application(GenericDesktop.Keyboard)
Usage(1)
GenericDesktop.0168
Logical Minimum(-128)
Logical Maximum(127)
Report Size(8)
Report Count(1)
Report Offset(64)
Flags( Variable Absolute )
OUTPUT[OUTPUT]
Field(0)
Application(GenericDesktop.Keyboard)
Usage(3)
LED.NumLock
LED.CapsLock
LED.ScrollLock
Logical Minimum(0)
Logical Maximum(1)
Report Size(1)
Report Count(3)
Report Offset(0)
Flags( Variable Absolute )
Keyboard.00e0 ---> Key.LeftControl
Keyboard.00e1 ---> Key.LeftShift
Keyboard.00e2 ---> Key.LeftAlt
Keyboard.00e3 ---> Key.LeftMeta
Keyboard.00e4 ---> Key.RightCtrl
Keyboard.00e5 ---> Key.RightShift
Keyboard.00e6 ---> Key.RightAlt
Keyboard.00e7 ---> Key.RightMeta
LED.0000 ---> Sync.Report
LED.NumLock ---> LED.NumLock
LED.CapsLock ---> LED.CapsLock
LED.ScrollLock ---> LED.ScrollLock
LED.Compose ---> LED.Compose
LED.Kana ---> LED.Kana
LED.0006 ---> Sync.Report
LED.0007 ---> Sync.Report
LED.0008 ---> Sync.Report
LED.0009 ---> LED.Mute
LED.000a ---> Sync.Report
LED.000b ---> Sync.Report
... Sync.Report lines left out
LED.0017 ---> Sync.Report
LED.0018 ---> Sync.Report
LED.0019 ---> LED.?
LED.001a ---> Sync.Report
LED.001b ---> Sync.Report
... Sync.Report lines left out
LED.0025 ---> Sync.Report
LED.0026 ---> Sync.Report
LED.0027 ---> LED.Sleep
LED.0028 ---> Sync.Report
LED.0029 ---> Sync.Report
... Sync.Report lines left out
LED.0049 ---> Sync.Report
LED.004a ---> Sync.Report
LED.GenericIndicator ---> LED.Misc
LED.004c ---> LED.Suspend
LED.004d ---> LED.?
LED.004e ---> Sync.Report
LED.004f ---> Sync.Report
... Sync.Report lines left out
LED.00fe ---> Sync.Report
LED.00ff ---> Sync.Report
GenericDesktop.0168 ---> Absolute.Misc
LED.NumLock ---> LED.?
LED.CapsLock ---> LED.?
LED.ScrollLock ---> LED.?
界面0003:17EF:609B.008B
:
05 0c 09 01 a1 01 85 01 19 00 2a 3c 02 15 00 26 3c 02 95 01 75 10 81 00 05 01 0a 68 01 15 80 25 7f 95 01 75 08 81 02 c0 05 01 09 80 a1 01 85 02 19 81 29 83 15 00 25 01 75 01 95 03 81 02 95 05 81 01 05 01 0a 68 01 15 80 25 7f 95 01 75 08 81 02 c0 06 01 ff 09 01 a1 01 85 05 95 07 75 08 15 00 26 ff 00 09 20 b1 03 c0
INPUT(1)[INPUT]
Field(0)
Application(Consumer.0001)
Usage(573)
Consumer.0000
Consumer.0001
Consumer.0002
Consumer.0003
Consumer.0004
... Consumer sequence left out
Consumer.0235
Consumer.0236
Consumer.0237
Consumer.HorizontalWheel
Consumer.0239
Consumer.023a
Consumer.023b
Consumer.023c
Logical Minimum(0)
Logical Maximum(572)
Report Size(16)
Report Count(1)
Report Offset(0)
Flags( Array Absolute )
Field(1)
Application(Consumer.0001)
Usage(1)
GenericDesktop.0168
Logical Minimum(-128)
Logical Maximum(127)
Report Size(8)
Report Count(1)
Report Offset(16)
Flags( Variable Absolute )
INPUT(2)[INPUT]
Field(0)
Application(GenericDesktop.SystemControl)
Usage(3)
GenericDesktop.SystemPowerDown
GenericDesktop.SystemSleep
GenericDesktop.SystemWakeUp
Logical Minimum(0)
Logical Maximum(1)
Report Size(1)
Report Count(3)
Report Offset(0)
Flags( Variable Absolute )
Field(1)
Application(GenericDesktop.SystemControl)
Usage(1)
GenericDesktop.0168
Logical Minimum(-128)
Logical Maximum(127)
Report Size(8)
Report Count(1)
Report Offset(8)
Flags( Variable Absolute )
FEATURE(5)[FEATURE]
Field(0)
Application(ff01.0001)
Usage(7)
ff01.0020
ff01.0020
ff01.0020
ff01.0020
ff01.0020
ff01.0020
ff01.0020
Logical Minimum(0)
Logical Maximum(255)
Report Size(8)
Report Count(7)
Report Offset(0)
Flags( Constant Variable Absolute )
Consumer.0000 ---> Sync.Report
Consumer.0001 ---> Key.Unknown
Consumer.0002 ---> Key.Unknown
... Key.Unknown lines left out
Consumer.002e ---> Key.Unknown
Consumer.002f ---> Key.Unknown
Consumer.0030 ---> Key.Power
Consumer.0031 ---> Key.Restart
Consumer.0032 ---> Key.Sleep
Consumer.0033 ---> Key.Unknown
Consumer.0034 ---> Key.Sleep
Consumer.0035 ---> Key.KbdIlluminationToggle
Consumer.0036 ---> Key.Btn0
Consumer.0037 ---> Key.Unknown
Consumer.0038 ---> Key.Unknown
... Key.Unknown lines left out
Consumer.003e ---> Key.Unknown
Consumer.003f ---> Key.Unknown
Consumer.0040 ---> Key.Menu
Consumer.0041 ---> Key.Select
Consumer.0042 ---> Key.Up
Consumer.0043 ---> Key.Down
Consumer.0044 ---> Key.Left
Consumer.0045 ---> Key.Right
Consumer.0046 ---> Key.Esc
Consumer.0047 ---> Key.KPPlus
Consumer.0048 ---> Key.KPMinus
Consumer.0049 ---> Key.Unknown
Consumer.004a ---> Key.Unknown
... Key.Unknown lines left out
Consumer.005e ---> Key.Unknown
Consumer.005f ---> Key.Unknown
Consumer.0060 ---> Key.Info
Consumer.0061 ---> Key.Subtitle
Consumer.0062 ---> Key.Unknown
Consumer.0063 ---> Key.VCR
Consumer.0064 ---> Key.Unknown
Consumer.0065 ---> Key.Camera
Consumer.0066 ---> Key.Unknown
Consumer.0067 ---> Key.Unknown
Consumer.0068 ---> Key.Unknown
Consumer.0069 ---> Key.Red
Consumer.006a ---> Key.Green
Consumer.006b ---> Key.Blue
Consumer.006c ---> Key.Yellow
Consumer.006d ---> Key.Zoom
Consumer.006e ---> Key.Unknown
Consumer.006f ---> Key.BrightnessUp
Consumer.0070 ---> Key.BrightnessDown
Consumer.0071 ---> Key.Unknown
Consumer.0072 ---> Key.?
Consumer.0073 ---> Key.BrightnessMin
Consumer.0074 ---> Key.BrightnessMax
Consumer.0075 ---> Key.BrightnessAuto
Consumer.0076 ---> Key.Unknown
Consumer.0077 ---> Key.Unknown
... Key.Unknown lines left out
Consumer.0080 ---> Key.Unknown
Consumer.0081 ---> Key.Unknown
Consumer.0082 ---> Key.?
Consumer.0083 ---> Key.Last
Consumer.0084 ---> Key.Enter
Consumer.0085 ---> Key.Unknown
Consumer.0086 ---> Key.Unknown
Consumer.0087 ---> Key.Unknown
Consumer.0088 ---> Key.PC
Consumer.0089 ---> Key.TV
Consumer.008a ---> Key.WWW
Consumer.008b ---> Key.DVD
Consumer.008c ---> Key.Phone
Consumer.008d ---> Key.Program
Consumer.008e ---> Key.?
Consumer.008f ---> Key.?
Consumer.0090 ---> Key.Memo
Consumer.0091 ---> Key.CD
Consumer.0092 ---> Key.VCR
Consumer.0093 ---> Key.Tuner
Consumer.0094 ---> Key.Exit
Consumer.0095 ---> Key.Help
Consumer.0096 ---> Key.Tape
Consumer.0097 ---> Key.TV2
Consumer.0098 ---> Key.Sat
Consumer.0099 ---> Key.Unknown
Consumer.009a ---> Key.PVR
Consumer.009b ---> Key.Unknown
Consumer.009c ---> Key.ChannelUp
Consumer.009d ---> Key.ChannelDown
Consumer.009e ---> Key.Unknown
Consumer.009f ---> Key.Unknown
Consumer.00a0 ---> Key.VCR2
Consumer.00a1 ---> Key.Unknown
Consumer.00a2 ---> Key.Unknown
... Key.Unknown lines left out
Consumer.00ae ---> Key.Unknown
Consumer.00af ---> Key.Unknown
Consumer.00b0 ---> Key.Play
Consumer.00b1 ---> Key.Pause
Consumer.00b2 ---> Key.Record
Consumer.00b3 ---> Key.FastForward
Consumer.00b4 ---> Key.Rewind
Consumer.00b5 ---> Key.NextSong
Consumer.00b6 ---> Key.PreviousSong
Consumer.00b7 ---> Key.StopCD
Consumer.00b8 ---> Key.EjectCD
Consumer.00b9 ---> Key.Shuffle
Consumer.00ba ---> Key.Unknown
Consumer.00bb ---> Key.Unknown
Consumer.00bc ---> Key.?
Consumer.00bd ---> Key.Unknown
Consumer.00be ---> Key.Unknown
Consumer.00bf ---> Key.Slow
Consumer.00c0 ---> Key.Unknown
Consumer.00c1 ---> Key.Unknown
... Key.Unknown lines left out
Consumer.00cb ---> Key.Unknown
Consumer.00cc ---> Key.Unknown
Consumer.00cd ---> Key.PlayPause
Consumer.00ce ---> Key.Unknown
Consumer.00cf ---> Key.VoiceCommand
Consumer.00d0 ---> Key.Unknown
Consumer.00d1 ---> Key.Unknown
... Key.Unknown lines left out
Consumer.00de ---> Key.Unknown
Consumer.00df ---> Key.Unknown
Consumer.00e0 ---> Absolute.Volume
Consumer.00e1 ---> Key.Unknown
Consumer.00e2 ---> Key.Mute
Consumer.00e3 ---> Key.Unknown
Consumer.00e4 ---> Key.Unknown
Consumer.00e5 ---> Key.BassBoost
Consumer.00e6 ---> Key.Unknown
Consumer.00e7 ---> Key.Unknown
Consumer.00e8 ---> Key.Unknown
Consumer.00e9 ---> Key.VolumeUp
Consumer.00ea ---> Key.VolumeDown
Consumer.00eb ---> Key.Unknown
Consumer.00ec ---> Key.Unknown
... Key.Unknown lines left out
Consumer.00f3 ---> Key.Unknown
Consumer.00f4 ---> Key.Unknown
Consumer.00f5 ---> Key.Slow
Consumer.00f6 ---> Key.Unknown
Consumer.00f7 ---> Key.Unknown
... Key.Unknown lines left out
Consumer.017f ---> Key.Unknown
Consumer.0180 ---> Key.Unknown
Consumer.0181 ---> Key.ButtonConfig
Consumer.0182 ---> Key.Bookmarks
Consumer.0183 ---> Key.Config
Consumer.0184 ---> Key.?
Consumer.0185 ---> Key.?
Consumer.0186 ---> Key.?
Consumer.0187 ---> Key.?
Consumer.0188 ---> Key.?
Consumer.0189 ---> Key.?
Consumer.018a ---> Key.Mail
Consumer.018b ---> Key.?
Consumer.018c ---> Key.?
Consumer.018d ---> Key.?
Consumer.018e ---> Key.Calendar
Consumer.018f ---> Key.TaskManager
Consumer.0190 ---> Key.Journal
Consumer.0191 ---> Key.Finance
Consumer.0192 ---> Key.Calc
Consumer.0193 ---> Key.Player
Consumer.0194 ---> Key.File
Consumer.0195 ---> Key.Unknown
Consumer.0196 ---> Key.WWW
Consumer.0197 ---> Key.Unknown
Consumer.0198 ---> Key.Unknown
Consumer.0199 ---> Key.Chat
Consumer.019a ---> Key.Unknown
Consumer.019b ---> Key.Unknown
Consumer.019c ---> Key.Logoff
Consumer.019d ---> Key.Unknown
Consumer.019e ---> Key.Coffee
Consumer.019f ---> Key.ControlPanel
Consumer.01a0 ---> Key.Unknown
Consumer.01a1 ---> Key.Unknown
Consumer.01a2 ---> Key.AppSelect
Consumer.01a3 ---> Key.Next
Consumer.01a4 ---> Key.Previous
Consumer.01a5 ---> Key.Unknown
Consumer.01a6 ---> Key.Help
Consumer.01a7 ---> Key.Documents
Consumer.01a8 ---> Key.Unknown
Consumer.01a9 ---> Key.Unknown
Consumer.01aa ---> Key.Unknown
Consumer.01ab ---> Key.SpellCheck
Consumer.01ac ---> Key.Unknown
Consumer.01ad ---> Key.Unknown
Consumer.01ae ---> Key.Keyboard
Consumer.01af ---> Key.Unknown
Consumer.01b0 ---> Key.Unknown
Consumer.01b1 ---> Key.ScreenSaver
Consumer.01b2 ---> Key.Unknown
Consumer.01b3 ---> Key.Unknown
Consumer.01b4 ---> Key.File
Consumer.01b5 ---> Key.Unknown
Consumer.01b6 ---> Key.?
Consumer.01b7 ---> Key.Audio
Consumer.01b8 ---> Key.Video
Consumer.01b9 ---> Key.Unknown
Consumer.01ba ---> Key.Unknown
Consumer.01bb ---> Key.Unknown
Consumer.01bc ---> Key.?
Consumer.01bd ---> Key.Info
Consumer.01be ---> Key.Unknown
Consumer.01bf ---> Key.Unknown
... Key.Unknown lines left out
Consumer.01ff ---> Key.Unknown
Consumer.0200 ---> Key.Unknown
Consumer.0201 ---> Key.New
Consumer.0202 ---> Key.Open
Consumer.0203 ---> Key.Close
Consumer.0204 ---> Key.Exit
Consumer.0205 ---> Key.Unknown
Consumer.0206 ---> Key.Unknown
Consumer.0207 ---> Key.Save
Consumer.0208 ---> Key.Print
Consumer.0209 ---> Key.Props
Consumer.020a ---> Key.Unknown
Consumer.020b ---> Key.Unknown
... Key.Unknown lines left out
Consumer.0218 ---> Key.Unknown
Consumer.0219 ---> Key.Unknown
Consumer.021a ---> Key.Undo
Consumer.021b ---> Key.Copy
Consumer.021c ---> Key.Cut
Consumer.021d ---> Key.Paste
Consumer.021e ---> Key.Unknown
Consumer.021f ---> Key.Find
Consumer.0220 ---> Key.Unknown
Consumer.0221 ---> Key.Search
Consumer.0222 ---> Key.Goto
Consumer.0223 ---> Key.HomePage
Consumer.0224 ---> Key.Back
Consumer.0225 ---> Key.Forward
Consumer.0226 ---> Key.Stop
Consumer.0227 ---> Key.Refresh
Consumer.0228 ---> Key.Unknown
Consumer.0229 ---> Key.Unknown
Consumer.022a ---> Key.Bookmarks
Consumer.022b ---> Key.Unknown
Consumer.022c ---> Key.Unknown
Consumer.022d ---> Key.?
Consumer.022e ---> Key.?
Consumer.022f ---> Key.?
Consumer.0230 ---> Key.Unknown
Consumer.0231 ---> Key.Unknown
Consumer.0232 ---> Key.Unknown
Consumer.0233 ---> Key.ScrollUp
Consumer.0234 ---> Key.ScrollDown
Consumer.0235 ---> Key.Unknown
Consumer.0236 ---> Key.Unknown
Consumer.0237 ---> Key.Unknown
Consumer.HorizontalWheel ---> Relative.HWheel
Consumer.0239 ---> Key.Unknown
Consumer.023a ---> Key.Unknown
Consumer.023b ---> Key.Unknown
Consumer.023c ---> Key.Unknown
GenericDesktop.0168 ---> Absolute.Misc
GenericDesktop.SystemPowerDown ---> Key.Power
GenericDesktop.SystemSleep ---> Key.Sleep
GenericDesktop.SystemWakeUp ---> Key.WakeUp
GenericDesktop.0168 ---> Sync.Report
旧键盘、接口的HID描述符0003:17EF:6022.0087
(只有一个键盘接口):
05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 75 01 95 08 81 02 95 01 75 08 81 01 15 00 26 a4 00 19 00 2a a4 00 05 07 75 08 95 06 81 00 c0
INPUT[INPUT]
Field(0)
Application(GenericDesktop.Keyboard)
Usage(8)
Keyboard.00e0
Keyboard.00e1
Keyboard.00e2
Keyboard.00e3
Keyboard.00e4
Keyboard.00e5
Keyboard.00e6
Keyboard.00e7
Logical Minimum(0)
Logical Maximum(1)
Report Size(1)
Report Count(8)
Report Offset(0)
Flags( Variable Absolute )
Field(1)
Application(GenericDesktop.Keyboard)
Usage(165)
Keyboard.0000
Keyboard.0001
Keyboard.0002
Keyboard.0003
Keyboard.0004
... Keyboard sequence left out
Keyboard.009f
Keyboard.00a0
Keyboard.00a1
Keyboard.00a2
Keyboard.00a3
Keyboard.00a4
Logical Minimum(0)
Logical Maximum(164)
Report Size(8)
Report Count(6)
Report Offset(16)
Flags( Array Absolute )
Keyboard.00e0 ---> Key.LeftControl
Keyboard.00e1 ---> Key.LeftShift
Keyboard.00e2 ---> Key.LeftAlt
Keyboard.00e3 ---> Key.LeftMeta
Keyboard.00e4 ---> Key.RightCtrl
Keyboard.00e5 ---> Key.RightShift
Keyboard.00e6 ---> Key.RightAlt
Keyboard.00e7 ---> Key.RightMeta
Keyboard.0000 ---> Sync.Report
Keyboard.0001 ---> Sync.Report
Keyboard.0002 ---> Sync.Report
Keyboard.0003 ---> Sync.Report
Keyboard.0004 ---> Key.A
Keyboard.0005 ---> Key.B
Keyboard.0006 ---> Key.C
Keyboard.0007 ---> Key.D
Keyboard.0008 ---> Key.E
Keyboard.0009 ---> Key.F
Keyboard.000a ---> Key.G
Keyboard.000b ---> Key.H
Keyboard.000c ---> Key.I
Keyboard.000d ---> Key.J
Keyboard.000e ---> Key.K
Keyboard.000f ---> Key.L
Keyboard.0010 ---> Key.M
Keyboard.0011 ---> Key.N
Keyboard.0012 ---> Key.O
Keyboard.0013 ---> Key.P
Keyboard.0014 ---> Key.Q
Keyboard.0015 ---> Key.R
Keyboard.0016 ---> Key.S
Keyboard.0017 ---> Key.T
Keyboard.0018 ---> Key.U
Keyboard.0019 ---> Key.V
Keyboard.001a ---> Key.W
Keyboard.001b ---> Key.X
Keyboard.001c ---> Key.Y
Keyboard.001d ---> Key.Z
Keyboard.001e ---> Key.1
Keyboard.001f ---> Key.2
Keyboard.0020 ---> Key.3
Keyboard.0021 ---> Key.4
Keyboard.0022 ---> Key.5
Keyboard.0023 ---> Key.6
Keyboard.0024 ---> Key.7
Keyboard.0025 ---> Key.8
Keyboard.0026 ---> Key.9
Keyboard.0027 ---> Key.0
Keyboard.0028 ---> Key.Enter
Keyboard.0029 ---> Key.Esc
Keyboard.002a ---> Key.Backspace
Keyboard.002b ---> Key.Tab
Keyboard.002c ---> Key.Space
Keyboard.002d ---> Key.Minus
Keyboard.002e ---> Key.Equal
Keyboard.002f ---> Key.LeftBrace
Keyboard.0030 ---> Key.RightBrace
Keyboard.0031 ---> Key.BackSlash
Keyboard.0032 ---> Key.BackSlash
Keyboard.0033 ---> Key.Semicolon
Keyboard.0034 ---> Key.Apostrophe
Keyboard.0035 ---> Key.Grave
Keyboard.0036 ---> Key.Comma
Keyboard.0037 ---> Key.Dot
Keyboard.0038 ---> Key.Slash
Keyboard.0039 ---> Key.CapsLock
Keyboard.003a ---> Key.F1
Keyboard.003b ---> Key.F2
Keyboard.003c ---> Key.F3
Keyboard.003d ---> Key.F4
Keyboard.003e ---> Key.F5
Keyboard.003f ---> Key.F6
Keyboard.0040 ---> Key.F7
Keyboard.0041 ---> Key.F8
Keyboard.0042 ---> Key.F9
Keyboard.0043 ---> Key.F10
Keyboard.0044 ---> Key.F11
Keyboard.0045 ---> Key.F12
Keyboard.0046 ---> Key.SysRq
Keyboard.0047 ---> Key.ScrollLock
Keyboard.0048 ---> Key.Pause
Keyboard.0049 ---> Key.Insert
Keyboard.004a ---> Key.Home
Keyboard.004b ---> Key.PageUp
Keyboard.004c ---> Key.Delete
Keyboard.004d ---> Key.End
Keyboard.004e ---> Key.PageDown
Keyboard.004f ---> Key.Right
Keyboard.0050 ---> Key.Left
Keyboard.0051 ---> Key.Down
Keyboard.0052 ---> Key.Up
Keyboard.0053 ---> Key.NumLock
Keyboard.0054 ---> Key.KPSlash
Keyboard.0055 ---> Key.KPAsterisk
Keyboard.0056 ---> Key.KPMinus
Keyboard.0057 ---> Key.KPPlus
Keyboard.0058 ---> Key.KPEnter
Keyboard.0059 ---> Key.KP1
Keyboard.005a ---> Key.KP2
Keyboard.005b ---> Key.KP3
Keyboard.005c ---> Key.KP4
Keyboard.005d ---> Key.KP5
Keyboard.005e ---> Key.KP6
Keyboard.005f ---> Key.KP7
Keyboard.0060 ---> Key.KP8
Keyboard.0061 ---> Key.KP9
Keyboard.0062 ---> Key.KP0
Keyboard.0063 ---> Key.KPDot
Keyboard.0064 ---> Key.102nd
Keyboard.0065 ---> Key.Compose
Keyboard.0066 ---> Key.Power
Keyboard.0067 ---> Key.KPEqual
Keyboard.0068 ---> Key.F13
Keyboard.0069 ---> Key.F14
Keyboard.006a ---> Key.F15
Keyboard.006b ---> Key.F16
Keyboard.006c ---> Key.F17
Keyboard.006d ---> Key.F18
Keyboard.006e ---> Key.F19
Keyboard.006f ---> Key.F20
Keyboard.0070 ---> Key.F21
Keyboard.0071 ---> Key.F22
Keyboard.0072 ---> Key.F23
Keyboard.0073 ---> Key.F24
Keyboard.0074 ---> Key.Open
Keyboard.0075 ---> Key.Help
Keyboard.0076 ---> Key.Props
Keyboard.0077 ---> Key.Front
Keyboard.0078 ---> Key.Stop
Keyboard.0079 ---> Key.Again
Keyboard.007a ---> Key.Undo
Keyboard.007b ---> Key.Cut
Keyboard.007c ---> Key.Copy
Keyboard.007d ---> Key.Paste
Keyboard.007e ---> Key.Find
Keyboard.007f ---> Key.Mute
Keyboard.0080 ---> Key.VolumeUp
Keyboard.0081 ---> Key.VolumeDown
Keyboard.0082 ---> Key.Unknown
Keyboard.0083 ---> Key.Unknown
Keyboard.0084 ---> Key.Unknown
Keyboard.0085 ---> Key.KPComma
Keyboard.0086 ---> Key.Unknown
Keyboard.0087 ---> Key.RO
Keyboard.0088 ---> Key.Katakana/Hiragana
Keyboard.0089 ---> Key.Yen
Keyboard.008a ---> Key.Henkan
Keyboard.008b ---> Key.Muhenkan
Keyboard.008c ---> Key.KPJpComma
Keyboard.008d ---> Key.Unknown
Keyboard.008e ---> Key.Unknown
Keyboard.008f ---> Key.Unknown
Keyboard.0090 ---> Key.Hangeul
Keyboard.0091 ---> Key.Hanja
Keyboard.0092 ---> Key.Katakana
Keyboard.0093 ---> Key.HIRAGANA
Keyboard.0094 ---> Key.Zenkaku/Hankaku
Keyboard.0095 ---> Key.Unknown
Keyboard.0096 ---> Key.Unknown
... Key.Unknown lines left out
Keyboard.009a ---> Key.Unknown
Keyboard.009b ---> Key.Unknown
Keyboard.009c ---> Key.Delete
Keyboard.009d ---> Key.Unknown
Keyboard.009e ---> Key.Unknown
... Key.Unknown lines left out
Keyboard.00a3 ---> Key.Unknown
Keyboard.00a4 ---> Key.Unknown
(遇到的问题联想专业无线键盘, 一个华硕键盘... 两款无线键盘均由致伸科技制造。)
(Windows 和 GRUB 上未遇到此问题。)
(伊夫·特鲁多已经尝试过并实施了司机,但我宁愿使用普通内核中的一些东西,而不是那么老套的东西。)