[Tfug] Fvwm2 rc mouse configuration

Adrian choprboy at dakotacom.net
Thu Apr 27 11:47:31 MST 2006


On Thursday 27 April 2006 01:09, Stephen Hooper wrote:
> If you just xmodmap, and bind the events to different syms (not trying
> to erase them), what happens?
[snip]
 
> xmodmap -e pointer = 1 12 11 10 9 8 7 6 5 4 3 2
> 

Well... I had tried xmodmap before. However, in addition to not letting you 
unbind buttons, you must give an argument for each physical button defined. 
For example, on my system I have:
xmodmap -pp -d :0
There are 5 pointer buttons defined.
    Physical        Button
     Button          Code
        1              1
        2              2
        3              3
        4              4
        5              5

So therefore, the only valid syntax for setting the pointer is something like:
xmodmap -d :0 -e 'pointer = 1 2 3 4 5'

Sure I can reorder the buttons... but not remove physical buttons 2 and 3. 
However, you did give me an idea... how about binding non-existant button 
codes to the physical buttons!
xmodmap -d :0 -e 'pointer = 1 10 11 4 5'

xmodmap -pp -d :0
There are 5 pointer buttons defined.
    Physical        Button
     Button          Code
        1              1
        2             10
        3             11
        4              4
        5              5

It looks like it worked... but unfortunately Mozilla is still responding to 
middle and right click actions...

I think I've come to the conclusion that you can not unbind physical mouse 
buttons without changes to the source code of fvwm/X or changes to the global 
machine state (be it physical or kernel). To date I have tried:

1) X - You can enable 3rd button emulation, 4/5 scrolling, and higher button 
actions... but not disable specific buttons.

2) fvwm - You can bind actions to mouse clicks (including no action), but in 
the window context, clicks are forwarded to the application as well as the 
bound action.

3) key mapping (xmodmap/etc.) - You can bind keys to other keys/buttons or 
reorder mouse button bindings, but not unbind mouse buttons or bind buttons 
to keys. For some reason, Mozilla still receives buttons 2/3, even when bound 
to a different mouse event.

4) system env (Xdefaults/Xresources) - You can bind/unbind events, including 
mouse events, for applications, but unfortunately current Mozilla/Firefox 
does not appear to read the env, unlike previous Mozilla/Netscape (i.e. 
Netscape*drawingArea.translations:  #replace <Btn2Down>,<Btn2Up>: \n).

5) Mozilla - You can unbind the middle button from "paste URL" action, but the 
middle button still performs other paste actions and there is no general 
setting to disable right button clicks without changing global code.

So... I am left with changing something globally on the current machine. 
However, I have found 1 more thing to try. There is now a "kiosk" plugin 
available for Firefox (https://addons.mozilla.org/firefox/1659/). Instead of 
changing the global app to remove configuration from the browser (as previous 
Mozilla/Firefox "kiosk" modes did), you can install an extension for a single 
local user that does the same. So I guess I'm off to install FF and do some 
more testing/reconfiguration on this machine.

Adrian




More information about the tfug mailing list