Rev | Author | # | Line |
---|---|---|---|
11 | CraigBox | 1 | !!! Mouse hardware support under [XFree86]/[XOrg] |
3 | DanielLawson | 2 | |
3 | !! Side buttons on 7-button mice | ||
4 | |||
12 | IanMcDonald | 5 | Mice like the [Microsoft] Intellimouse Explorer have 5 buttons, besides the wheel, which means a total of 7 buttons as far as [XFree86] is concerned. Here's a summary of how to get the extra buttons working, as outlined in the [official XFree developer documentation|http://www.xfree86.org/4.2.0/mouse.html]. |
3 | DanielLawson | 6 | |
12 | IanMcDonald | 7 | Under [XFree86] 4.2.x and later, add/change settings in your mouse !InputDevice section of /etc/X11/XF86Config(-4): |
3 | DanielLawson | 8 | |
9 | Protocol "ExplorerPS/2" # instead of plain "IMPS/2" | ||
10 | Options "Buttons" "7" | ||
11 | "ZAxisMapping" "6 7" | ||
12 | |||
13 | Verify that it works by using xev(1) and clicking on the various buttons after restarting your display manager (xdm(8)/gdm(8)/kdm(8)/wdm(8)/...). | ||
14 | |||
15 | You'll probably notice that your mouse wheel doesn't work any more, but the two side buttons act as wheel up/down now. The reason for this is that the application widget sets (eg [Qt] and [GTK]) assume buttons 4 and 5 are generated by a wheel, in the same way that they assume a button 3 message was generated by the 3rd mouse button. For some reason the Explorer driver and/or hardware assigns 4 and 5 to the side buttons, and 6 and 7 to the wheel. | ||
16 | |||
17 | To fix this, change the button order: | ||
18 | xmodmap -e "pointer = 1 2 3 6 7 4 5" | ||
19 | |||
20 | To have this happen automatically, you could | ||
21 | # add it to your __.xsession__ or __.xinitrc__, which only works per user | ||
22 | # assuming you're using gdm(8), add it to /etc/gdm/!PreSession/Default which affects everyone using gdm(8) | ||
13 | MarkStumme | 23 | # assuming you're using kdm(8), add it to /usr/kde/3.x/share/config/kdm which affects everyone using kdm(8) |
3 | DanielLawson | 24 | |
9 | JohnMcPherson | 25 | Some applications already have support for these buttons, otherwise you can use xmodmap(1) or another program to map these button events to arbitrary key bindings/commands. |
12 | IanMcDonald | 26 | Recent versions of [Mozilla] (for example 1.6 on [Debian]) uses these for horizontal scrolling of a wide page, or see MozillaNotes for examples on how to use these extra buttons for things like going forward/backwards in a browser. Many games also support them. |
10 | OmegaTron | 27 | |
28 | Note that if you have multiple mice (touchpad and external mouse, for instance), xmodmap only affects the one which is registered as CorePointer. | ||
3 | DanielLawson | 29 | |
30 | !! Using your Keyboard as a mouse | ||
31 | |||
32 | Should you happen to find yourself without a mouse for one reason or another you can use the numpad on your keyboard as a substitute. To enable this feature simply press __Shift-!NumLock__ (various people report their keyboards' !NumLock keys even have mouse icons on them - check yours!), which gives you two beeps to signify it's active. | ||
33 | |||
34 | Use 2/4/6/8 as down/left/up/right, respectively. 5 clicks a mouse button, + toggles whether it's the left or right one. * produces a middle-click. | ||
8 | SamuelFalvo | 35 | |
12 | IanMcDonald | 36 | On my system, a Slackware 9.0 stock install, the + key does not toggle between left and right buttons. Instead, it emulates a double-click of the button. The / key changes 5 to be the left mouse button, * to the middle mouse button, and - to the right mouse button. -- Samuel Falvo |
8 | SamuelFalvo | 37 | |
3 | DanielLawson | 38 | |
39 | !! Changing the mouse cursor speed | ||
40 | |||
41 | [GNOME] and [KDE] have applets/config settings to change the mouse speed settings. If you prefer to do it manually, or you are running a different window manager/environment, you can use the xset(1) command. | ||
42 | $ xset m 2 4 | ||
43 | sets the acceleration to 2 and the threshold to 4. This means that the mouse cursor will be accelerated to double speed when the cursor passes over 4 pixels in a "short time". This means that if you are moving the mouse slow enough (under the threshold), the mouse moves at normal speed, but over the threshold and the cursor is moved faster than normal. The acceleration can be a fraction, eg | ||
44 | $ xset m 5/2 8 | ||
45 | will make the cursor go 2.5 times normal speed if the cursor moves over 8 pixels in a short time. | ||
46 | |||
47 | !!! Mouse cursor | ||
48 | |||
12 | IanMcDonald | 49 | Some games on [Linux] (such as Quake2 or [BzFlag]) don't change the mouse pointer, meaning you get the mouse arrow in the middle of your game. |
3 | DanielLawson | 50 | |
51 | You can change the shape of the cursor using standard programs that come with [XFree86]. X also comes with lots of bitmaps for this purpose. The xsetroot(1) program does this. If you give it the __-cursor__ option, the first argument is an xbm to use for the cursor and the second argument is a transparency mask. | ||
52 | |||
53 | A good, minimalist pointer is: | ||
54 | |||
55 | $ BMPATH=/usr/X11R6/include/X11/bitmaps | ||
56 | $ xsetroot -cursor $BMPATH/opendot $BMPATH/opendot | ||
57 | |||
58 | To restore the cursor back to the original pointer: | ||
59 | |||
60 | $ BMPATH=/usr/X11R6/include/X11/bitmaps | ||
61 | $ xsetroot -cursor $BMPATH/left_ptr $BMPATH/left_ptrmsk | ||
62 | |||
63 | |||
4 | DanielLawson | 64 | !!! Keyboards under [XFree86] |
12 | IanMcDonald | 65 | If you have a keyboard with 'extra' buttons, you'll probably want to get them to work under [X]. |
5 | JohnMcPherson | 66 | |
67 | You could try installing the "acme" package if you use [GNOME]2. This provides support for the multimedia keys found on some keyboards such as Hewlett-Packard's - even the volume knob worked! | ||
1 | DanielLawson | 68 | |
12 | IanMcDonald | 69 | !! [Microsoft] Natural Pro |
6 | AristotlePagaltzis | 70 | |
12 | IanMcDonald | 71 | If you have a [Microsoft] Natural Pro keyboard with the blue 'multimedia' buttons across the top and can change your __/etc/X11/XF86Config__, put __Option "!XkbModel" "microsoft"__ in the !InputDevice section for the keyboard and you'll be able to use them. If you can't, put one of the following in __.Xmodmap__ in your home directory (make sure your [X] login runs xmodmap over this file; this is a common default), depending on whether the keyboard is connected via [USB] or [PS/2]. |
1 | DanielLawson | 72 | |
12 | IanMcDonald | 73 | ! [Microsoft] Natural Pro ([USB]) .Xmodmap snippet |
1 | DanielLawson | 74 | |
6 | AristotlePagaltzis | 75 | keycode 234 = XF86Back |
76 | keycode 233 = XF86Forward | ||
77 | keycode 232 = XF86Stop | ||
78 | keycode 121 = XF86Refresh | ||
79 | keycode 229 = XF86Search | ||
80 | keycode 230 = XF86Favorites | ||
81 | keycode 130 = XF86HomePage | ||
82 | keycode 236 = XF86Mail | ||
83 | keycode 166 = XF86AudioMute | ||
84 | keycode 165 = XF86AudioLowerVolume | ||
85 | keycode 158 = XF86AudioRaiseVolume | ||
86 | keycode 159 = XF86AudioPlay | ||
87 | keycode 151 = XF86AudioStop | ||
88 | keycode 164 = XF86AudioPrev | ||
89 | keycode 162 = XF86AudioNext | ||
90 | keycode 129 = XF86AudioMedia | ||
91 | keycode 111 = XF86MyComputer | ||
92 | keycode 161 = XF86Calculator | ||
93 | keycode 227 = XF86Standby | ||
1 | DanielLawson | 94 | |
12 | IanMcDonald | 95 | ! [Microsoft] Natural Pro ([PS/2]) .Xmodmap snippet |
1 | DanielLawson | 96 | |
6 | AristotlePagaltzis | 97 | keycode 234 = XF86Back |
98 | keycode 233 = XF86Forward | ||
99 | keycode 232 = XF86Stop | ||
100 | keycode 231 = XF86Refresh | ||
101 | keycode 229 = XF86Search | ||
102 | keycode 230 = XF86Favorites | ||
103 | keycode 178 = XF86HomePage | ||
104 | keycode 236 = XF86Mail | ||
105 | keycode 160 = XF86AudioMute | ||
106 | keycode 174 = XF86AudioLowerVolume | ||
107 | keycode 176 = XF86AudioRaiseVolume | ||
108 | keycode 162 = XF86AudioPlay | ||
109 | keycode 164 = XF86AudioStop | ||
110 | keycode 144 = XF86AudioPrev | ||
111 | keycode 153 = XF86AudioNext | ||
112 | keycode 237 = XF86AudioMedia | ||
113 | keycode 235 = XF86MyComputer | ||
114 | keycode 161 = XF86Calculator | ||
115 | keycode 223 = XF86Standby | ||
11 | CraigBox | 116 | |
117 | !!Dvorak keyboard layout | ||
118 | |||
119 | Courtesy of David !McNab on [NZLUG]. | ||
120 | |||
121 | After much frustration and trial/error, I've finally perfected my Dvorak/XWindows setup. | ||
122 | |||
123 | I tried two different ways of setting up dvorak: | ||
124 | |||
125 | 1) the ~/.xinitrc command: | ||
126 | |||
127 | setxkbmap dvorak | ||
128 | |||
129 | 2) the XWindows config line: | ||
130 | |||
131 | Option "!XkbLayout" "dvorak" | ||
132 | |||
133 | Both these approaches had the same problems: | ||
134 | |||
135 | * right-side Alt and Logo keys not being recognised | ||
136 | * Ctrl-Alt sequences such as Ctrl-Alt-Delete and Ctrl-Alt-Backspace not working | ||
137 | * keyboard shortcuts not working in my window manager (Openbox) | ||
138 | |||
139 | I tried adding some 'xmodmap keysym' commands to my .xinitrc, but these just got ignored. | ||
140 | |||
141 | The only solution that has worked for me has been a full xmodmap config file with a couple of nonintuitive tweaks. I've put mine (for standard | ||
142 | 104-key keyboard) up at http://www.freenet.org.nz/dvorak.xmodmap. | ||
143 | |||
12 | IanMcDonald | 144 | I activate this in my [X] config by putting into my .xinitrc the command: |
11 | CraigBox | 145 | |
146 | xmodmap /path/to/dvorak.xmodmap | ||
147 | |||
148 | This is the only scheme I've found that sets up my dvorak keyboard exactly as one would expect. | ||
7 | JohnMcPherson | 149 | |
150 | ---- | ||
151 | [CategoryXFree86Notes] |
lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 2 times)
lib/plugin/WlugLicense.php (In template 'html'):99: Warning: Invalid argument supplied for foreach()
lib/plugin/WlugLicense.php (In template 'html'):111: Notice: Undefined variable: ignore_authors
lib/plugin/WlugLicense.php (In template 'html'):111: Notice: Undefined variable: ignore_authors