Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c1e40b5ad6e345feba69bc612db006efccf4cdc
Commit:     1c1e40b5ad6e345feba69bc612db006efccf4cdc
Parent:     e3a0dd7ced76bb439ddeda244a9667e7b3800fc8
Author:     Florian Festi <[EMAIL PROTECTED]>
AuthorDate: Thu Dec 14 11:59:11 2006 +0100
Committer:  Jiri Kosina <[EMAIL PROTECTED]>
CommitDate: Thu Dec 14 13:37:24 2006 +0100

    input/hid: Supporting more keys from the HUT Consumer Page
    
    On USB keyboards lots of hot/internet keys are not working. This patch
    adds support for a number of keys from the USB HID Usage Table
    (http://www.usb.org/developers/devclass_docs/Hut1_12.pdf).
    
    It also adds several new key codes. Most of them are used on real world
    keyboards I know. I added some others (KEY_+ EDITOR, GRAPHICSEDITOR, 
DATABASE,
    NEWS, VOICEMAIL, VIDEOPHONE) to avoid "holes".
    
    I also added KEY_ZOOMRESET as it is possible to have a inet keyboard and a
    remote control  in parallel and it makes sense to have them behave 
differently.
    
    Signed-off-by: Florian Festi <[EMAIL PROTECTED]>
    Signed-off-by: Jiri Kosina <[EMAIL PROTECTED]>
---
 drivers/hid/hid-input.c |   44 ++++++++++++++++++++++++++++++++++++++++++++
 include/linux/input.h   |   15 +++++++++++++++
 2 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 14cdf09..9986380 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -415,12 +415,31 @@ static void hidinput_configure_usage(struct hid_input 
*hidinput, struct hid_fiel
                                case 0x000: goto ignore;
                                case 0x034: map_key_clear(KEY_SLEEP);           
break;
                                case 0x036: map_key_clear(BTN_MISC);            
break;
+                               case 0x040: map_key_clear(KEY_MENU);            
break;
                                case 0x045: map_key_clear(KEY_RADIO);           
break;
+
+                               case 0x088: map_key_clear(KEY_PC);              
break;
+                               case 0x089: map_key_clear(KEY_TV);              
break;
                                case 0x08a: map_key_clear(KEY_WWW);             
break;
+                               case 0x08b: map_key_clear(KEY_DVD);             
break;
+                               case 0x08c: map_key_clear(KEY_PHONE);           
break;
                                case 0x08d: map_key_clear(KEY_PROGRAM);         
break;
+                               case 0x08e: map_key_clear(KEY_VIDEOPHONE);      
break;
+                               case 0x08f: map_key_clear(KEY_GAMES);           
break;
+                               case 0x090: map_key_clear(KEY_MEMO);            
break;
+                               case 0x091: map_key_clear(KEY_CD);              
break;
+                               case 0x092: map_key_clear(KEY_VCR);             
break;
+                               case 0x093: map_key_clear(KEY_TUNER);           
break;
+                               case 0x094: map_key_clear(KEY_EXIT);            
break;
                                case 0x095: map_key_clear(KEY_HELP);            
break;
+                               case 0x096: map_key_clear(KEY_TAPE);            
break;
+                               case 0x097: map_key_clear(KEY_TV2);             
break;
+                               case 0x098: map_key_clear(KEY_SAT);             
break;
+
                                case 0x09c: map_key_clear(KEY_CHANNELUP);       
break;
                                case 0x09d: map_key_clear(KEY_CHANNELDOWN);     
break;
+                               case 0x0a0: map_key_clear(KEY_VCR2);            
break;
+
                                case 0x0b0: map_key_clear(KEY_PLAY);            
break;
                                case 0x0b1: map_key_clear(KEY_PAUSE);           
break;
                                case 0x0b2: map_key_clear(KEY_RECORD);          
break;
@@ -430,6 +449,7 @@ static void hidinput_configure_usage(struct hid_input 
*hidinput, struct hid_fiel
                                case 0x0b6: map_key_clear(KEY_PREVIOUSSONG);    
break;
                                case 0x0b7: map_key_clear(KEY_STOPCD);          
break;
                                case 0x0b8: map_key_clear(KEY_EJECTCD);         
break;
+
                                case 0x0cd: map_key_clear(KEY_PLAYPAUSE);       
break;
                                case 0x0e0: map_abs_clear(ABS_VOLUME);          
break;
                                case 0x0e2: map_key_clear(KEY_MUTE);            
break;
@@ -437,11 +457,30 @@ static void hidinput_configure_usage(struct hid_input 
*hidinput, struct hid_fiel
                                case 0x0e9: map_key_clear(KEY_VOLUMEUP);        
break;
                                case 0x0ea: map_key_clear(KEY_VOLUMEDOWN);      
break;
                                case 0x183: map_key_clear(KEY_CONFIG);          
break;
+                               case 0x184: map_key_clear(KEY_WORDPROCESSOR);   
break;
+                               case 0x185: map_key_clear(KEY_EDITOR);          
break;
+                               case 0x186: map_key_clear(KEY_SPREADSHEET);     
break;
+                               case 0x187: map_key_clear(KEY_GRAPHICSEDITOR);  
break;
+                               case 0x188: map_key_clear(KEY_PRESENTATION);    
break;
+                               case 0x189: map_key_clear(KEY_DATABASE);        
break;
                                case 0x18a: map_key_clear(KEY_MAIL);            
break;
+                               case 0x18b: map_key_clear(KEY_NEWS);            
break;
+                               case 0x18c: map_key_clear(KEY_VOICEMAIL);       
break;
+                               case 0x18d: map_key_clear(KEY_ADDRESSBOOK);     
break;
+                               case 0x18e: map_key_clear(KEY_CALENDAR);        
break;
+                               case 0x191: map_key_clear(KEY_FINANCE);         
break;
                                case 0x192: map_key_clear(KEY_CALC);            
break;
                                case 0x194: map_key_clear(KEY_FILE);            
break;
+                               case 0x196: map_key_clear(KEY_WWW);             
break;
+                               case 0x19e: map_key_clear(KEY_COFFEE);          
break;
+                               case 0x1a6: map_key_clear(KEY_HELP);            
break;
                                case 0x1a7: map_key_clear(KEY_DOCUMENTS);       
break;
+                               case 0x1bc: map_key_clear(KEY_MESSENGER);       
break;
+                               case 0x1bd: map_key_clear(KEY_INFO);            
break;
                                case 0x201: map_key_clear(KEY_NEW);             
break;
+                               case 0x202: map_key_clear(KEY_OPEN);            
break;
+                               case 0x203: map_key_clear(KEY_CLOSE);           
break;
+                               case 0x204: map_key_clear(KEY_EXIT);            
break;
                                case 0x207: map_key_clear(KEY_SAVE);            
break;
                                case 0x208: map_key_clear(KEY_PRINT);           
break;
                                case 0x209: map_key_clear(KEY_PROPS);           
break;
@@ -456,10 +495,15 @@ static void hidinput_configure_usage(struct hid_input 
*hidinput, struct hid_fiel
                                case 0x226: map_key_clear(KEY_STOP);            
break;
                                case 0x227: map_key_clear(KEY_REFRESH);         
break;
                                case 0x22a: map_key_clear(KEY_BOOKMARKS);       
break;
+                               case 0x22d: map_key_clear(KEY_ZOOMIN);          
break;
+                               case 0x22e: map_key_clear(KEY_ZOOMOUT);         
break;
+                               case 0x22f: map_key_clear(KEY_ZOOMRESET);       
break;
                                case 0x233: map_key_clear(KEY_SCROLLUP);        
break;
                                case 0x234: map_key_clear(KEY_SCROLLDOWN);      
break;
                                case 0x238: map_rel(REL_HWHEEL);                
break;
+                               case 0x25f: map_key_clear(KEY_CANCEL);          
break;
                                case 0x279: map_key_clear(KEY_REDO);            
break;
+
                                case 0x289: map_key_clear(KEY_REPLY);           
break;
                                case 0x28b: map_key_clear(KEY_FORWARDMAIL);     
break;
                                case 0x28c: map_key_clear(KEY_SEND);            
break;
diff --git a/include/linux/input.h b/include/linux/input.h
index 4e61158..bde65c8 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -491,6 +491,21 @@ struct input_absinfo {
 #define KEY_DIGITS             0x19d
 #define KEY_TEEN               0x19e
 #define KEY_TWEN               0x19f
+#define KEY_VIDEOPHONE         0x1a0
+#define KEY_GAMES              0x1a1
+#define KEY_ZOOMIN             0x1a2
+#define KEY_ZOOMOUT            0x1a3
+#define KEY_ZOOMRESET          0x1a4
+#define KEY_WORDPROCESSOR      0x1a5
+#define KEY_EDITOR             0x1a6
+#define KEY_SPREADSHEET                0x1a7
+#define KEY_GRAPHICSEDITOR     0x1a8
+#define KEY_PRESENTATION       0x1a9
+#define KEY_DATABASE           0x1aa
+#define KEY_NEWS               0x1ab
+#define KEY_VOICEMAIL          0x1ac
+#define KEY_ADDRESSBOOK                0x1ad
+#define KEY_MESSENGER          0x1ae
 
 #define KEY_DEL_EOL            0x1c0
 #define KEY_DEL_EOS            0x1c1
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to