From: John Zaitseff <J.Zaitseff@zap.org.au>
The following patch to Linux kernel 2.6.23 enables most of the
extra keys found on the Microsoft Natural Ergonomic 4000 USB
keyboard. I had to add one keycode to include/linux/input.h; feel
free to reallocate the ID assigned to it (KEY_SPELL).Main changes:
* Enabled the use of the extra "(" and ")" in the top right-hand
part of the keyboard, above the keypad* Enable the My Favorites key in the centre of the keyboard (mapped
to KEY_FAVORITES)* Map the F1-F12 keys to appropriate keys when the F Lock is off
(this is quite easy as the keyboard already generates different
USB key events)Changes still to be made:
* Map the five buttons above My Favorites to KEY_FN_F1 to KEY_FN_F5
I am not sure how to do this last change correctly: the keyboard
returns a usage->hid of (HID_UP_MSVENDOR | 0xff05) whenever any of
the five keys are pressed or let go (as well as at certain other
times, when the value is 0):value = 0x00 ---> none of the five keys are pressed
value = 0x01 ---> key 1 is pressed
value = 0x02 ---> key 2 is pressed
value = 0x04 ---> key 3 is pressed
value = 0x08 ---> key 4 is pressed
value = 0x10 ---> key 5 is pressedNote that although this looks like a bitfield, multiple keys CANNOT
in effect be pressed simultaneously: only one of these six values
is ever returned (as tested).In any case, this will be for a second patch, once the one in this
e-mail is applied.Please apply if at all possible! Please CC me on any discussion,
as I am not subscribed to the mailing lists.Signed-off-by: John Zaitseff <J.Zaitseff@zap.org.au>
---drivers/hid/hid-debug.c | 4 +++-
drivers/hid/hid-input.c | 4 +++-
drivers/hid/usbhid/usbkbd.c | 2 +-
include/linux/input.h | 1 +
4 files changed, 8 insertions(+), 3 deletions(-)diff -ruNp linux-2.6.23.orig/drivers/hid/hid-debug.c linux-2.6.23/drivers/hid/hid-debug.c
--- linux...
Hi John,
thanks a lot for the patch! However I think I have already added all the
needed support for this keyboard. It is currently in my tree, queued until
Linus opens the merge window for 2.6.24. Please look at
http://git.kernel.org/?p=linux/kernel/git/jikos/hid.git;a=commitdiff;h=0...Commit 945bcc3a in the same branch is also related.
--
Jiri Kosina
SUSE Labs-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
Dear Jiri,
Excellent! However, I don't see the following:
* case 0x182: map_key_clear(KEY_FAVORITES);
... in drivers/usb/input/hid-input.c, to handle the My Favorites key* the change to drivers/hid/usbhid/usbkbd.c to enable the "(" and
")" on the right hand side of the keyboardHave these already been included elsewhere?
Yours truly,
John Zaitseff
--
John Zaitseff ,--_|\ The ZAP Group
Phone: +61 2 9643 7737 / \ Sydney, Australia
E-mail: J.Zaitseff@zap.org.au \_,--._* http://www.zap.org.au/
v-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
There is also a patch queued on top of the patchset you were looking at,
which adds support for Natural Ergonomic 6000 Keyboard, which alsousbkbd.c is not used under normal circumstances (it uses the hid boot
protocol), I don't think it is needed to care too much for updating the
keymap there.Thanks,
--
Jiri Kosina
SUSE Labs-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
| Andrew Morton | -mm merge plans for 2.6.23 |
| Greg Kroah-Hartman | [PATCH 002/196] Chinese: rephrase English introduction in HOWTO |
| Glauber Costa | [PATCH 02/52] merge extern function definitions |
| Andrew Morton | -mm merge plans for 2.6.24 |
| Frans Pop | svc: failed to register lockdv1 RPC service (errno 97). |
| David Miller | [GIT]: Networking |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
| David Miller | Re: NIU - Sun Neptune 10g - Transmit timed out reset (2.6.24) |
git: | |
