Gentoo Archives: gentoo-user

From: Mike Mazur <mmazur@×××××.com>
To: gentoo-user@l.g.o
Subject: [gentoo-user] Enable scrolling on external USB IBM UltraNav keyboard
Date: Thu, 07 May 2009 04:09:58
Message-Id: 184110a70905062109g303138d8kc313274b9daace1d@mail.gmail.com
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)

Replies

Subject Author
[gentoo-user] Re: Enable scrolling on external USB IBM UltraNav keyboard Mike Mazur <mmazur@×××××.com>