1 |
Hi, |
2 |
|
3 |
I have an external USB IBM ThinkPad UltraNav keyboard[1] attached to |
4 |
my laptop and I'd like to get scrolling to work. Currently to scroll I |
5 |
mouse over the scrollbar, click and move the pointer. I have looked at |
6 |
some resources[2][3][4] but was unsuccessful. |
7 |
|
8 |
I'll append some information on my keyboard to the end of this email. |
9 |
Note that my laptop is not a ThinkPad, but it has its own synaptics |
10 |
touchpad. I include its lsusb output as well. |
11 |
|
12 |
I test by loading up a long page in Firefox, then hold down the middle |
13 |
mouse button and scrolling with the red nubbie immediately above the B |
14 |
key, but the page does not scroll. |
15 |
|
16 |
Any pointers? |
17 |
|
18 |
Thanks! |
19 |
Mike |
20 |
|
21 |
|
22 |
[1] http://fula.jp/blog/image/ThinkPlus_USB_Keyboard_with_UltraNav_Japanese.jpg |
23 |
[2] http://kaeru.my/journal/scrolling-with-thinkpad-keyboard-with-ultranav |
24 |
[2] http://www.thinkwiki.org/wiki/Installing_Ubuntu_8.10_(Intrepid_Ibex)_on_a_ThinkPad_T61#Emulate_Wheel_.28Middle-click_scrolling.29 |
25 |
[4] http://mvogt.wordpress.com/2008/08/15/xorg-evdev-and-emulatewheel/ |
26 |
|
27 |
$ cat /etc/hal/fdi/policy/mouse-wheel.fdi |
28 |
<?xml version="1.0" encoding="ISO-8859-1"?> |
29 |
<deviceinfo version="0.2"> |
30 |
<device> |
31 |
<match key="info.product" string="Lite-On Tech IBM USB Keyboard with |
32 |
UltraNav"> |
33 |
<!--match key="info.product" string="Synaptics Inc. Composite |
34 |
TouchPad / TrackPoint"--> |
35 |
<!--match key="info.product" string="SynPS/2 Synaptics TouchPad"--> |
36 |
<merge key="input.x11_options.EmulateWheel" type="string">true</merge> |
37 |
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge> |
38 |
<merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge> |
39 |
<merge key="input.x11_options.Emulate3Buttons" type="string">true</merge> |
40 |
</match> |
41 |
</device> |
42 |
</device> |
43 |
|
44 |
Excerpt from `xinput list`: |
45 |
|
46 |
"SynPS/2 Synaptics TouchPad" id=2 [XExtensionPointer] |
47 |
Num_buttons is 12 |
48 |
Num_axes is 2 |
49 |
Mode is Relative |
50 |
Motion_buffer is 256 |
51 |
Axis 0 : |
52 |
Min_value is 1472 |
53 |
Max_value is 5472 |
54 |
Resolution is 1 |
55 |
Axis 1 : |
56 |
Min_value is 1408 |
57 |
Max_value is 4448 |
58 |
Resolution is 1 |
59 |
"AT Translated Set 2 keyboard" id=3 [XExtensionKeyboard] |
60 |
Num_keys is 248 |
61 |
Min_keycode is 8 |
62 |
Max_keycode is 255 |
63 |
"Synaptics Inc. Composite TouchPad / TrackPoint" id=4 [XExtensionPointer] |
64 |
Num_buttons is 32 |
65 |
Num_axes is 2 |
66 |
Mode is Relative |
67 |
Motion_buffer is 256 |
68 |
Axis 0 : |
69 |
Min_value is -1 |
70 |
Max_value is -1 |
71 |
Resolution is 1 |
72 |
Axis 1 : |
73 |
Min_value is -1 |
74 |
Max_value is -1 |
75 |
Resolution is 1 |
76 |
"Synaptics Inc. Composite TouchPad / TrackPoint" id=5 [XExtensionPointer] |
77 |
Num_buttons is 32 |
78 |
Num_axes is 2 |
79 |
Mode is Relative |
80 |
Motion_buffer is 256 |
81 |
Axis 0 : |
82 |
Min_value is -1 |
83 |
Max_value is -1 |
84 |
Resolution is 1 |
85 |
Axis 1 : |
86 |
Min_value is -1 |
87 |
Max_value is -1 |
88 |
Resolution is 1 |
89 |
"Lite-On Tech IBM USB Keyboard with UltraNav" id=6 [XExtensionKeyboard] |
90 |
Num_keys is 248 |
91 |
Min_keycode is 8 |
92 |
Max_keycode is 255 |
93 |
Num_buttons is 32 |
94 |
"Lite-On Tech IBM USB Keyboard with UltraNav" id=7 [XExtensionKeyboard] |
95 |
Num_keys is 248 |
96 |
Min_keycode is 8 |
97 |
Max_keycode is 255 |
98 |
|
99 |
Excerpt from `lsusb -v`: |
100 |
|
101 |
Bus 003 Device 007: ID 06cb:0009 Synaptics, Inc. Composite TouchPad |
102 |
and TrackPoint |
103 |
Device Descriptor: |
104 |
bLength 18 |
105 |
bDescriptorType 1 |
106 |
bcdUSB 1.10 |
107 |
bDeviceClass 0 (Defined at Interface level) |
108 |
bDeviceSubClass 0 |
109 |
bDeviceProtocol 0 |
110 |
bMaxPacketSize0 8 |
111 |
idVendor 0x06cb Synaptics, Inc. |
112 |
idProduct 0x0009 Composite TouchPad and TrackPoint |
113 |
bcdDevice 0.20 |
114 |
iManufacturer 1 Synaptics Inc. |
115 |
iProduct 2 Composite TouchPad / TrackPoint |
116 |
iSerial 0 |
117 |
bNumConfigurations 1 |
118 |
Configuration Descriptor: |
119 |
bLength 9 |
120 |
bDescriptorType 2 |
121 |
wTotalLength 91 |
122 |
bNumInterfaces 2 |
123 |
bConfigurationValue 1 |
124 |
iConfiguration 0 |
125 |
bmAttributes 0xa0 |
126 |
(Bus Powered) |
127 |
Remote Wakeup |
128 |
MaxPower 100mA |
129 |
Interface Descriptor: |
130 |
bLength 9 |
131 |
bDescriptorType 4 |
132 |
bInterfaceNumber 0 |
133 |
bAlternateSetting 0 |
134 |
bNumEndpoints 1 |
135 |
bInterfaceClass 3 Human Interface Device |
136 |
bInterfaceSubClass 1 Boot Interface Subclass |
137 |
bInterfaceProtocol 2 Mouse |
138 |
iInterface 3 Rel |
139 |
HID Device Descriptor: |
140 |
bLength 9 |
141 |
bDescriptorType 33 |
142 |
bcdHID 1.00 |
143 |
bCountryCode 0 Not supported |
144 |
bNumDescriptors 1 |
145 |
bDescriptorType 34 Report |
146 |
wDescriptorLength 50 |
147 |
Report Descriptors: |
148 |
** UNAVAILABLE ** |
149 |
Endpoint Descriptor: |
150 |
bLength 7 |
151 |
bDescriptorType 5 |
152 |
bEndpointAddress 0x81 EP 1 IN |
153 |
bmAttributes 3 |
154 |
Transfer Type Interrupt |
155 |
Synch Type None |
156 |
Usage Type Data |
157 |
wMaxPacketSize 0x0003 1x 3 bytes |
158 |
bInterval 10 |
159 |
Interface Descriptor: |
160 |
bLength 9 |
161 |
bDescriptorType 4 |
162 |
bInterfaceNumber 0 |
163 |
bAlternateSetting 1 |
164 |
bNumEndpoints 1 |
165 |
bInterfaceClass 0 (Defined at Interface level) |
166 |
bInterfaceSubClass 0 |
167 |
bInterfaceProtocol 0 |
168 |
iInterface 4 Abs |
169 |
Endpoint Descriptor: |
170 |
bLength 7 |
171 |
bDescriptorType 5 |
172 |
bEndpointAddress 0x81 EP 1 IN |
173 |
bmAttributes 3 |
174 |
Transfer Type Interrupt |
175 |
Synch Type None |
176 |
Usage Type Data |
177 |
wMaxPacketSize 0x0008 1x 8 bytes |
178 |
bInterval 10 |
179 |
Interface Descriptor: |
180 |
bLength 9 |
181 |
bDescriptorType 4 |
182 |
bInterfaceNumber 1 |
183 |
bAlternateSetting 0 |
184 |
bNumEndpoints 1 |
185 |
bInterfaceClass 3 Human Interface Device |
186 |
bInterfaceSubClass 1 Boot Interface Subclass |
187 |
bInterfaceProtocol 2 Mouse |
188 |
iInterface 3 Rel |
189 |
HID Device Descriptor: |
190 |
bLength 9 |
191 |
bDescriptorType 33 |
192 |
bcdHID 1.00 |
193 |
bCountryCode 0 Not supported |
194 |
bNumDescriptors 1 |
195 |
bDescriptorType 34 Report |
196 |
wDescriptorLength 50 |
197 |
Report Descriptors: |
198 |
** UNAVAILABLE ** |
199 |
Endpoint Descriptor: |
200 |
bLength 7 |
201 |
bDescriptorType 5 |
202 |
bEndpointAddress 0x82 EP 2 IN |
203 |
bmAttributes 3 |
204 |
Transfer Type Interrupt |
205 |
Synch Type None |
206 |
Usage Type Data |
207 |
wMaxPacketSize 0x0003 1x 3 bytes |
208 |
bInterval 10 |
209 |
Interface Descriptor: |
210 |
bLength 9 |
211 |
bDescriptorType 4 |
212 |
bInterfaceNumber 1 |
213 |
bAlternateSetting 1 |
214 |
bNumEndpoints 1 |
215 |
bInterfaceClass 0 (Defined at Interface level) |
216 |
bInterfaceSubClass 0 |
217 |
bInterfaceProtocol 0 |
218 |
iInterface 4 Abs |
219 |
Endpoint Descriptor: |
220 |
bLength 7 |
221 |
bDescriptorType 5 |
222 |
bEndpointAddress 0x82 EP 2 IN |
223 |
bmAttributes 3 |
224 |
Transfer Type Interrupt |
225 |
Synch Type None |
226 |
Usage Type Data |
227 |
wMaxPacketSize 0x0008 1x 8 bytes |
228 |
bInterval 10 |
229 |
Device Status: 0x0000 |
230 |
(Bus Powered) |
231 |
|
232 |
Bus 003 Device 006: ID 04b3:3018 IBM Corp. UltraNav Keyboard |
233 |
Device Descriptor: |
234 |
bLength 18 |
235 |
bDescriptorType 1 |
236 |
bcdUSB 1.10 |
237 |
bDeviceClass 0 (Defined at Interface level) |
238 |
bDeviceSubClass 0 |
239 |
bDeviceProtocol 0 |
240 |
bMaxPacketSize0 8 |
241 |
idVendor 0x04b3 IBM Corp. |
242 |
idProduct 0x3018 UltraNav Keyboard |
243 |
bcdDevice 1.16 |
244 |
iManufacturer 1 Lite-On Tech |
245 |
iProduct 2 IBM USB Keyboard with UltraNav |
246 |
iSerial 0 |
247 |
bNumConfigurations 1 |
248 |
Configuration Descriptor: |
249 |
bLength 9 |
250 |
bDescriptorType 2 |
251 |
wTotalLength 59 |
252 |
bNumInterfaces 2 |
253 |
bConfigurationValue 1 |
254 |
iConfiguration 0 |
255 |
bmAttributes 0xa0 |
256 |
(Bus Powered) |
257 |
Remote Wakeup |
258 |
MaxPower 70mA |
259 |
Interface Descriptor: |
260 |
bLength 9 |
261 |
bDescriptorType 4 |
262 |
bInterfaceNumber 0 |
263 |
bAlternateSetting 0 |
264 |
bNumEndpoints 1 |
265 |
bInterfaceClass 3 Human Interface Device |
266 |
bInterfaceSubClass 1 Boot Interface Subclass |
267 |
bInterfaceProtocol 1 Keyboard |
268 |
iInterface 0 |
269 |
HID Device Descriptor: |
270 |
bLength 9 |
271 |
bDescriptorType 33 |
272 |
bcdHID 1.10 |
273 |
bCountryCode 0 Not supported |
274 |
bNumDescriptors 1 |
275 |
bDescriptorType 34 Report |
276 |
wDescriptorLength 65 |
277 |
Report Descriptors: |
278 |
** UNAVAILABLE ** |
279 |
Endpoint Descriptor: |
280 |
bLength 7 |
281 |
bDescriptorType 5 |
282 |
bEndpointAddress 0x81 EP 1 IN |
283 |
bmAttributes 3 |
284 |
Transfer Type Interrupt |
285 |
Synch Type None |
286 |
Usage Type Data |
287 |
wMaxPacketSize 0x0008 1x 8 bytes |
288 |
bInterval 24 |
289 |
Interface Descriptor: |
290 |
bLength 9 |
291 |
bDescriptorType 4 |
292 |
bInterfaceNumber 1 |
293 |
bAlternateSetting 0 |
294 |
bNumEndpoints 1 |
295 |
bInterfaceClass 3 Human Interface Device |
296 |
bInterfaceSubClass 0 No Subclass |
297 |
bInterfaceProtocol 0 None |
298 |
iInterface 0 |
299 |
HID Device Descriptor: |
300 |
bLength 9 |
301 |
bDescriptorType 33 |
302 |
bcdHID 1.10 |
303 |
bCountryCode 0 Not supported |
304 |
bNumDescriptors 1 |
305 |
bDescriptorType 34 Report |
306 |
wDescriptorLength 85 |
307 |
Report Descriptors: |
308 |
** UNAVAILABLE ** |
309 |
Endpoint Descriptor: |
310 |
bLength 7 |
311 |
bDescriptorType 5 |
312 |
bEndpointAddress 0x82 EP 2 IN |
313 |
bmAttributes 3 |
314 |
Transfer Type Interrupt |
315 |
Synch Type None |
316 |
Usage Type Data |
317 |
wMaxPacketSize 0x0005 1x 5 bytes |
318 |
bInterval 48 |
319 |
Device Status: 0x0000 |
320 |
(Bus Powered) |
321 |
|
322 |
Bus 003 Device 005: ID 04b3:3016 IBM Corp. UltraNav Keyboard Hub |
323 |
Device Descriptor: |
324 |
bLength 18 |
325 |
bDescriptorType 1 |
326 |
bcdUSB 1.10 |
327 |
bDeviceClass 9 Hub |
328 |
bDeviceSubClass 0 Unused |
329 |
bDeviceProtocol 0 Full speed (or root) hub |
330 |
bMaxPacketSize0 8 |
331 |
idVendor 0x04b3 IBM Corp. |
332 |
idProduct 0x3016 UltraNav Keyboard Hub |
333 |
bcdDevice 2.01 |
334 |
iManufacturer 1 Lite-On Tech |
335 |
iProduct 2 USB 1.1 2 port downstream low-power hub |
336 |
iSerial 0 |
337 |
bNumConfigurations 1 |
338 |
Configuration Descriptor: |
339 |
bLength 9 |
340 |
bDescriptorType 2 |
341 |
wTotalLength 25 |
342 |
bNumInterfaces 1 |
343 |
bConfigurationValue 1 |
344 |
iConfiguration 0 |
345 |
bmAttributes 0xa0 |
346 |
(Bus Powered) |
347 |
Remote Wakeup |
348 |
MaxPower 40mA |
349 |
Interface Descriptor: |
350 |
bLength 9 |
351 |
bDescriptorType 4 |
352 |
bInterfaceNumber 0 |
353 |
bAlternateSetting 0 |
354 |
bNumEndpoints 1 |
355 |
bInterfaceClass 9 Hub |
356 |
bInterfaceSubClass 0 Unused |
357 |
bInterfaceProtocol 0 Full speed (or root) hub |
358 |
iInterface 0 |
359 |
Endpoint Descriptor: |
360 |
bLength 7 |
361 |
bDescriptorType 5 |
362 |
bEndpointAddress 0x81 EP 1 IN |
363 |
bmAttributes 3 |
364 |
Transfer Type Interrupt |
365 |
Synch Type None |
366 |
Usage Type Data |
367 |
wMaxPacketSize 0x0001 1x 1 bytes |
368 |
bInterval 255 |
369 |
Hub Descriptor: |
370 |
bLength 9 |
371 |
bDescriptorType 41 |
372 |
nNbrPorts 4 |
373 |
wHubCharacteristic 0x0009 |
374 |
Per-port power switching |
375 |
Per-port overcurrent protection |
376 |
bPwrOn2PwrGood 50 * 2 milli seconds |
377 |
bHubContrCurrent 100 milli Ampere |
378 |
DeviceRemovable 0x18 |
379 |
PortPwrCtrlMask 0xff |
380 |
Hub Port Status: |
381 |
Port 1: 0000.0100 power |
382 |
Port 2: 0000.0100 power |
383 |
Port 3: 0000.0303 lowspeed power enable connect |
384 |
Port 4: 0000.0303 lowspeed power enable connect |
385 |
Device Status: 0x0000 |
386 |
(Bus Powered) |