Differences between revisions 7 and 8
Revision 7 as of 2005-10-20 21:04:08
Size: 4236
Editor: MartinWilck
Comment:
Revision 8 as of 2005-11-08 02:18:22
Size: 4492
Editor: MartinWilck
Comment: Add note on lineakd/GNOME
Deletions are marked like this. Additions are marked like this.
Line 55: Line 55:
Lineakd is much less useful with GNOME than with KDE. Under Ubuntu 5.10 "Breezy", I found that most special keys worked out-of-the box with GNOME (the setkeycodes command needs to be executed though, to map the special keys to their standard X keycodes).

Keyboard and touchpad

Special keys

Key

X11 keycode

kernel keycode

raw scancode

Mute (Fn-F6)

160

113

0xe020

Volume Down (Fn-leftarrow)

174

114

0xe02e

Volume Up (Fn-leftarrow)

176

115

0xe030

Mail

128 (236*)

90 (155*)

0x78

Internet

178*

150*

0x75

User-defined ("Ok")

159*

148*

0x74

Etiquette On/Off (Fn-F10)

182*/183*

183*/184*

0xe074/0xe075

I set the (*) keycodes with the following command at boot time: {{{ setkeycodes 74 148 75 150 78 155 e074 183 e075 184 }}} This automatically generates the X11 and kernel keycodes shown in the table. The "Mail" keycode doesn't have to be set, but the original keycode (128/90) is very unusual so I changed it to the normal value (236/155).

I am using [http://lineak.sourceforge.net lineakd] for mapping the special keys. The X50 section of /etc/lineakkb.def looks as follows:

[SX50]
  # set the keycodes with the following command: 
  # setkeycodes 74 148 75 150 78 155 e074 183 e075 184
  brandname = "Samsung"
  modelname = "Samsung X50"
  [KEYS]
    Internet    = 178
    # use Mail = 128 if you don't use setkeycodes for this key
    Mail        = 236
    UserDefined1 = 159
    Mute        = 160
    VolumeDown  = 174
    VolumeUp    = 176
    UserDefined2 = 182
    UserDefined3 = 183
  [END KEYS]
[END SX50]

Here is my $HOME/.lineak/lineakd.conf (keys section):

Internet =  "firefox"
Mail = "mozilla-thunderbird"
Mute = "KMIX_MUTE"
UserDefined1 = "konsole"
# This requires "cpufrequtils" and proper permissions on cpufreq-set
[etiquette mode on] UserDefined2 = /usr/bin/cpufreq-set -g powersave
[etiquette mode off] UserDefined3 = /usr/bin/cpufreq-set -g ondemand
VolumeDown = "KMIX_VOLDOWN"
VolumeUp = "KMIX_VOLUP"

Lineakd is much less useful with GNOME than with KDE. Under Ubuntu 5.10 "Breezy", I found that most special keys worked out-of-the box with GNOME (the setkeycodes command needs to be executed though, to map the special keys to their standard X keycodes).

The touchpad

(Etch) The synaptic touchpad was auto-detected but not configured as primary mouse. The driver is in th xfree86-driver-synaptics package. I took some tim eto figure out the ideal driver parameters for my laptop and my fingers with the "synclient" tool. Here is the relevant part from xorg.conf:

Section "InputDevice"
        Identifier      "Synaptics Touchpad"
        Driver          "synaptics"
        Option          "CorePointer"
        Option          "Device"                "/dev/psaux"
        Option          "Protocol"              "auto-dev"

        # Values I found handy on the X50

        Option  "LeftEdge"      "1500"   # I prefer narrow edges
        Option  "RightEdge"     "5000"   # right edge is larger (scroll area)
        Option  "TopEdge"       "1200"
        Option  "BottomEdge"    "4800"

        Option  "FingerLow"     "30"     # Z values range from 40 for slight tap
        Option  "FingerHigh"    "40"     # to 120 for full palm weight
 
        # Useful with X mouse acceleration=1.0
        Option  "MinSpeed"      "0.09"
        Option  "MaxSpeed"      "0.5"
        Option  "AccelFactor"   "0.005"

        Option  "MaxTapTime"    "180"
        Option  "MaxTapMove"    "220"
        Option  "MaxDoubleTapTime" "160" # Doubleclick is too hard otherwise

        # Buttons
        Option  "EmulateMidButtonTime" "0" # unnecessary
        Option  "TapButton2" "2"         # 2 fingers-middle button
        Option  "TapButton3" "3"         # 3 fingers right button
        Option  "RTCornerButton" "4"     # scrolling with the scroll arrows
        Option  "RBCornerButton" "5"
        Option  "HorizScrollDelta" "100" # button 6/7 at lower edge
        Option  "VertScrollDelta" "100"  # button 4/5 at right edge

        Option  "EdgeMotionMinZ" "60"    # require some pressure for edge motion
        Option  "EdgeMotionMaxZ" "80"
        Option  "EdgeMotionMinSpeed"  "0" # motion must STOP at MinZ
        Option  "EdgeMotionMaxSpeed"  "1000"
        Option  "EdgeMotionUseAlways" "1" # use it for pointer movement

        Option  "PalmDetect" "1"          # Z = 100-120 is typical for palm
        Option  "PalmMinWidth" "10"
        Option  "PalmMinZ"     "100"

        Option  "SHMConfig"     "on"
EndSection