1IMWheel(1)                  General Commands Manual                 IMWheel(1)
2
3
4

NAME

6       imwheel - a mouse wheel and stick interpreter for X Windows
7

SYNOPSIS

9       imwheel [ options ]
10

DESCRIPTION

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

COMMAND LINE OPTIONS

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

X WINDOWS ZAXIS METHOD

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

GPM/JAMD WHEEL FIFO METHOD

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

STICK SENSITIVITY SETTINGS

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

IMWHEELRC

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

IMWHEELRC WINDOW SECTION HEADERS

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

IMWHEELRC TRANSLATION DEFINITIONS

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

IMWHEELRC COMMANDS

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

CONFIGURATION HELPER

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

KEYSYMS

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

WHEEL OR STICK AS MIDDLE BUTTON IN X

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

LEFTY BUTTON MAPPING IN X WINDOWS

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

BUGS

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

HOMEPAGE

611       http://jonatkins.org/imwheel
612
613

AUTHOR

615       Jonathan Atkins <jcatki@jonatkins.org>
616
617

FILES

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

SEE ALSO

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)
Impressum