Page 1 of 20 12311 ... LastLast
Results 1 to 10 of 194

Thread: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

  1. #1
    Join Date
    Dec 2004
    Location
    Germany
    Beans
    155
    Distro
    Ubuntu 12.04 Precise Pangolin

    Wink HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    How to get Microsoft Natural Ergonomic Keyboard 4000 (MSNEK4K) to work completely with Ubuntu

    Please note: Information in this posting may be outdated as i don't own this keyboard anymore. Have a look at the rest of this thread. For example, abid_naqvi83 managed to get the slider working.

    Second note: The zoom wheel currently only works by applying another patch to the kernel. I can't test it at the moment so i need some acknowledge that it works. See Appendix[3].

    = Solution 1 =
    (use a newer kernel)

    Upgrade to kernel 2.6.24 or higher (included in Ubuntu 8.04 already for example) which includes the drivers for MSNEK4K. In order to do that, follow this tutorial. This solution should not be riskier than compiling the kernel by yourself. You should always be cautious when it comes to the kernel, whether you use solution 1 or 2.



    = Solution 2 =
    (recompile your old kernel)

    1. Follow the HOWTO for compiling the kernel from kernel.org. Instead of step 6 and 7 of the kernel howto, perform this:
      Code:
      sudo cp /boot/config-`uname -r` .config && sudo make oldconfig
      After this command, the kernel will be patched like this:

    2. Download the attachment of this post

    3. Unpack the package:
      Code:
      unzip msnek4k-patchset.zip -d /tmp
    4. Patch the kernel:
      Code:
      sudo patch -p1 < /tmp/msnek4k-patchset
    5. Now, type
      Code:
      make xconfig
      A configuration window pops up. Now, follow the performance tips. After this, go to Device Drivers --> USB, activate "HID Simple Driver Interface"" and change Microsoft Natural Ergonomic Keyboard 4000 Driver" to "m". If you can't find it in the configuration hierarchy, you can also press CTRL+F and type simple in the search box.

    6. Go ahead with the howto (step 10 is the next). After all steps are done, the keyboard should work.


    = Appendix =


    Thanks:
    • Thank you alsuren for pointing me to the fact that 2.6.24 now supports it.
    • Credit for the kernel-howto goes to master_kernel
    • I'd also like to thank trantorvega for the Gentoo-Page.
    • strabes for clarifying a few things.
    • And, most of the work to get your keyboard working did Liyu for you! (the Patch is also available at http://lkml.org/ from liyu)
    Attached Files Attached Files
    Last edited by zerwas; November 16th, 2011 at 12:59 PM.

  2. #2
    Join Date
    Dec 2004
    Location
    Germany
    Beans
    155
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    This should be the correct instructions to install the patch. On my pc, the Favorites-Buttons still doesn't work with version 0.3.0. (they don't give a keycode)
    Perhaps anybody has ideas or can tell me that it works for him

    Greetings,
    zerwas

  3. #3
    Join Date
    Jun 2006
    Beans
    239

    Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    Thanks!!!!

    Question though.
    When I do:

    sudo patch -pl /home/charles/installing/4000/msnek4k.patch
    patch: **** strip count l is not a number


    What does it mean?
    Thanks!

  4. #4
    Join Date
    Jun 2006
    Beans
    239

    Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    eh.. i think i forgot to change the Ergonomic 4000 to "m"

    what will happen?

  5. #5
    Join Date
    Dec 2004
    Location
    Germany
    Beans
    155
    Distro
    Ubuntu 12.04 Precise Pangolin

    Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    Quote Originally Posted by boom2k1 View Post
    sudo patch -pl /home/charles/installing/4000/msnek4k.patch
    patch: **** strip count l is not a number

    What does it mean?
    You typed the letter "l" instead of the number "1". That's what the program patch is complaining about
    At best you copy and paste these lines into your terminal:
    Code:
    sudo patch -p1 < /home/charles/installing/4000/simple.patch
    sudo patch -p1 < /home/charles/installing/4000/msnek4k.patch
    eh.. i think i forgot to change the Ergonomic 4000 to "m"
    Changing to "m" means to compile the driver for your keyboard as a module.
    If you don't do this, it won't work.

  6. #6
    Join Date
    Sep 2005
    Beans
    27

    Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    The patches don't seem to apply cleanly anymore.
    root@chris-desktop:/usr/src# ls -l
    total 40364
    lrwxrwxrwx 1 root src 14 2006-08-11 06:49 linux -> linux-2.6.17.7
    drwxrwxrwx 19 root root 4096 2006-07-24 23:36 linux-2.6.17.7
    -rw-r--r-- 1 root src 41283287 2006-07-24 23:40 linux-2.6.17.7.tar.bz2

    root@chris-desktop:/usr/src# patch -p0 < /tmp/simple.patch
    patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
    Hunk #1 FAILED at 4.
    Hunk #4 FAILED at 49.
    Hunk #5 FAILED at 797.
    Hunk #6 FAILED at 853.
    Hunk #7 FAILED at 1997.
    Hunk #8 FAILED at 2013.
    Hunk #9 FAILED at 2048.
    Hunk #10 FAILED at 2195.
    Hunk #11 FAILED at 2291.
    Hunk #12 FAILED at 2307.
    10 out of 12 hunks FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/hid-core.c.rej
    patching file linux-2.6.17.7/drivers/usb/input/hid.h
    Hunk #2 FAILED at 381.
    Hunk #3 succeeded at 449 with fuzz 2.
    1 out of 3 hunks FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/hid.h.rej
    patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
    Hunk #2 succeeded at 37 with fuzz 2.
    Hunk #3 FAILED at 65.
    Hunk #4 succeeded at 853 with fuzz 1.
    1 out of 4 hunks FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/hid-input.c.rej
    patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h

    root@chris-desktop:/usr/src# patch -p0 < /tmp/msnek4k.patch
    patching file linux-2.6.17.7/drivers/usb/input/usbnek4k.c
    patching file linux-2.6.17.7/drivers/usb/input/Kconfig
    Hunk #1 FAILED at 326.
    1 out of 1 hunk FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/Kconfig.rej
    patching file linux-2.6.17.7/drivers/usb/input/Makefile
    Hunk #1 FAILED at 44.
    1 out of 1 hunk FAILED -- saving rejects to file linux-2.6.17.7/drivers/usb/input/Makefile.rej
    Last edited by unixfudotnet; August 11th, 2006 at 03:56 PM.

  7. #7
    Join Date
    Aug 2006
    Beans
    18

    Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    I am "liyou", but should be "liyu".
    Regarding to 5 my favorites keys, I also found they can not work under default XKB configuration (XkbModel pc105 for
    me at least), in other words, I think this is a problem of XKB configuration, if you insert evbug.ko into kernel, you can see
    the keycode is yield in system log or dmesg when we press and release these five keys. I still am beginner of the XKB
    configuration, I will reply here at once if I configure them successfully.

    I can not sure what problem the friend unixfudotnet have , this patch both should be can apply on 2.6.17.7 and 2.6.17.8
    kernel code tree. but not 2.6.18.x so far. Do you eager to try new 2.6.18 kernel? if so, I also will release them.
    The latest patch can be downloaded from linux-usb-devel maillist. I use them as example. Follow is my
    process of playing this patch.

    I recommend you use 0.3.1, the reason is not only it add force-feedback support, but also include some bugfixes.

    [root@liyu tmp]# ls -l linux-2.6.17.7.tar.bz2 linux-2.6.17.8.tar.bz2
    -rw-rw-r-- 1 sailor sailor 41283287 8月 5 13:23 linux-2.6.17.7.tar.bz2
    -rw-rw-r-- 1 sailor sailor 41276096 8月 7 17:34 linux-2.6.17.8.tar.bz2
    [root@liyu tmp]# tar jxf linux-2.6.17.8.tar.bz2
    [root@liyu tmp]# mv linux-2.6.17.8 linux-2.6.17.7
    [root@liyu tmp]# patch -p0 < patches/hid-simple-0.3.1.patch
    patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
    patching file linux-2.6.17.7/drivers/usb/input/hid.h
    patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
    patching file linux-2.6.17.7/drivers/usb/input/hid-simple.c
    patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h
    [root@liyu tmp]# patch -R -p0 < patches/hid-simple-0.3.1.patch
    patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
    patching file linux-2.6.17.7/drivers/usb/input/hid.h
    patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
    patching file linux-2.6.17.7/drivers/usb/input/hid-simple.c
    patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h
    [root@liyu tmp]# mv linux-2.6.17.7 linux-2.6.17.8
    [root@liyu tmp]# tar jxf linux-2.6.17.7.tar.bz2
    [root@liyu tmp]# patch -p0 < patches/hid-simple-0.3.1.patch
    patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
    patching file linux-2.6.17.7/drivers/usb/input/hid.h
    patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
    patching file linux-2.6.17.7/drivers/usb/input/hid-simple.c
    patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h
    [root@liyu tmp]# patch -p0 -R < patches/hid-simple-0.3.1.patch
    patching file linux-2.6.17.7/drivers/usb/input/hid-core.c
    patching file linux-2.6.17.7/drivers/usb/input/hid.h
    patching file linux-2.6.17.7/drivers/usb/input/hid-input.c
    patching file linux-2.6.17.7/drivers/usb/input/hid-simple.c
    patching file linux-2.6.17.7/drivers/usb/input/hid-simple.h
    [root@liyu tmp]# LANG=C rpm -qi patch
    Name : patch Relocations: (not relocatable)
    Version : 2.5.4 Vendor: Red Hat, Inc.
    Release : 19 Build Date: Wed Feb 18 00:12:33 2004
    Install Date: Mon Feb 13 15:06:14 2006 Build Host: tweety.devel.redhat.com
    Group : Development/Tools Source RPM: patch-2.5.4-19.src.rpm
    Size : 102492 License: GPL
    Signature : DSA/SHA1, Fri May 7 05:33:41 2004, Key ID b44269d04f2a6fd2
    Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
    URL : http://www.gnu.org/software/patch/patch.html
    Summary : The GNU patch command, for modifying/upgrading files.
    Description :
    The patch program applies diff files to originals. The diff command
    is used to compare an original to a changed file. Diff lists the
    changes made to the file. A person who has the original file can then
    use the patch command with the diff file to add the changes to their
    original file (patching the file).

    Patch should be installed because it is a common way of upgrading
    applications.


    I hope this can help you a bit.
    Last edited by liyu; August 18th, 2006 at 09:30 AM. Reason: fix some typoes

  8. #8
    Join Date
    Aug 2006
    Beans
    18

    Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    You can find this patch for 2.6.18-rc4 here:

    http://marc.theaimsgroup.com/?l=linu...7610700839&w=2

  9. #9
    Join Date
    May 2006
    Beans
    414
    Distro
    Ubuntu 6.10 Edgy

    Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    I had the same problem as previously when trying to get the patch to apply...

  10. #10
    Join Date
    Jun 2006
    Location
    USA
    Beans
    151
    Distro
    Kubuntu 12.04 Precise Pangolin

    Re: HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys

    Quote Originally Posted by liyu View Post
    You can find this patch for 2.6.18-rc4 here:

    http://marc.theaimsgroup.com/?l=linu...7610700839&w=2
    Greetings Liyu,


    I too get patch errors. So, I cut and pasted the text from the above link. I am attempting to compile the 2.6.17.7 kernel. Do I need to modify the diff line before I proceed? The comments in the post state that file is also a patch for my kernel. I have come over from Mandriva earlier this year, I have compiled my own kernel before just not used/modified patch files. I just know enough to be dangerous :>.

    Code:
    diff -Naurp linux-2.6.18-rc4/drivers/usb/input.orig/hid-core.c linux-2.6.18-rc4/drivers/usb/input/hid-core.c
    --- linux-2.6.18-rc4/drivers/usb/input.orig/hid-core.c	2006-08-19 15:53:28.000000000 +0800
    +++ linux-2.6.18-rc4/drivers/usb/input/hid-core.c	2006-08-19 15:49:24.000000000 +0800
    Thanx
    Last edited by skaramanger; September 8th, 2006 at 09:23 PM. Reason: sloppy code

Page 1 of 20 12311 ... LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •