-   Linux - Newbie (
-   -   Shift+keypad keys... (

asqueella 04-18-2004 08:23 AM

Shift+keypad keys...
Hello everybody. Sorry for asking a question which has surely been already discussed, but I couldn't find it (I can't think out good search terms for it).

What I need to do is: make Shift+keypad keys (eg. keypad7=Home key) work like they do under Windows. That is Shift+numpad7 should act like Shift+Home, and not just like numpad7 with NumLock on (ie. typing '7'). This would improve my effeciency greatly.

IIRC, when I was completely new to Linux (several month ago), I found with google some mailing list message discussing this issue. They said it would involve recompiling XFree86 (again, if I recall it correctly), but I couldn't find any specific instructions, or anything on what exactly I should do.

So any links or instructions are welcome. Thank you in advance.
(sorry for my English, hope you'll understand what I mean :) )

CloudBuilder 04-18-2004 05:44 PM

This is what your looking for:

You don't need to recompile, you can edit.


asqueella 04-19-2004 07:52 AM

Thank you very much CloudBuilder for the solution, and for pointing out to that book. The link you posted didn't work for me though, but I guess it's the same as

Thanks again :)

asqueella 04-19-2004 11:42 PM

However there's no explicit instructions on that page how to do this, so I searched more and found this:
where they say to apply this patch:

--- etc/X11/xkb/types/        2003-06-15 03:52:16.000000000 +1000
+++ etc/X11/xkb/types/basic        2003-08-04 22:14:34.000000000 +1000
@@ -28,11 +28,9 @@
    type "KEYPAD" {
-        modifiers = Shift+NumLock;
+        modifiers = NumLock;
        map[None] = Level1;
-        map[Shift] = Level2;
        map[NumLock] = Level2;
-        map[Shift+NumLock] = Level1;
        level_name[Level1] = "Base";
        level_name[Level2] = "Number";

It worked!

All times are GMT -5. The time now is 12:26 AM.