As of Linux Kernel 2.6.24, you no longer need to patch the kernel to get your Microsoft Ergonomic keyboard to work. With kernel 2.6.30+ and possibly lower, the options that you need to enable to get the keyboard to work has changed. The old settings that needed to be enabled were:
Device Drivers ---> Input Device Support ---> <M> Event Interface USB Support ---> <M> USB Human Interface Device (full HID) support [*] HID input layer support [*] HID simple driver interface <M> Microsoft Natural Ergonomic Keyboard 4000 Driver
The event Interface has remained consistant. However, the USB section has changed over the different kernel releases:
Device Drivers ---> [*] HID Defices ---> {*} Generic HID support <*> USB Human Interface Device (full HID) support Special HID drivers ---> <*> Microsoft
If you choose to go the module way, then the module's name will be: hid-microsoft