Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Kernel & Hardware
  • Search

Ergonomic keyboards?

Kernel not recognizing your hardware? Problems with power management or PCMCIA? What hardware is compatible with Gentoo? See here. (Only for kernels supported by Gentoo.)
Post Reply
Advanced search
87 posts
  • Previous
  • 1
  • 2
  • 3
  • 4
  • Next
Author
Message
Sedrik
l33t
l33t
User avatar
Posts: 655
Joined: Fri Apr 08, 2005 7:14 am
Location: Uppsala, Sweden

  • Quote

Post by Sedrik » Mon Sep 18, 2006 4:56 am

purplerhino wrote:
The most important keys for me are the multimedia keys
yeah me too, that's where i'm having the problem... the pause and the volumes work fine, but there are no previous and next keys... so i tried to just map them to the forward and back buttons, i don't actually use them for web browsing, and the gnome keyboard shortcuts act like it accepts them all fine and well, but they don't work in rhythmbox. The keyboard shortcuts worked on my last keyboard in rhythmbox with the actual prev/next keys... so that's where I'm having trouble.

I've never been able to get zoom sliders or those favorite keys to work, and i've never really cared, they didn't make xev events so i figured it would be a lot of work.
Hmm back and forward buttons are for explorers I believe? Never encountered a player that uses thoose buttons to change songs.. but then again I have never tried rythmbox. As far as I know most players have speciall command line calls to play the next song, atleast thats the case for xmms and audicious.
geniux wrote: Stop thinking and buy it :wink:
It's a great keyboard (even if it's name says different :twisted: ) doing wonders for your wrists, at least it did for me, and the multimedia keys works great with lineak
ok :)

Never heard of lineak is it a player?
From Gentoo with love
Top
purplerhino
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 90
Joined: Mon Jul 22, 2002 9:06 pm
Location: Chicago, IL

  • Quote

Post by purplerhino » Mon Sep 18, 2006 5:43 am

Hmm back and forward buttons are for explorers I believe? Never encountered a player that uses thoose buttons to change songs.. but then again I have never tried rythmbox. As far as I know most players have speciall command line calls to play the next song, atleast thats the case for xmms and audicious.
well it doesn't by default. rhythmbox uses gnome keyboard shortcuts, and you can theoretically assign "next track" and "previous track" to any key. i actually only use rhythmbox so i can use those key bindings, rhythmbox isn't anything too special, you're not missing anything.

the strange thing is when i'm in the keybinding dialog, if i rebind the key a couple times pressing the same key i get three different things, it's strange. i'll try and bind audio next to the forward key, i press it once i get XF86AudioNext, or I might get XF86Forward, or i might get some strange hex value, all seemingly random from the same key. strange.

http://lineak.sourceforge.net/ is a program for binding special keys on keyboards, i haven't tried it yet because the gnome keyboard shortcuts had served me well in the past, but now not so much so i might need to check it out.
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Mon Sep 18, 2006 7:01 am

geniux wrote: the multimedia keys works great with lineak
Are the all the multimedia keys working for you? are you using evdev? because if I do use evdev for the keyboard, none of these keys are working!

And the prev-next bouton are working for me too (I'm using xbindkeys, but who cares!? it just that the keys which are working are the keys xev received events from.. for the other I'm still working on it:) )
Last edited by truc on Tue Sep 19, 2006 4:33 pm, edited 1 time in total.
The End of the Internet!
Top
geniux
Veteran
Veteran
User avatar
Posts: 1400
Joined: Thu Feb 19, 2004 6:43 am
Location: /home

  • Quote

Post by geniux » Mon Sep 18, 2006 7:18 am

Sedrik wrote: ok :)

Never heard of lineak is it a player?
lineak is a nifty little app that lets you configure your keyboards multimedia buttons to work as you want, read about it here
All you have to do is emerge lineakd
truc wrote: Are the all the multimedia keys working for you? are you using evdev? because if I do, none of these keys are working!

And the prev-next bouton are working for me too (I'm using xbindkeys, but who cares!? it just that the keys which are working are the keys xev received events from.. for the other I'm still working on it:) )
Yes, play/paus stop, mute etc, no I'm not using evdev it's locking my system up so I have too live without it for awhile longer. But I haven't looked at xbindkeys so my prev and next don't work :wink:


But I'd use this keyboard even if the multimedia buttons didn't work, because it's wonderful to type on
AMD Athlon64 X2 4200+ AM2
MSI K9N SLI Platinum, Enermax Liberty 500W
1GB RAM Crucial DDR2 667MHz, MSI nVidia 7600GS 256MB
400GB + 250GB Samsung SATAII HDD
Gentoo - BeyondSources 2.6.19-20
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Mon Sep 18, 2006 7:58 am

when using keyboard instead of evdev, as I stated before:
working
start
search
mail
prev/next
mute
volume up/down
play/pause
calculator

this means xev can see something when typing on them.

not working yet
Launch 1,2,3,4,5
favorite
Zoom scroll


since prev/next send events, it's *really* wierd that xbinkeys didn't, since it's working here.. (may be you just missed something :S )

Anyway, my point is now to make the 'non-working' keys working!
The End of the Internet!
Top
geniux
Veteran
Veteran
User avatar
Posts: 1400
Joined: Thu Feb 19, 2004 6:43 am
Location: /home

  • Quote

Post by geniux » Mon Sep 18, 2006 2:10 pm

I might mention that my prev/next works for my multimedia apps but not with my browser which I'd like, yeah I'm a lazy surfer
AMD Athlon64 X2 4200+ AM2
MSI K9N SLI Platinum, Enermax Liberty 500W
1GB RAM Crucial DDR2 667MHz, MSI nVidia 7600GS 256MB
400GB + 250GB Samsung SATAII HDD
Gentoo - BeyondSources 2.6.19-20
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Mon Sep 18, 2006 2:29 pm

As a lazy surfer I just use the Mouse Gestures extension for firefox (As I was used to it with opera...) really , really great! You should try it ;)
The End of the Internet!
Top
geniux
Veteran
Veteran
User avatar
Posts: 1400
Joined: Thu Feb 19, 2004 6:43 am
Location: /home

  • Quote

Post by geniux » Mon Sep 18, 2006 2:43 pm

truc wrote:As a lazy surfer I just use the Mouse Gestures extension for firefox (As I was used to it with opera...) really , really great! You should try it ;)
That seems like a good idea which I'll try, thanks much :)
AMD Athlon64 X2 4200+ AM2
MSI K9N SLI Platinum, Enermax Liberty 500W
1GB RAM Crucial DDR2 667MHz, MSI nVidia 7600GS 256MB
400GB + 250GB Samsung SATAII HDD
Gentoo - BeyondSources 2.6.19-20
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Mon Sep 18, 2006 7:01 pm

well, I'm back with some news, as I said before I found several patches to make these keyboard working (Natural Ergonomic Keyboard 4000),

there are:
1. [PATCH] usb: The HID Simple Driver Interface 0.3.1 (core)
2. [PATCH] usb: HID Simple Driver Interface 0.3.1 (Kconfig and Makefile)

and the patch for this keyboard NEK4K:
3. [PATCH] usb: Microsoft Natural Ergonomic Keyboard 4000 Driver 0.3.1

Since these patches are a bit old, There was some problem patching the kernel. I just did it manually (yeah :oops: )

From thatn I made a single patch for you to try it and help me :/

download it here: NEK4K.patch

(I'm running vanilla-sources-2.6.18-rc7, but this shouldn't be a problem )

after patching the kernel you should have new menu items in device drivers --> usb

But I can't make the kernel:

Code: Select all

  CC      drivers/usb/core/inode.o
  CC      drivers/usb/core/devices.o
  LD      drivers/usb/core/usbcore.o
  LD      drivers/usb/core/built-in.o
  CC      drivers/usb/host/pci-quirks.o
  CC      drivers/usb/host/ohci-hcd.o
  LD      drivers/usb/host/built-in.o
  CC [M]  drivers/usb/host/ehci-hcd.o
  CC      drivers/usb/input/hid-core.o
  CC      drivers/usb/input/hid-input.o
drivers/usb/input/hid-input.c: In function ‘hidinput_simple_driver_configure_usage’:
drivers/usb/input/hid-input.c:1067: warning: ‘op’ may be used uninitialized in this function
make[3]: *** No rule to make target `drivers/usb/input/hid-simple.o', needed by `drivers/usb/input/usbhid.o'.  Stop.
make[2]: *** [drivers/usb/input] Error 2
make[1]: *** [drivers/usb] Error 2
make: *** [drivers] Error 2
This probably means the makefile is wrong, but I have no idea what to change :/

So I'd be glad if some one could help me on this :)

TIA
The End of the Internet!
Top
purplerhino
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 90
Joined: Mon Jul 22, 2002 9:06 pm
Location: Chicago, IL

  • Quote

Post by purplerhino » Mon Sep 18, 2006 7:18 pm

wow, you're hardcore. i just installed lineakd and set it up to make forward/back do "rhythmbox --next" "rhythmbox --prev" and calulator button to run gcalctool... all the other buttons work fine with gnome keyboard shortcuts, except the favorites and the zoom. But they do not make any xev events (and no message in dmesg either, like the wiki said they might, so I figured getting them to work was hopeless) I am content with this setup, I wasn't planning on doing any kernel hacking! good luck with that
Top
geniux
Veteran
Veteran
User avatar
Posts: 1400
Joined: Thu Feb 19, 2004 6:43 am
Location: /home

  • Quote

Post by geniux » Mon Sep 18, 2006 7:20 pm

purplerhino wrote:i just installed lineakd and set it up to make forward/back do "rhythmbox --next" "rhythmbox --prev" and calulator button to run gcalctool... all the other buttons work fine with gnome keyboard shortcuts
Same here and that does it for me 8)
AMD Athlon64 X2 4200+ AM2
MSI K9N SLI Platinum, Enermax Liberty 500W
1GB RAM Crucial DDR2 667MHz, MSI nVidia 7600GS 256MB
400GB + 250GB Samsung SATAII HDD
Gentoo - BeyondSources 2.6.19-20
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Mon Sep 18, 2006 7:29 pm

yeahhh, but we've already said all that. We have the same keys working, I'm just trying to make the others working.

Anf for your information, using lineakd or xbindkeys is just the same, what you can do with xbindkeys is possible to do with lineakd :wink:
The End of the Internet!
Top
geniux
Veteran
Veteran
User avatar
Posts: 1400
Joined: Thu Feb 19, 2004 6:43 am
Location: /home

  • Quote

Post by geniux » Mon Sep 18, 2006 7:45 pm

truc wrote: Anf for your information, using lineakd or xbindkeys is just the same, what you can do with xbindkeys is possible to do with lineakd :wink:
Know that just prefering lineakd though, I'm more used to it and find it easier to use
Hope you'll get the buttons working, would be very neat and impressing :wink:
AMD Athlon64 X2 4200+ AM2
MSI K9N SLI Platinum, Enermax Liberty 500W
1GB RAM Crucial DDR2 667MHz, MSI nVidia 7600GS 256MB
400GB + 250GB Samsung SATAII HDD
Gentoo - BeyondSources 2.6.19-20
Top
masseya
Bodhisattva
Bodhisattva
User avatar
Posts: 2602
Joined: Wed Apr 17, 2002 3:56 pm
Location: Baltimore, MD
Contact:
Contact masseya
Website

  • Quote

Post by masseya » Tue Sep 19, 2006 1:14 am

I know most of this thread has focused on larger keyboards, but if you're looking for a smaller ergonomic keyboard or interested in just trying out something new you might consider TypeMatrix. (http://www.typematrix.com/)

They have Dvorak versions as well. I have used both the 2030 and the 2020 and found them to be very solid and comfortable. In particular, I find it much easier on me when I'm constantly switching back and forth from the mouse.
if i never try anything, i never learn anything..
if i never take a risk, i stay where i am..
Top
Sedrik
l33t
l33t
User avatar
Posts: 655
Joined: Fri Apr 08, 2005 7:14 am
Location: Uppsala, Sweden

  • Quote

Post by Sedrik » Tue Sep 19, 2006 7:10 am

masseya wrote:I know most of this thread has focused on larger keyboards, but if you're looking for a smaller ergonomic keyboard or interested in just trying out something new you might consider TypeMatrix. (http://www.typematrix.com/)

They have Dvorak versions as well. I have used both the 2030 and the 2020 and found them to be very solid and comfortable. In particular, I find it much easier on me when I'm constantly switching back and forth from the mouse.
But then again that is not an ergonomic keyboard, simply an ordinary keyboard with the keys moved around ^^ Thanks for the tip though =)
From Gentoo with love
Top
trantorvega
n00b
n00b
Posts: 13
Joined: Mon Sep 19, 2005 1:51 pm

MS Natural Ergonomic Keyboard 4000

  • Quote

Post by trantorvega » Tue Sep 26, 2006 9:44 am

For the possessors of the Microsoft Natural Ergonomic Keyboard 4000:

I wrote this howto with informations to get ALL the keys recognised by X, along with custom XKB files.

http://gentoo-wiki.com/index.php?title= ... board_4000

Comments are welcome.
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Tue Sep 26, 2006 6:50 pm

that sounds good, I did not tried yet, but from what I read you just applied the same patch I applied. That's wierd, since I didn't get any result. May be the patches I used were too old for this kernel version. :?:

anyway will try&comment this tonight.
The End of the Internet!
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Wed Sep 27, 2006 3:48 pm

With the patches I now have event for every keys ! Unfortunately, I can't set the Layout for the keyboard using evdev, this is really annoying. With the keyboard driver I just set

Code: Select all

Option      "XkbLayout" "fr"
to have a FR layoutm but this doesn't work with evdev :?:

anyway, I wanted to say we can add SYMLINK with udev this way

Code: Select all

DRIVERS=="usbhid", ATTRS{modalias}=="usb:v045Ep00DBd0173dc00dsc00dp00ic03isc00ip00", SYMLINK+="input/nek4k1"
DRIVERS=="usbhid", ATTRS{modalias}=="usb:v045Ep00DBd0173dc00dsc00dp00ic03isc01ip01", SYMLINK+="input/nek4k0"
and this work too.

Code: Select all

total 0
drwxr-xr-x 2 root root    100 2006-09-27 12:04 by-id
drwxr-xr-x 2 root root    120 2006-09-27 12:04 by-path
crw------- 1 root root 13, 64 2006-09-27 12:04 event0
crw------- 1 root root 13, 65 2006-09-27 12:04 event1
crw------- 1 root root 13, 66 2006-09-27 12:04 event2
crw-r--r-- 1 root root 13, 63 2006-09-27 12:04 mice
crw------- 1 root root 13, 32 2006-09-27 12:04 mouse0
lrwxrwxrwx 1 root root      6 2006-09-27 12:04 nek4k0 -> event1
lrwxrwxrwx 1 root root      6 2006-09-27 12:04 nek4k1 -> event2
lrwxrwxrwx 1 root root      6 2006-09-27 12:04 razer -> event0
don't forget to also change xorg.conf



I've read evdev is now supposed to support the layout thingie, but I can't make it to work. I have x11-drivers/xf86-input-evdev-1.0.0.5


Last question. why can't I use xmodmap anymore :?:


EDIT: I ended, using the driver keyboard for the corekeyboard and evdev for the other, this way, I can have my french layout :)

I've not finished configuring yet, but it looks like I no longer have the problem with the favoritekey and the downarrow key
Last edited by truc on Wed Sep 27, 2006 4:20 pm, edited 1 time in total.
The End of the Internet!
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Wed Sep 27, 2006 4:19 pm

oh well it's working, so here here how I did:

Follow the first steps in the gentoo-wiki: patch the kernel, then configure udev, I gave my udev settings the post just before, but you can also use those which are on the wiki.

then configure xorg.conf so that it uses the driver keyboard for the corekeyboard (for me it was "/dev/input/nek4k0") and evdev for the other one (still for me it was: "/dev/input/nek4k1")

Code: Select all

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0"          "CorePointer"
        InputDevice    "Keyboard0"       "CoreKeyboard"
        InputDevice    "Keyboard1"       "SendCoreEvents"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        Option      "CoreKeyboard"
        Option      "XkbModel"          "pc105"
        Option      "XkbRules"          "xorg"
        Option      "XkbLayout"         "fr"
EndSection


Section "InputDevice"
        Identifier  "Keyboard1"
        Driver      "evdev"
        Option      "Device"                         "/dev/input/nek4k1"
        Option      "XkbModel"      "evdev"
        Option      "XkbLayout" "fr"
EndSection 
then, you can configure your /etc/X11/Xmodmap file or whichever xmodmap file it is.

Here is mine

Code: Select all

keycode 166 = XF86AudioPrev 
keycode 167 = XF86AudioNext
keycode 121 = XF86AudioStop
keycode 172 = XF86AudioPlay
keycode 122 = XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume 
keycode 223 = XF86Mail
keycode 225 = XF86Search
keycode 180 = XF86WWW
keycode 148 = XF86Calculator
keycode 218 = XF86Launch1
keycode 219 = XF86Launch2
keycode 220 = XF86Launch3
keycode 221 = XF86Launch4
keycode 222 = XF86Launch5
keycode 191 = XF86ZoomIn
keycode 192 = XF86ZoomOut
keycode 187 = parenleft
keycode 188 = parenright
keycode 125 = equal
Note: the favorite key is detected by default as the super_R key


and that's it:)
The End of the Internet!
Top
bigbob73
Guru
Guru
User avatar
Posts: 332
Joined: Fri Dec 31, 2004 6:51 pm
Location: Under the Lone Star

  • Quote

Post by bigbob73 » Wed Sep 27, 2006 5:04 pm

Truc, Thanks for the very nice how-to. Can't wait to try it tonight! :D
A computers attention span is only as long as it's electrical cord (Murphy)
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Wed Sep 27, 2006 5:26 pm

bigbob73 wrote:Truc, Thanks for the very nice how-to. Can't wait to try it tonight! :D
actually trantorvega found the good patches (the ones I found before wre probably to old for my kernel version) and begins writing an howto on the gentoo-wiki, the problem was it doesn't work the way I wanted to, (especially the layout thing). I personnally just find an other way (may be easier but that's not what I was looking for...) of doing these. But I've used his work :)
The End of the Internet!
Top
trantorvega
n00b
n00b
Posts: 13
Joined: Mon Sep 19, 2005 1:51 pm

  • Quote

Post by trantorvega » Wed Sep 27, 2006 8:21 pm

Truc: I use an italian layout with no problem, even if I wrote "us" in the howto.
Can you show me the output of setxkbmap -print ?
(Of course I also use the xkb modifications I list in the howto).
Mine is:

Code: Select all

# setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+nek4k(nek4k)+aliases(qwerty)"    };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc(pc105)+it+inet(microsoftnek4k)"     };
        xkb_geometry  { include "microsoft(nek4k)"      };
};
P.S. I've added other material to the howto which might be interesting.
Use the history link on the howto to see it http://gentoo-wiki.com/index.php?title= ... on=history
Top
trantorvega
n00b
n00b
Posts: 13
Joined: Mon Sep 19, 2005 1:51 pm

Good idea, but it doesn't solve everything

  • Quote

Post by trantorvega » Wed Sep 27, 2006 8:53 pm

After further examinations I've commented and explained the pros and cons of your solution here

http://gentoo-wiki.com/Talk:HOWTO_Micro ... board_4000

I've yet to understand what kind of problems you had with your french layout by the way.
Waiting additional informations on that.
I've believe though that you didn't make all the necessary changes to the various xkb files and the various "Xkb*" options in xorg.conf. Remember that kbd (or the old keyboard) have different keycodes than evdev and, as I said in the Talk linked above, "XkbModel" must be set to "evdev" or an extension of it, like my custom "microsoftnek4k" that i show in the howto; the "pc105" I see in the xorg.conf you posted must therefore be replaced if you use the evdev driver.

P.S. xmodmap works just fine here. The problems you had experienced might follow from what said above.
Top
truc
Advocate
Advocate
User avatar
Posts: 3199
Joined: Mon Jul 25, 2005 9:24 am

  • Quote

Post by truc » Wed Sep 27, 2006 9:48 pm

actually I've had masked the new xorg-7.1n and input driver to go with, because there was a problem when launching more than one Xserver, it seems the problem is gone with the new Beta nvidia drivers, so I've unmasked the new xorg, evdev, and the nvidia-drivers Beta.

This is really different! first of all, my /dev/input/nek4k symlink no longer

*I now have an evdev man page:)


So I tried to use evdev for both devices, the Layoiut thing now works, but there is still this problem with the favorite key.

If I still use keyboard for one of the device I don't have this problem :)

And for xmodmap, actually, it already worked that's why I posted my xmodmap file. (it was just at the beginning that for an unknonw readon it doesn't work.


Gentoo-wiki is currently down, so I cannot check the discution about the pros and the cons of doing it my way. But will check it ASAP :)


Since my symlink don't work anymore here is a part of my udev rules:

Code: Select all

SUBSYSTEMS=="input", ATTRS{name}=="Razer Razer Diamondback Optical Mouse", NAME="input/event2"
DRIVERS=="usbhid", ATTRS{modalias}=="usb:v045Ep00DBd0173dc00dsc00dp00ic03isc00ip00", NAME="input/event0"
DRIVERS=="usbhid", ATTRS{modalias}=="usb:v045Ep00DBd0173dc00dsc00dp00ic03isc01ip01", NAME="input/event1"
and a part of my xorg.conf:

Code: Select all

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse"           "CorePointer"
        InputDevice    "Keyboard0"       "CoreKeyboard"
        InputDevice    "Keyboard1"       "SendCoreEvents"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        #Driver     "evdev"
        #Option     "Device"            "/dev/input/event1"
        #Option      "XkbModel"                 "evdev"
        Option      "CoreKeyboard"
        Option      "XkbModel"          "pc105"
        Option      "XkbRules"          "xorg"
        Option      "XkbLayout"         "fr"
EndSection


Section "InputDevice"
        Identifier  "Keyboard1"
        #Driver      "keyboard"
        Driver      "evdev"
        Option      "Device"            "/dev/input/event0"
        #Option             "Name"              "Microsoft Natural� Ergonomic Keyboard 4000"
        #Option      "XkbModel"          "evdev"
        #Option      "XkbRules"          "xorg"
        #Option      "XkbLayout"         "fr"
EndSection

Section "InputDevice"
        Identifier  "Mouse"
        Driver      "evdev"
        Option      "Device"            "/dev/input/event2"
        Option      "Buttons"           "7"                                                                                                                                                    
        Option      "ZAxisMapping"      "4 5"                                                                                                                                                  
        Option      "Emulate3buttons"   "no" 
EndSection
my /etc/X11/xmodmap stays unchanged

Code: Select all

keycode 166 = XF86AudioPrev 
keycode 167 = XF86AudioNext
keycode 121 = XF86AudioStop
keycode 172 = XF86AudioPlay
keycode 122 = XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume 
keycode 223 = XF86Mail
keycode 225 = XF86Search
keycode 180 = XF86WWW
keycode 148 = XF86Calculator
keycode 218 = XF86Launch1
keycode 219 = XF86Launch2
keycode 220 = XF86Launch3
keycode 221 = XF86Launch4
keycode 222 = XF86Launch5
keycode 191 = XF86ZoomIn
keycode 192 = XF86ZoomOut
keycode 187 = parenleft
keycode 188 = parenright
keycode 125 = equal
The End of the Internet!
Top
trantorvega
n00b
n00b
Posts: 13
Joined: Mon Sep 19, 2005 1:51 pm

  • Quote

Post by trantorvega » Wed Sep 27, 2006 11:04 pm

Thanks for making me notice the fact I am using X.org 7.1 :idea:
The evdev implementation, as far as i know, changed from 6.9 to 7.0. I don't know about 7.0 to 7.1.

Basically, if you read the recent addition to the howto describing how the evdev X driver generates keycodes, just now that kbd and keyboard generate different keycodes than evdev, therefore the kbd-generated keycode for Down Arrow is different than the evdev-generated keycode for Favorites, so in your case they do not overlap. On the other hand the key number 1 and the Print key are both managed by the same evdev-driven InputDevice, so they still have the same keycode. The problem is at kernel level, or rather in the fact that X and console do not accept keycodes higher than 255 (1 byte integers), so the right keycodes in the kernel driver for the six keys I mentioned in the howto cannot be used (the X evdev driver alter them truncating their values to 8 bits and causing those annoying overlaps, while the kbd driver and the console simply ignores them).
I've written to liyu about using lower keycodes for those keys, even if they would not be the proper ones listed by /usr/include/linux/input.h (being KEY_FAVORITES, KEY_FN_F1, KEY_FN_F2, KEY_FN_F3, KEY_FN_F4, KEY_FN_F5).
A good advice would also be to customise your xkb files with keycodes and symbols files adapted for this keyboard (the geometry file is not strictly necessary, even if quite complicate to write) and update then the rules file.

Code: Select all

# setxkbmap -print
xkb_keymap {
        xkb_keycodes  { include "evdev+nek4k(nek4k)+aliases(qwerty)"    };
        xkb_types     { include "complete"      };
        xkb_compat    { include "complete"      };
        xkb_symbols   { include "pc(pc105)+it+inet(microsoftnek4k)"     };
        xkb_geometry  { include "microsoft(nek4k)"      };
};
You can also do the same, in a less standard way, with the old xmodmap (except setting the geometry).
XKB can be a little complicated thing sometimes.

Stay tuned to howto and related talk for changes. It's still a work in progress. (gento-wiki is up again).


P.S. The reason why I didn't use symlinks whas that the evdev X driver accept only /dev/input/event* names for the devices (man 4x evdev, one of the most obscure and frustrating man pages I've ever read, especially in the part regarding the capabilities bits).
DON'T USE event0 or 1, as a rule. They might be already existing if you plug in your mouse before your keyboard os samething like that. Using a higher number (event20 and 21 or similar) as in my howto should prevent nasty, even if occasional, surprises.
Top
Post Reply

87 posts
  • Previous
  • 1
  • 2
  • 3
  • 4
  • Next

Return to “Kernel & Hardware”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic