Closed tmk closed 10 years ago
Polling rate in real: When using 10ms PollingInterval value we get Interrupt IN requests with 8ms interval from host. 5ms value causes 4ms interval and 1ms value causes 1ms interval. This may vary depeding on hosts.
Output of lsusb -vvv
PollingInterval: 1ms
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 1
PollingInterval: 10ms
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
This issue may be relevant to #58.
I think PJRC stack didn't have this problem. It has 10ms interval from the begining.
At commit 894a387d1fd8c I found this issues.
With BIOS(1.20) of ThinkPad T23 TMK with LUFA-120219 doesn't work. Hitting arrow key offen doesn't register and unregister properly. The key is ignored or it doen't stop. http://www.thinkwiki.org/wiki/Category:T23
T23 seems like drop key report. T23 has old chipset(USB 1.1) and TMK uses 1ms polling rate(PollingInterval in endpoint descriptor). https://github.com/tmk/tmk_keyboard/blob/894a387d1fd8c823b5339e524e1f9336601ce2ef/protocol/lufa/descriptor.c#L309
I confirmed 10ms PollingInterval resolves this issue. I think most keyboards in market use 10ms interval. I checked HHKB pro2, Poker, ThinkPad USB keyboard(SK-8855) and Cherry 3600 all use 10ms. Using 10ms will offer better compatibility for old PCs.