1IMWheel(1) General Commands Manual IMWheel(1)
2
3
4
6 imwheel - a mouse wheel and stick interpreter for X Windows
7
9 imwheel [ options ]
10
12 IMWheel is a universal mouse wheel and mouse stick translator for the X
13 Windows System. Using either a special version of gpm and it's
14 /dev/gpmwheel FIFO, or the support for a ZAxis on the mouse built into
15 some servers, such as XFree86. Utilizing the input from gpm or X Win‐
16 dows, imwheel translates mouse wheel and mouse stick actions into key‐
17 board events using the XTest extension to X. Use xdpyinfo for informa‐
18 tion on the supported extensions in your X server.
19
21 Available command line options are as follows:
22
23 -4, --flip-buttons
24 Flips the mouse buttons so that 4 is 5 and 5 is 4, reversing the
25 Up and Down actions. This would make 4 buttons somewhat useful!
26 This is the similar to using "-b 54678", see the -b option. See
27 also xmodmap(1).
28
29 -b, --buttons button-spec
30 Remap buttons in button-spec to interpreted wheel/thumb input.
31 Also limits the button grab to the specified buttons when using
32 the ZAxis method. (see "X WINDOWS ZAXIS METHOD" below) the but‐
33 ton-spec may specify any of up to five buttons. the button-spec
34 is decoded in the following order for wheel input:
35
36 Index Interpreted As Button Number
37 1 Wheel Up 4
38 2 Wheel Down 5
39 3 Wheel Left 6
40 4 Wheel Right 7
41 5 Thumb Button 1 8
42 6 Thumb Button 2 9
43
44 A button-spec of "45" will limit the grabbed buttons for only
45 wheel up and down.
46 A button-spec of "67" may be useful to use actual buttons 6 and
47 7 as wheel up and down, and limit the grab to only those two
48 buttons.
49 A button-spec of "0" turns off any defined mapping, thus allow‐
50 ing for skips in the button-spec for something that doesn't
51 exist on your mouse.
52 A button-spec of "45006" may be for normal wheel up/down and a
53 thumb button 1, but no horizontal wheel axis.
54 The default button-spec is "456789".
55 See also xmodmap(1).
56
57 -c, --config
58 Popup to configuration helper window imediately.
59 See also CONFIGURATION HELPER
60
61 -D, --debug
62 Show all possible debug info while running. This spits out alot
63 and I also suggest using the -d option to prevent imwheel from
64 detaching from the controlling terminal.
65
66 -d, --detach
67 Actually this does the opposite of it's name, it prevents
68 detachment from the controlling terminal. (no daemon...) Con‐
69 trol-C stops, etc...
70
71 -f, --focus
72 Forces the X event subwindow to be used instead of the original
73 hack that would replace the subwindow in the X event with a
74 probed focus query (XGetInputFocus). This should fix some com‐
75 patability problems with some window managers, such as window
76 maker, and perhaps enlightenment. If nothing seems to be work‐
77 ing right, try toggling this on or off...
78
79 -g, --focus-events
80 Disable the use of focus events for button grabs. If your
81 @Excluded windows are not regrabbing the mouse buttons when
82 exited, try toggling this on or off...
83
84 -h, --help
85 Short help on options plus version/author info.
86
87 -k, --kill
88 Attempts to kill old imwheel (useful only for --wheel-fifo
89 method.) Pidfile must be created for this to work (no -p or
90 --pid option on the previous imwheel invocation). Process IDs
91 are tested using /proc/${pid}/status Name: field ?= imwheel. If
92 /proc is not mounted then this fails everytime! Otherwise, this
93 ensures that the wrong process is not killed.
94
95 -p, --pid
96 Don't write a pid file for gpmwheel FIFO method. This is the
97 only method that uses the pid file. XGrab doesn't need it, so
98 it just issues a warning about starting multiple imwheels on the
99 same display. Some people really prefer this, especially when
100 they are not using a SUID root imwheel executable.
101
102 -q, --quit
103 Quit imwheel before entering event loop. Usful in killing an
104 imwheel running in gpmwheel FIFO mode after exiting XWindows, if
105 you're using pid files that is.
106 Example: `imwheel -k -q' = kill and quit (option order doesn't
107 matter)
108
109 -s, --sensitivity sum-min
110 (Stick mice, Wheel FIFO method only)
111 like -t only this sets a minimum total amount of movment of the
112 stick or marble, before any action is taken. This works good
113 with the Marble type devices. This should be a multiple of the
114 threshhold as given by the -t option. The default is 0, meaning
115 that there is no sensitivity testing, all input spawns an event.
116 See the -t option also. (see "STICK SENSITIVITY SETTINGS"
117 below)
118
119 -t, --threshhold minimum-pressure
120 Used with gpm only and then only with recognized stick mice.
121 stick mice send a pressure value ranging from 0(no pressure) to
122 7(hard push). This sets the minimum required pressure for input
123 to be registered. Setting it to zero will cause realtime stick‐
124 ing, which is usually too much action for X to keep up. (max
125 rate i saw was 100 events a second!). Once input is registered,
126 it is summed up per axis, and then it must equal or exceed the
127 sensitivity setting to pass as an input. See the -s option
128 also, for sensitivity.
129 The default is 2, to avoid slight presses on the 90-degree
130 direction of the intended while still getting to the intended
131 direction. Setting this to 7 is insane, because it requires the
132 user to push as hard as possible everytime they want something
133 to happen! However it may not be so insane for people using
134 trackballs for input, as they may spin much faster per sample...
135 (see "STICK SENSITIVITY SETTINGS" below)
136
137 -W, --wheel-fifo fifo
138 Use the gpm/jamd wheel fifo instead of XGrabMouse. See GPM/JAMD
139 WHEEL FIFO METHOD section. This method allows only one X dis‐
140 play to be used. This is required for the gpm method to work.
141 This method only works with the imwheel version of gpm and with
142 jamd. To find out if you are running the imwheel version of gpm
143 use the following command and look for "(imwheel)" in the title:
144
145 gpm -v
146
147 fifo names the named pipe (FIFO) created by gpm. It defaults to
148 "/dev/gpmwheel" (for --wheel-fifo only). The FIFO must exist
149 before running imwheel in this mode. using jamd requires you to
150 name the correct fifo because it doesn't use /dev/gpmwheel, but
151 rather one of the /dev/jam_imwheel:0.0 named fifos created by
152 jamd's imwheel module.
153 @Exclude commands in the rc file are unused in this mode.
154
155 -X, --display display
156 Use XServer at a specified display in standard X form. Using
157 this option is usful for multiple displays in the X Window ZAxis
158 Method.
159
160 -x, --transpose
161
162 This swaps the X and Y axis of movement for stick input from a
163 wheel-fifo.
164
166 This method is the only method that works with multiple X displays,
167 using multiple imwheels. Use multiple imwheels by either setting the
168 DISPLAY environment variable before running each imwheel, or use the -X
169 or --display options to specify a different display for each imwheel.
170 Running multiple imwheels on the same display is not recommended, but
171 is allowed, and may cause strange things to happen while using the
172 stick or wheel.
173
174 Edit the XF86Config and add/edit the following lines in the
175 "Pointer"(XFree86 3.3) or "InputDevice"(XFree86 4.x) section:
176
177 1 axis (vertical wheel):
178 (XFree86 3.3)
179 Buttons 5
180 ZAxisMapping 4 5
181 (XFree86 4.x)
182 Option "Buttons" "5"
183 Option "ZAxisMapping" "4 5"
184
185 2 axis (1 stick or 2 perpendicular wheels):
186 (XFree86 3.3)
187 Buttons 7
188 ZAxisMapping 4 5 6 7
189 (XFree86 4.x)
190 Option "Buttons" "7"
191 Option "ZAxisMapping" "4 5 6 7"
192
193 The Buttons option may be greater than stated above if you have thumb
194 buttons, or other extras that qualify as buttons.
195
196 Make sure your Protocol is set to either "IMPS/2" for a PS/2 mouse or
197 for serial mice set it to "IntelliMouse" or "Auto". This is for Intel‐
198 liMouse compatible mice, other protocols may be required for other
199 mice. Then while running X Windows run imwheel without the --wheel-
200 fifo or -W options.
201
202 NOTE
203 The @Exclude command must be used for clients that either use the ZAxis
204 for themselves and have no keyboard translations to cause the same
205 desired effect. The @Exclude command must also be added for any client
206 requiring mouse and/or mouse button grabs and that don't specify spe‐
207 cific buttons to grab. These clients fail when they try to grab the
208 mouse because the buttons 4 and 5 are already grabbed by imwheel. XV
209 is an example of a client that requires these types of grabs to suc‐
210 ceed. KDE clients use the ZAxis for their own purposes. The supplied
211 imwheelrc included and exclusion for XV already. See the IMWheelRC
212 section for more information.
213
214 Also pid files are not used for this method. Thus the -p and --pid
215 options have no effect, and are ignored.
216
218 This method is REQUIRED for any X Windows server without wheel mouse
219 support built in. This method will currently support mice as supported
220 through gpm or jamd.
221
222 In the Pointer section of your XF86Config (or the equivalent configura‐
223 tion file for your X server) change your mouse Protocol to be "Mous‐
224 eSystems" (or the equivelant...), also change the Device file that the
225 mouse is read from to "/dev/gpmdata", then restart X Windows if it is
226 running. jamd will replicate to /dev/jam_ps2:0.0 or some other devices
227 as well, make sure to use the right X Mouse protocol in this case, like
228 the jamd_ps2 device is X mouse protocol PS/2, and the jamd_imps2 device
229 is X mouse protocol IMPS/2.
230
231 Before starting X Windows (re)start gpm with the -W option. Make sure
232 you are using a supported wheel or stick mouse as stated in the gpm man
233 page.
234
235 After starting X Windows run imwheel as follows adding options as
236 desired:
237
238 for gpm you can use the following option to imwheel
239
240 --wheel-fifo
241
242 jamd requires you specify the fifo name as one of the
243 /dev/jamd_imwheel:0.0 named fifos. Run
244
245 ls -al /dev/jam_imwheel*
246
247 to see what is available. In this example I would use
248
249 -W /dev/jam_imwheel:0.0
250
251 as the option to imwheel.
252
253 I usually add the -k option to kill off any old imwheel processes left
254 over, as imwheel doesn't exit with the server, but rather it will only
255 die if a wheel or stick action occurs when an X server is not con‐
256 nected, such as when X is dead or the DISPLAY environment variable is
257 setup wrong, or the -X or --display variables connected imwheel to a
258 now defunct X server.
259
260 gpm or jamd, and/or imwheel can be restarted at any time, imwheel can
261 sense when gpm of jamd is not there, and gpm nor jamd doesn't give a
262 hoot about imwheel being up or not.
263
264 NOTE
265 The @Exclude command has no bearing in this method, it is ignored. No
266 Focus change events are received in this method. Thus KDE and other
267 clients that support X based wheel events through the ZAxis are not
268 going to work except through normal imwheel keypress translation of
269 wheel and stick actions.
270 XV will function fine, as will any client that grabs the mouse and/or
271 mouse buttons. This mode doesn't use any grabs to function.
272
274 The -s and -t options specify a sensitivity and threshhold. each move‐
275 ment of a stick, or trackball, must equal or exceed the threshhold to
276 be added to the respective axis sum. In other words if you puch the
277 stick up hard enough to exceed the threshhold then the Y axis sum would
278 be increased by however much you pressed up.
279
280 Next the summed X and Y axis movement is each compared to the sensitiv‐
281 ity setting. If the sensitivity setting is equalled or exceeded, then
282 one imwheel event is spawned, thus after pressing up for a bit, the Y
283 sum exceeds the sensitivity and a wheel up event is interpreted by
284 imwheel into an action such as a PageUp key.
285
286 The sensitivity therefore must be greater than the threshhold for it to
287 have any bearing on the input. Pseudo code such as the following may
288 explain:
289 if(input >= threshhold)
290 sum = sum + input
291 if(sum >= sensitivity) {
292 do an imwheel action
293 sum = 0
294 }
295
297 IMWheel uses, optionally, two configuration files. One called
298 /etc/imwheelrc, which is used for everybody. The other is
299 $HOME/.imwheelrc, used only for one user. One is supplied and should
300 have been installed automatically in /etc if not also in the installing
301 users $HOME as well. All whitespace is ignored in the files except for
302 within the window names' double quotes.
303
304 The configuration file consists of window names and event translations
305 and/or imwheel commands that begin with an `@' (at) symbol. Each win‐
306 dow name starts a section that is it's configuration. The window names
307 a priortized as first come first served, so more generic matches should
308 always occur later in the configuration file.
309
310 Comments are started with a pound (#) and extend to the end of the
311 line.
312
314 Window name section headers are actually one of four things:
315
316 Window Title
317 Window Class Name
318 Window Resource Name
319 (null) which matches "\(null\)" in the imwheelrc
320
321 Most of these are probe-able using fvwm2's FvwmIdent module or the con‐
322 figurator (see the CONFIGURATION HELPER section). Other window man‐
323 agers may have their own method of identifying windows' attributes.
324 Each window name is matched as a regex string. Thus any window is
325 matched using the regex pattern ".*" as a window name. This pattern
326 should be the last section in your configuration file, or it will over‐
327 ride the other window configurations in the file for matched
328 wheel/stick actions.
329 There is one special header noted as "(null)" which matches windows
330 that have a null string in the three attributes. This makes it possi‐
331 ble to assign actions to even Quake3, which has no info for it's win‐
332 dow. Just make sure that you realize that the keys used should not be
333 keys that may conflict with other key actions in the game or applica‐
334 tion you are aiming to make work! The included imwheelrc file has a
335 "(null)" section included to demonstrate, and it should work with
336 Quake3.
337 Each window/class/resource name must be enclosed in double quotes (")
338 on a line by itself.
339
340 Inside each window section is any number of translation definitions or
341 commands. Each translation definition or command must be on a line by
342 itself. The window section doesn't have to be terminated, as it is
343 terminated by either starting another window section or the end of the
344 configuration file.
345
347 Mouse wheel/stick translations each take up a line after a window sec‐
348 tion has been started. Each argument is seperated by commas(,) white‐
349 space is ignored. KeySyms are used to specify the keyboard input and
350 outputs. pipes (|) are used to join multiple keys into one input/out‐
351 put. The format is as follows:
352
353 REQUIRED
354 The following arguments a required to make a minimum translation defi‐
355 nition.
356
357 Key Modifiers Input
358 X KeySyms joined by pipes that indicate the required keys
359 pressed when the mouse action is made in order for this transla‐
360 tion to be used. Alt, Meta, Control, and Shift keys are typical
361 modifiers, but are stated slightly different than just `Shift'
362 but rather `Shift_L' or `Shift_R', differentiating between left
363 and right shift keys. See the KeySyms section for more.
364
365 `None' is a special KeySym used by imwheel, it is used to indi‐
366 cate no modifiers. A blank entry is also acceptable in this
367 case, but less descriptive of what is going on! If `None' is
368 used then there can be no modifiers in use during the wheel
369 action. If the field is blank then any modifier will match, so
370 put these last in their window section.
371
372 Mouse Action Input
373 This is the input from the mouse wheel or stick. It is one of
374 the following and only one:
375
376 Up
377 Down
378 Left
379 Right
380 Thumb
381
382 These are self explanatory. If you have trouble use the config‐
383 urator!
384
385 Key Action Output
386 Out KeySyms are placed here. See KeySyms section for more on
387 all available KeySyms. Join KeySyms using pipes. Output keys
388 are pressed in order and released, in reverse order, only after
389 all have been pressed, likely making them all combined as in
390 `Control_L|C' which would be a `^C' (control-c) keypress.
391
392 OPTIONAL
393 The following options are optional, but to use one you must fill in all
394 the preceding arguments.
395
396 Output Repetitions
397 How many times should the Output KeySyms be pressed in a row.
398
399 Default is 1.
400
401 Delay Before KeyUp Event
402 How long in microseconds until we release all the Output KeySyms
403 in one Output Repetition.
404
405 Default is 0.
406
407 Delay Before Next KeyPress Event
408 How long in microseconds until we press the next the Output
409 KeySyms. Ths delay occurs after the Output KeySyms are
410 released.
411
412 Default is 0.
413
415 Commands start with the `@' character. Commands are as follows:
416
417 @Exclude
418 Exclude this window from imwheel grabing mouse events. imwheel
419 will ungrab the mouse when these windows are entered and not
420 regrab the mouse until focus is changed to a non-excluded win‐
421 dow. This allows the ZAxis button events to pass through nor‐
422 mally and mouse grabs to succeed.
423 XV and KDE clients need this for the X Windows Method.
424 This command has no effect in the GPM Method. The mouse isn't
425 grabbed, nor are ZAxis button events created by the server.
426
427 @Repeat
428 Repeat the mouse button to the window. This cause a mouse button
429 to be generated in the current window. It does not use XSendE‐
430 vent so the mouse button presses are indistiguishable from the
431 real thing. This mode is not compatible with the XGrabButtons
432 method of imwheel, otherwise listed as the ZAxis Method in this
433 manpage.
434 Motions are mapped as follows:
435
436 Up is button 4
437 Down is button 5
438 Left is button 6
439 Right is button 7
440 Thumb1 is button 8
441 Thumb2 is button 9
442
443 @Priority=priority
444 Using this is allowed in each window/class/resource section.
445 Higher priority values take precedence over lower ones. Equal
446 priorities on sections make the imwheelrc file parsed from top
447 to bottom to find the first match. Thus @Priority can be used
448 to make the file search for matches out of order, then you dont
449 have to keep the entries in order if you so please. the sup‐
450 plied imwheelrc file contains extensive comments and examples of
451 the @Priority function.
452 The default priority for any new section is 0. The last @Prior‐
453 ity command in a section overrides all previous priorities for
454 that section. Thus each section has only one priority setting
455 in the end. Priorities are kept as an int, thus range from
456 INT_MAX to INT_MIN. (see /usr/include/limits.h for these values
457 on your system)
458
460 IMWheel contains a semi-hidden configuration helper which can be
461 brought up by rolling/sticking up and down a few times in the root win‐
462 dow of the X server. Inside this window you can find out possible win‐
463 dow names to use in your imwheelrc file. Press on the mini-screen cap‐
464 ture to grab another window, including the root window (whole screen).
465
466 Mouse wheel and stick actions can be grabbed along with active modifier
467 keys on the keyboard. The mouse wheel/stick action is displayed and
468 the X KeySyms are displayed beneath it. All this information can be
469 directly entered into an imwheelrc as desired.
470
471 IMWheel can be restarted to read in a changed imwheelrc file or the
472 configurator can be canceled causing imwheel to resume oprations with‐
473 out reading the configuration file. To restart imwheel execs itself as
474 called by the user in the first place but adding the -R option to indi‐
475 cate to itself that this is a restarted imwheel. The -R is not for use
476 by the user, as it bypasses some configuration of imwheel.
477
479 The program expects combinations of keysyms to be used by using pipe(|)
480 characters to combine them together.
481
482 Example:
483 Alt_R|Shift_R
484
485 Means right alt and right shift together, not just either one or
486 the other! And not one after the other, they are both pressed
487 at the same time essentially.
488
489 For FIFO users, it is possible to send a real mouse button event, using
490 the special Button# syntax. An imwheelrc keysym of Button1 would send
491 a real Mouse button 1 (left mouse button) event. Mouse4 is what you'd
492 want for a MouseWheelUp type event. Mouse5 is what you want to Mouse‐
493 WheelDown event. Many applications will understand the meaning of
494 mouse button 4 and 5, but most don't go beyond that. So Mouse6 and
495 greater have no "standardized" meaning. The Button# syntax can be com‐
496 bined with regular keysyms, to send keys and mouse buttons at the same
497 time.
498
499 Example:
500 Shift_L|Button4
501 - meaning left shift and wheel up.
502 Button5
503 - meaning wheel down.
504
505 Other button to imwheel meaniful references:
506 KeySym IMWheel Input Real Mouse
507 ------ ------------- ----------
508 Button1 (none) Left Mouse Button
509 Button2 (none) Middle Mouse Button
510 Button3 (none) Right Mouse Button
511 Button4 Up Mouse Wheel Up
512 Button5 Down Mouse Wheel Down
513 Button6 Left Mouse Wheel Left
514 Button7 Right Mouse Wheel Right
515 Button8 Thumb1 Side Mouse Button 1 (left/up)
516 Button9 Thumb2 Side Mouse Button 2 (right/down)
517
518 Common Modifier Keysym names used in X:
519 Shift_L Shift_R
520 Control_L Control_R
521 Alt_L Alt_R
522
523 These are probably not currently assigned any keys, unless you xmodmap
524 them in:
525
526 Meta_L Meta_R (Actually, Sun keyboards have this...)
527 Super_L Super_R
528 Hyper_L Hyper_R
529
530 And here's some that you may use, and they are somewhere on your key‐
531 board:Here's where they were on my keyboard, again, this is not univer‐
532 sal. Use the xev program to test your own keys on your keyboard!
533
534 Caps_Lock = The Caps Lock key!
535 (This still turns on and off caps lock!)
536 Num_Lock = The Num Lock key!
537 (This is not good to use...
538 for the same reasons as Caps_Lock)
539 Multi_key = The Scroll Lock key!
540 (Go figure!)
541 Mode_switch = Right Alt...for me anyways.
542 (This mean I cannot use Alt_R)
543
544 The windows keys may not be assigned any KeySyms, but they will have
545 numbers. xmodmap can be used to assign them to a real KeySym.
546
547 To find keysym names for any keys available see the
548 /usr/include/X11/keysymdef.h file, and for any define in that file
549 remove the "XK_" for the usable KeySym name in the configuration file.
550 The path to this file may differ for you.
551
552 Remember, there's always the configurator. And xev will also help here
553 too!
554
556 Configure the XF86Config without "Emulate3Buttons" and increase "But‐
557 tons" if it is 2 in the Ponter or InputDevice section. The wheel or
558 stick will act as a real middle button and the outer two buttons will
559 act as separate buttons (1 and 3), even when pressed together.
560
561 Of course if your wheel keeps clicking middle button while you're try‐
562 ing to use the wheel you may want to activate the Emulate3Buttons
563 option to disable the wheel button! And donn't forget to reduce the
564 Buttons argument to 2!
565
567 For those of you lefties out there using method #1, the non-gpm method
568 this command may help you get the buttons set up correctly in XWindows
569 for both left handed and imwheel use.
570
571 xmodmap -e "pointer = 3 2 1 4 5"
572 or
573 xmodmap -e "pointer = 3 2 1 4 5 6 7"
574 etc...
575 xmodmap -e "pointer = 3 2 1 4 5 6 7 8 9"
576
577 NOTE: most of these are NOT going to work, because of all the limits in X.
578
579 add more numbers to the end of this line if you have more buttons!
580
582 Of course...but most of the time it's just that you haven't read every‐
583 thing I've written here and in the files of the distribution itself.
584 Even then, you may be giving up too easily. Keep trying, it's not that
585 hard. I am always working on reducing strange behavior. This is still
586 a beta, as indicated by the leading 0 in the version number.
587
588 Real Bugs
589
590 imwheel doesn't get along with itself on the same X display or using
591 the same gpmwheel FIFO. - This will always be your fault :-/
592
593 Stick mice are still a pain in the butt to use. - This is the manufac‐
594 turer's fault. Or X Windows fault, for not having a method to easily
595 use such devices in all applications.
596
597 Keyboard focus isn't changed automatically to input keys into Window
598 mouse is over. This only occurs with Click-to-Focus type focus manag‐
599 ment in window managers. I use sloppy focus in fvwm2, which always
600 works for me. - Whose fault is this? (Switch focus modes and/or window
601 managers, or try the -f option on imwheel)
602
603 Configuration file is not validated for correctness nicely...although
604 it does get preparsed before the main program starts, thus stopping you
605 before you run with an invalid configuration file. I just have never
606 made a bad configuration file, so I guess I'll have to try and do that
607 to see what happens. Just don't make any mistakes and you'll be fine.
608 - This is my fault?! ;)
609
611 http://jonatkins.org/imwheel
612
613
615 Jonathan Atkins <jcatki@jonatkins.org>
616
617
619 $HOME/.imwheelrc
620 The users configuration file.
621
622 /etc/imwheelrc
623 The global location for the configuration
624 file, it is always loaded. Overided by
625 the users configuration file.
626
627 /dev/gpmwheel
628 The default wheel FIFO from gpm, if used.
629
630 /dev/jam_imwheel:0.0 (or other numbers...)
631 A wheel FIFO from jamd, if used, must be specified.
632 jamd allows more than on FIFO, and thus allows more than
633 one instance of imwheel to be running on the same computer
634 when running imwheel on multiple displays
635 using the Wheel FIFO method.
636
637 /tmp/imwheel.pid
638 The public area for imwheel's pid file.
639
640 /var/run/imwheel.pid
641 The private area for imwheel's pid file.
642
643
645 jamd(1)
646 Jon Atkins Mouse - a replacement/augmentation for/to gpm.
647 xwheel(1x)
648 The new replacement for imwheel. Uses jamd instead of gpm or ZAxis.
649 (may not be available yet)
650 xdpyinfo(1x)
651 X Display information, including extensions.
652 gpm(8)
653 General Purpose Mouse, imwheel edition required.
654 FvwmIdent(1x)
655 FVWM2's Identify module, for probing windows.
656 regex(7)
657 POSIX 1003.2 Regular Expressions.
658 xmodmap(1x)
659 Utility for modifying keymap & button mappings in X.
660 xev(1x)
661 Print contents of X events.
662 /usr/include/X11/keysymdef.h
663 X11 KeySym definitions.
664 /usr/include/limits.h
665 INT_MIN and INT_MAX definitions.
666
667
668
6693rd Berkeley Distribution September 8 2002 IMWheel(1)