~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/hil.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/hil.h (Version linux-6.12-rc7) and /include/linux/hil.h (Version policy-sample)


  1 #ifndef _HIL_H_                                     1 
  2 #define _HIL_H_                                   
  3                                                   
  4 /*                                                
  5  * Hewlett Packard Human Interface Loop (HP-HI    
  6  *                                                
  7  * Copyright (c) 2001 Brian S. Julin              
  8  * All rights reserved.                           
  9  *                                                
 10  * Redistribution and use in source and binary    
 11  * modification, are permitted provided that t    
 12  * are met:                                       
 13  * 1. Redistributions of source code must reta    
 14  *    notice, this list of conditions, and the    
 15  *    without modification.                       
 16  * 2. The name of the author may not be used t    
 17  *    derived from this software without speci    
 18  *                                                
 19  * Alternatively, this software may be distrib    
 20  * GNU General Public License ("GPL").            
 21  *                                                
 22  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND    
 23  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDIN    
 24  * IMPLIED WARRANTIES OF MERCHANTABILITY AND F    
 25  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHO    
 26  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,     
 27  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PRO    
 28  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS;    
 29  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILI    
 30  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR    
 31  *                                                
 32  * References:                                    
 33  * HP-HIL Technical Reference Manual.  Hewlett    
 34  *                                                
 35  * A note of thanks to HP for providing and sh    
 36  * free of charge to help in the development o    
 37  *                                                
 38  */                                               
 39                                                   
 40 #include <asm/types.h>                            
 41                                                   
 42 /* Physical constants relevant to raw loop/dev    
 43  */                                               
 44                                                   
 45 #define HIL_CLOCK               8MHZ              
 46 #define HIL_EK1_CLOCK           30HZ              
 47 #define HIL_EK2_CLOCK           60HZ              
 48                                                   
 49 #define HIL_TIMEOUT_DEV         5       /* ms     
 50 #define HIL_TIMEOUT_DEVS        10      /* ms     
 51 #define HIL_TIMEOUT_NORESP      10      /* ms     
 52 #define HIL_TIMEOUT_DEVS_DATA   16      /* ms     
 53 #define HIL_TIMEOUT_SELFTEST    200     /* ms     
 54                                                   
 55                                                   
 56 /* Actual wire line coding.  These will only b    
 57  * implementing a software MLC to run HIL devi    
 58  */                                               
 59                                                   
 60 #define HIL_WIRE_PACKET_LEN     15                
 61 enum hil_wire_bitpos {                            
 62         HIL_WIRE_START          = 0,              
 63         HIL_WIRE_ADDR2,                           
 64         HIL_WIRE_ADDR1,                           
 65         HIL_WIRE_ADDR0,                           
 66         HIL_WIRE_COMMAND,                         
 67         HIL_WIRE_DATA7,                           
 68         HIL_WIRE_DATA6,                           
 69         HIL_WIRE_DATA5,                           
 70         HIL_WIRE_DATA4,                           
 71         HIL_WIRE_DATA3,                           
 72         HIL_WIRE_DATA2,                           
 73         HIL_WIRE_DATA1,                           
 74         HIL_WIRE_DATA0,                           
 75         HIL_WIRE_PARITY,                          
 76         HIL_WIRE_STOP                             
 77 };                                                
 78                                                   
 79 /* HP documentation uses these bit positions t    
 80  * we will call these "packets".                  
 81  */                                               
 82 enum hil_pkt_bitpos {                             
 83         HIL_PKT_CMD             = 0x00000800,     
 84         HIL_PKT_ADDR2           = 0x00000400,     
 85         HIL_PKT_ADDR1           = 0x00000200,     
 86         HIL_PKT_ADDR0           = 0x00000100,     
 87         HIL_PKT_ADDR_MASK       = 0x00000700,     
 88         HIL_PKT_ADDR_SHIFT      = 8,              
 89         HIL_PKT_DATA7           = 0x00000080,     
 90         HIL_PKT_DATA6           = 0x00000040,     
 91         HIL_PKT_DATA5           = 0x00000020,     
 92         HIL_PKT_DATA4           = 0x00000010,     
 93         HIL_PKT_DATA3           = 0x00000008,     
 94         HIL_PKT_DATA2           = 0x00000004,     
 95         HIL_PKT_DATA1           = 0x00000002,     
 96         HIL_PKT_DATA0           = 0x00000001,     
 97         HIL_PKT_DATA_MASK       = 0x000000FF,     
 98         HIL_PKT_DATA_SHIFT      = 0               
 99 };                                                
100                                                   
101 /* The HIL MLC also has several error/status/c    
102  * "packet" to include these when direct acces    
103  * or emulate them in cases where they are not    
104  *                                                
105  * This way the device driver knows that the u    
106  * has had to deal with loop errors.              
107  */                                               
108 enum hil_error_bitpos {                           
109         HIL_ERR_OB      = 0x00000800, /* MLC i    
110                                          or we    
111                                          buffe    
112         HIL_ERR_INT     = 0x00010000, /* A nor    
113         HIL_ERR_NMI     = 0x00020000, /* An NM    
114         HIL_ERR_LERR    = 0x00040000, /* A pol    
115         HIL_ERR_PERR    = 0x01000000, /* There    
116         HIL_ERR_FERR    = 0x02000000, /* There    
117         HIL_ERR_FOF     = 0x04000000  /* Input    
118 };                                                
119                                                   
120 enum hil_control_bitpos {                         
121         HIL_CTRL_TEST   = 0x00010000,             
122         HIL_CTRL_IPF    = 0x00040000,             
123         HIL_CTRL_APE    = 0x02000000              
124 };                                                
125                                                   
126 /* Bits 30,31 are unused, we use them to contr    
127 #define HIL_DO_ALTER_CTRL  0x40000000 /* Write    
128                                           befo    
129 #define HIL_CTRL_ONLY      0xc0000000 /* *Only    
130                                                   
131 /* This gives us a 32-bit "packet"                
132  */                                               
133 typedef u32 hil_packet;                           
134                                                   
135                                                   
136 /* HIL Loop commands                              
137  */                                               
138 enum hil_command {                                
139         HIL_CMD_IFC     = 0x00, /* Interface C    
140         HIL_CMD_EPT     = 0x01, /* Enter Pass-    
141         HIL_CMD_ELB     = 0x02, /* Enter Loop-    
142         HIL_CMD_IDD     = 0x03, /* Identify an    
143         HIL_CMD_DSR     = 0x04, /* Device Soft    
144         HIL_CMD_PST     = 0x05, /* Perform Sel    
145         HIL_CMD_RRG     = 0x06, /* Read Regist    
146         HIL_CMD_WRG     = 0x07, /* Write Regis    
147         HIL_CMD_ACF     = 0x08, /* Auto Config    
148         HIL_CMDID_ACF   = 0x07, /* Auto Config    
149         HIL_CMD_POL     = 0x10, /* Poll */        
150         HIL_CMDCT_POL   = 0x0f, /* Poll comman    
151         HIL_CMD_RPL     = 0x20, /* RePoll */      
152         HIL_CMDCT_RPL   = 0x0f, /* RePoll comm    
153         HIL_CMD_RNM     = 0x30, /* Report Name    
154         HIL_CMD_RST     = 0x31, /* Report Stat    
155         HIL_CMD_EXD     = 0x32, /* Extended De    
156         HIL_CMD_RSC     = 0x33, /* Report Secu    
157                                                   
158         /* 0x34 to 0x3c reserved for future us    
159                                                   
160         HIL_CMD_DKA     = 0x3d, /* Disable Key    
161         HIL_CMD_EK1     = 0x3e, /* Enable Keys    
162         HIL_CMD_EK2     = 0x3f, /* Enable Keys    
163         HIL_CMD_PR1     = 0x40, /* Prompt1 */     
164         HIL_CMD_PR2     = 0x41, /* Prompt2 */     
165         HIL_CMD_PR3     = 0x42, /* Prompt3 */     
166         HIL_CMD_PR4     = 0x43, /* Prompt4 */     
167         HIL_CMD_PR5     = 0x44, /* Prompt5 */     
168         HIL_CMD_PR6     = 0x45, /* Prompt6 */     
169         HIL_CMD_PR7     = 0x46, /* Prompt7 */     
170         HIL_CMD_PRM     = 0x47, /* Prompt (Gen    
171         HIL_CMD_AK1     = 0x48, /* Acknowledge    
172         HIL_CMD_AK2     = 0x49, /* Acknowledge    
173         HIL_CMD_AK3     = 0x4a, /* Acknowledge    
174         HIL_CMD_AK4     = 0x4b, /* Acknowledge    
175         HIL_CMD_AK5     = 0x4c, /* Acknowledge    
176         HIL_CMD_AK6     = 0x4d, /* Acknowledge    
177         HIL_CMD_AK7     = 0x4e, /* Acknowledge    
178         HIL_CMD_ACK     = 0x4f, /* Acknowledge    
179                                                   
180         /* 0x50 to 0x78 reserved for future us    
181         /* 0x80 to 0xEF device-specific comman    
182         /* 0xf0 to 0xf9 reserved for future us    
183                                                   
184         HIL_CMD_RIO     = 0xfa, /* Register I/    
185         HIL_CMD_SHR     = 0xfb, /* System Hard    
186         HIL_CMD_TER     = 0xfc, /* Transmissio    
187         HIL_CMD_CAE     = 0xfd, /* Configurati    
188         HIL_CMD_DHR     = 0xfe, /* Device Hard    
189                                                   
190         /* 0xff is prohibited from use. */        
191 };                                                
192                                                   
193                                                   
194 /*                                                
195  * Response "records" to HIL commands             
196  */                                               
197                                                   
198 /* Device ID byte                                 
199  */                                               
200 #define HIL_IDD_DID_TYPE_MASK           0xe0      
201 #define HIL_IDD_DID_TYPE_KB_INTEGRAL    0xa0      
202 #define HIL_IDD_DID_TYPE_KB_ITF         0xc0      
203 #define HIL_IDD_DID_TYPE_KB_RSVD        0xe0      
204 #define HIL_IDD_DID_TYPE_KB_LANG_MASK   0x1f      
205 #define HIL_IDD_DID_KBLANG_USE_ESD      0x00      
206 #define HIL_IDD_DID_TYPE_ABS            0x80      
207 #define HIL_IDD_DID_ABS_RSVD1_MASK      0xf8      
208 #define HIL_IDD_DID_ABS_RSVD1           0x98      
209 #define HIL_IDD_DID_ABS_TABLET_MASK     0xf8      
210 #define HIL_IDD_DID_ABS_TABLET          0x90      
211 #define HIL_IDD_DID_ABS_TSCREEN_MASK    0xfc      
212 #define HIL_IDD_DID_ABS_TSCREEN         0x8c      
213 #define HIL_IDD_DID_ABS_RSVD2_MASK      0xfc      
214 #define HIL_IDD_DID_ABS_RSVD2           0x88      
215 #define HIL_IDD_DID_ABS_RSVD3_MASK      0xfc      
216 #define HIL_IDD_DID_ABS_RSVD3           0x80      
217 #define HIL_IDD_DID_TYPE_REL            0x60      
218 #define HIL_IDD_DID_REL_RSVD1_MASK      0xf0      
219 #define HIL_IDD_DID_REL_RSVD1           0x70      
220 #define HIL_IDD_DID_REL_RSVD2_MASK      0xfc      
221 #define HIL_IDD_DID_REL_RSVD2           0x6c      
222 #define HIL_IDD_DID_REL_MOUSE_MASK      0xfc      
223 #define HIL_IDD_DID_REL_MOUSE           0x68      
224 #define HIL_IDD_DID_REL_QUAD_MASK       0xf8      
225 #define HIL_IDD_DID_REL_QUAD            0x60      
226 #define HIL_IDD_DID_TYPE_CHAR           0x40      
227 #define HIL_IDD_DID_CHAR_BARCODE_MASK   0xfc      
228 #define HIL_IDD_DID_CHAR_BARCODE        0x5c      
229 #define HIL_IDD_DID_CHAR_RSVD1_MASK     0xfc      
230 #define HIL_IDD_DID_CHAR_RSVD1          0x58      
231 #define HIL_IDD_DID_CHAR_RSVD2_MASK     0xf8      
232 #define HIL_IDD_DID_CHAR_RSVD2          0x50      
233 #define HIL_IDD_DID_CHAR_RSVD3_MASK     0xf0      
234 #define HIL_IDD_DID_CHAR_RSVD3          0x40      
235 #define HIL_IDD_DID_TYPE_OTHER          0x20      
236 #define HIL_IDD_DID_OTHER_RSVD1_MASK    0xf0      
237 #define HIL_IDD_DID_OTHER_RSVD1         0x30      
238 #define HIL_IDD_DID_OTHER_BARCODE_MASK  0xfc      
239 #define HIL_IDD_DID_OTHER_BARCODE       0x2c      
240 #define HIL_IDD_DID_OTHER_RSVD2_MASK    0xfc      
241 #define HIL_IDD_DID_OTHER_RSVD2         0x28      
242 #define HIL_IDD_DID_OTHER_RSVD3_MASK    0xf8      
243 #define HIL_IDD_DID_OTHER_RSVD3         0x20      
244 #define HIL_IDD_DID_TYPE_KEYPAD         0x00      
245                                                   
246 /* IDD record header                              
247  */                                               
248 #define HIL_IDD_HEADER_AXSET_MASK       0x03      
249 #define HIL_IDD_HEADER_RSC              0x04      
250 #define HIL_IDD_HEADER_EXD              0x08      
251 #define HIL_IDD_HEADER_IOD              0x10      
252 #define HIL_IDD_HEADER_16BIT            0x20      
253 #define HIL_IDD_HEADER_ABS              0x40      
254 #define HIL_IDD_HEADER_2X_AXIS          0x80      
255                                                   
256 /* I/O Descriptor                                 
257  */                                               
258 #define HIL_IDD_IOD_NBUTTON_MASK        0x07      
259 #define HIL_IDD_IOD_PROXIMITY           0x08      
260 #define HIL_IDD_IOD_PROMPT_MASK         0x70      
261 #define HIL_IDD_IOD_PROMPT_SHIFT        4         
262 #define HIL_IDD_IOD_PROMPT              0x80      
263                                                   
264 #define HIL_IDD_NUM_AXES_PER_SET(header_packet    
265 ((header_packet) & HIL_IDD_HEADER_AXSET_MASK)     
266                                                   
267 #define HIL_IDD_NUM_AXSETS(header_packet) \       
268 (2 - !((header_packet) & HIL_IDD_HEADER_2X_AXI    
269                                                   
270 #define HIL_IDD_LEN(header_packet) \              
271 ((4 - !(header_packet & HIL_IDD_HEADER_IOD) -     
272   2 * !(HIL_IDD_NUM_AXES_PER_SET(header_packet    
273   2 * HIL_IDD_NUM_AXES_PER_SET(header_packet)     
274  !!((header_packet) & HIL_IDD_HEADER_ABS))        
275                                                   
276 /* The following HIL_IDD_* macros assume you h    
277  * packets and/or unpacked 8-bit data in the o    
278  * were received.                                 
279  */                                               
280                                                   
281 #define HIL_IDD_AXIS_COUNTS_PER_M(header_ptr)     
282 (!(HIL_IDD_NUM_AXSETS(*(header_ptr))) ? -1 :      
283 (((*(header_ptr + 1) & HIL_PKT_DATA_MASK) +       
284   ((*(header_ptr + 2) & HIL_PKT_DATA_MASK)) <<    
285 * ((*(header_ptr) & HIL_IDD_HEADER_16BIT) ? 10    
286                                                   
287 #define HIL_IDD_AXIS_MAX(header_ptr, __axnum)     
288 ((!(*(header_ptr) & HIL_IDD_HEADER_ABS) ||        
289   (HIL_IDD_NUM_AXES_PER_SET(*(header_ptr)) <=     
290  ((HIL_PKT_DATA_MASK & *((header_ptr) + 3 + 2     
291   ((HIL_PKT_DATA_MASK & *((header_ptr) + 4 + 2    
292                                                   
293 #define HIL_IDD_IOD(header_ptr) \                 
294 (*(header_ptr + HIL_IDD_LEN((*header_ptr)) - 1    
295                                                   
296 #define HIL_IDD_HAS_GEN_PROMPT(header_ptr) \      
297 ((*header_ptr & HIL_IDD_HEADER_IOD) &&            
298  (HIL_IDD_IOD(header_ptr) & HIL_IDD_IOD_PROMPT    
299                                                   
300 #define HIL_IDD_HAS_GEN_PROXIMITY(header_ptr)     
301 ((*header_ptr & HIL_IDD_HEADER_IOD) &&            
302  (HIL_IDD_IOD(header_ptr) & HIL_IDD_IOD_PROXIM    
303                                                   
304 #define HIL_IDD_NUM_BUTTONS(header_ptr) \         
305 ((*header_ptr & HIL_IDD_HEADER_IOD) ?             
306  (HIL_IDD_IOD(header_ptr) & HIL_IDD_IOD_NBUTTO    
307                                                   
308 #define HIL_IDD_NUM_PROMPTS(header_ptr) \         
309 ((*header_ptr & HIL_IDD_HEADER_IOD) ?             
310  ((HIL_IDD_IOD(header_ptr) & HIL_IDD_IOD_NPROM    
311   >> HIL_IDD_IOD_PROMPT_SHIFT) : 0)               
312                                                   
313 /* The response to HIL EXD commands -- the "ex    
314 #define HIL_EXD_HEADER_WRG              0x03      
315 #define HIL_EXD_HEADER_WRG_TYPE1        0x01      
316 #define HIL_EXD_HEADER_WRG_TYPE2        0x02      
317 #define HIL_EXD_HEADER_RRG              0x04      
318 #define HIL_EXD_HEADER_RNM              0x10      
319 #define HIL_EXD_HEADER_RST              0x20      
320 #define HIL_EXD_HEADER_LOCALE           0x40      
321                                                   
322 #define HIL_EXD_NUM_RRG(header_ptr) \             
323 ((*header_ptr & HIL_EXD_HEADER_RRG) ? \           
324  (*(header_ptr + 1) & HIL_PKT_DATA_MASK) : 0)     
325                                                   
326 #define HIL_EXD_NUM_WWG(header_ptr) \             
327 ((*header_ptr & HIL_EXD_HEADER_WRG) ?             
328  (*(header_ptr + 2 - !(*header_ptr & HIL_EXD_H    
329     HIL_PKT_DATA_MASK) : 0)                       
330                                                   
331 #define HIL_EXD_LEN(header_ptr) \                 
332 (!!(*header_ptr & HIL_EXD_HEADER_RRG) +           
333  !!(*header_ptr & HIL_EXD_HEADER_WRG) +           
334  !!(*header_ptr & HIL_EXD_HEADER_LOCALE) +        
335  2 * !!(*header_ptr & HIL_EXD_HEADER_WRG_TYPE2    
336                                                   
337 #define HIL_EXD_LOCALE(header_ptr) \              
338 (!(*header_ptr & HIL_EXD_HEADER_LOCALE) ? -1 :    
339  (*(header_ptr + HIL_EXD_LEN(header_ptr) - 1)     
340                                                   
341 #define HIL_EXD_WRG_TYPE2_LEN(header_ptr) \       
342 (!(*header_ptr & HIL_EXD_HEADER_WRG_TYPE2) ? -    
343  (*(header_ptr + HIL_EXD_LEN(header_ptr) - 2 -    
344     !!(*header_ptr & HIL_EXD_HEADER_LOCALE)) &    
345  ((*(header_ptr + HIL_EXD_LEN(header_ptr) - 1     
346      !!(*header_ptr & HIL_EXD_HEADER_LOCALE))     
347                                                   
348 /* Device locale codes. */                        
349                                                   
350 /* Last defined locale code.  Everything above    
351    and note that this same table applies to th    
352    keyboards may have a nationality code which    
353 #define HIL_LOCALE_MAX 0x1f                       
354                                                   
355 /* Map to hopefully useful strings.  I was try    
356    like locale.aliases strings do; maybe that     
357    emulate.  In either case, I didn't have muc    
358 #define HIL_LOCALE_MAP \                          
359 "",                     /* 0x00 Reserved */       
360 "",                     /* 0x01 Reserved */       
361 "",                     /* 0x02 Reserved */       
362 "swiss.french",         /* 0x03 Swiss/French *    
363 "portuguese",           /* 0x04 Portuguese */     
364 "arabic",               /* 0x05 Arabic */         
365 "hebrew",               /* 0x06 Hebrew */         
366 "english.canadian",     /* 0x07 Canadian Engli    
367 "turkish",              /* 0x08 Turkish */        
368 "greek",                /* 0x09 Greek */          
369 "thai",                 /* 0x0a Thai (Thailand    
370 "italian",              /* 0x0b Italian */        
371 "korean",               /* 0x0c Hangul (Korea)    
372 "dutch",                /* 0x0d Dutch */          
373 "swedish",              /* 0x0e Swedish */        
374 "german",               /* 0x0f German */         
375 "chinese",              /* 0x10 Chinese-PRC */    
376 "chinese",              /* 0x11 Chinese-ROC */    
377 "swiss.french",         /* 0x12 Swiss/French I    
378 "spanish",              /* 0x13 Spanish */        
379 "swiss.german",         /* 0x14 Swiss/German I    
380 "flemish",              /* 0x15 Belgian (Flemi    
381 "finnish",              /* 0x16 Finnish */        
382 "english.uk",           /* 0x17 United Kingdom    
383 "french.canadian",      /* 0x18 French/Canadia    
384 "swiss.german",         /* 0x19 Swiss/German *    
385 "norwegian",            /* 0x1a Norwegian */      
386 "french",               /* 0x1b French */         
387 "danish",               /* 0x1c Danish */         
388 "japanese",             /* 0x1d Katakana */       
389 "spanish",              /* 0x1e Latin American    
390 "english.us"            /* 0x1f United States     
391                                                   
392                                                   
393 /* HIL keycodes */                                
394 #define HIL_KEYCODES_SET1_TBLSIZE 128             
395 #define HIL_KEYCODES_SET1       \                 
396    KEY_5,               KEY_RESERVED,   KEY_RI    
397    KEY_RIGHTSHIFT,      KEY_LEFTSHIFT,  KEY_LE    
398    KEY_KP4,             KEY_KP8,        KEY_KP    
399    KEY_KP6,             KEY_KP7,        KEY_KP    
400    KEY_KP1,             KEY_KPSLASH,    KEY_KP    
401    KEY_KP3,             KEY_KPASTERISK, KEY_KP    
402    KEY_B,               KEY_V,          KEY_C,    
403    KEY_Z,               KEY_RESERVED,   KEY_RE    
404    KEY_6,               KEY_F10,        KEY_3,    
405    KEY_KPDOT,           KEY_F9,         KEY_TA    
406    KEY_H,               KEY_G,          KEY_F,    
407    KEY_S,               KEY_A,          KEY_RE    
408    KEY_U,               KEY_Y,          KEY_T,    
409    KEY_E,               KEY_W,          KEY_Q,    
410    KEY_7,               KEY_6,          KEY_5,    
411    KEY_3,               KEY_2,          KEY_1,    
412    KEY_F13,             KEY_F14,        KEY_F1    
413    KEY_F17,             KEY_F18,        KEY_F1    
414    KEY_MENU,            KEY_F4,         KEY_F3    
415    KEY_F1,              KEY_VOLUMEUP,   KEY_ST    
416    KEY_SYSRQ,           KEY_F5,         KEY_F6    
417    KEY_F8,              KEY_VOLUMEDOWN, KEY_DE    
418    KEY_8,               KEY_9,          KEY_0,    
419    KEY_EQUAL,           KEY_BACKSPACE,  KEY_IN    
420    KEY_I,               KEY_O,          KEY_P,    
421    KEY_RIGHTBRACE,      KEY_BACKSLASH,  KEY_IN    
422    KEY_J,               KEY_K,          KEY_L,    
423    KEY_APOSTROPHE,      KEY_ENTER,      KEY_HO    
424    KEY_M,               KEY_COMMA,      KEY_DO    
425    KEY_BACKSLASH,       KEY_SELECT,     KEY_10    
426    KEY_N,               KEY_SPACE,      KEY_NE    
427    KEY_LEFT,            KEY_DOWN,       KEY_UP    
428                                                   
429                                                   
430 #define HIL_KEYCODES_SET3_TBLSIZE 128             
431 #define HIL_KEYCODES_SET3       \                 
432   KEY_RESERVED, KEY_ESC,        KEY_1,            
433   KEY_3,        KEY_4,          KEY_5,            
434   KEY_7,        KEY_8,          KEY_9,            
435   KEY_MINUS,    KEY_EQUAL,      KEY_BACKSPACE,    
436   KEY_Q,        KEY_W,          KEY_E,            
437   KEY_T,        KEY_Y,          KEY_U,            
438   KEY_O,        KEY_P,          KEY_LEFTBRACE,    
439   KEY_ENTER,    KEY_LEFTCTRL,   KEY_A,            
440   KEY_D,        KEY_F,          KEY_G,            
441   KEY_J,        KEY_K,          KEY_L,            
442   KEY_APOSTROPHE,KEY_GRAVE,     KEY_LEFTSHIFT,    
443   KEY_Z,        KEY_X,          KEY_C,            
444   KEY_B,        KEY_N,          KEY_M,            
445   KEY_DOT,      KEY_SLASH,      KEY_RIGHTSHIFT    
446   KEY_LEFTALT,  KEY_SPACE,      KEY_CAPSLOCK,     
447   KEY_F2,       KEY_F3,         KEY_F4,           
448   KEY_F6,       KEY_F7,         KEY_F8,           
449   KEY_F10,      KEY_NUMLOCK,    KEY_SCROLLLOCK    
450   KEY_KP8,      KEY_KP9,        KEY_KPMINUS,      
451   KEY_KP5,      KEY_KP6,        KEY_KPPLUS,       
452   KEY_KP2,      KEY_KP3,        KEY_KP0,          
453   KEY_SYSRQ,    KEY_RESERVED,   KEY_RESERVED,     
454   KEY_RESERVED, KEY_RESERVED,   KEY_RESERVED,     
455   KEY_RESERVED, KEY_RESERVED,   KEY_RESERVED,     
456   KEY_UP,       KEY_LEFT,       KEY_DOWN,         
457   KEY_HOME,     KEY_PAGEUP,     KEY_END,          
458   KEY_INSERT,   KEY_DELETE,     KEY_102ND,        
459   KEY_RESERVED, KEY_RESERVED,   KEY_RESERVED,     
460   KEY_F1,       KEY_F2,         KEY_F3,           
461   KEY_F5,       KEY_F6,         KEY_F7,           
462   KEY_RESERVED, KEY_RESERVED,   KEY_RESERVED,     
463   KEY_RESERVED, KEY_RESERVED,   KEY_RESERVED,     
464                                                   
465                                                   
466 /* Response to POL command, the "poll record h    
467                                                   
468 #define HIL_POL_NUM_AXES_MASK   0x03    /* Num    
469 #define HIL_POL_CTS             0x04    /* Dev    
470 #define HIL_POL_STATUS_PENDING  0x08    /* Dev    
471 #define HIL_POL_CHARTYPE_MASK   0x70    /* Typ    
472 #define HIL_POL_CHARTYPE_NONE   0x00    /* No     
473 #define HIL_POL_CHARTYPE_RSVD1  0x10    /* Res    
474 #define HIL_POL_CHARTYPE_ASCII  0x20    /* U.S    
475 #define HIL_POL_CHARTYPE_BINARY 0x30    /* Bin    
476 #define HIL_POL_CHARTYPE_SET1   0x40    /* Key    
477 #define HIL_POL_CHARTYPE_RSVD2  0x50    /* Res    
478 #define HIL_POL_CHARTYPE_SET2   0x60    /* Key    
479 #define HIL_POL_CHARTYPE_SET3   0x70    /* Key    
480 #define HIL_POL_AXIS_ALT        0x80    /* Dat    
481                                                   
482                                                   
483 #endif /* _HIL_H_ */                              
484                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php