keycode.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2009 Jiri Svoboda
00003  * All rights reserved.
00004  *
00005  * Redistribution and use in source and binary forms, with or without
00006  * modification, are permitted provided that the following conditions
00007  * are met:
00008  *
00009  * - Redistributions of source code must retain the above copyright
00010  *   notice, this list of conditions and the following disclaimer.
00011  * - Redistributions in binary form must reproduce the above copyright
00012  *   notice, this list of conditions and the following disclaimer in the
00013  *   documentation and/or other materials provided with the distribution.
00014  * - The name of the author may not be used to endorse or promote products
00015  *   derived from this software without specific prior written permission.
00016  *
00017  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
00018  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00019  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00020  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
00021  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
00022  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
00023  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
00024  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00025  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00026  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00027  */
00028 
00035 #ifndef LIBC_IO_KEYCODE_H_
00036 #define LIBC_IO_KEYCODE_H_
00037 
00053 typedef enum {
00054 
00055         /* Main block row 1 */
00056 
00057         KC_BACKTICK = 1,
00058 
00059         KC_1,
00060         KC_2,
00061         KC_3,
00062         KC_4,
00063         KC_5,
00064         KC_6,
00065         KC_7,
00066         KC_8,
00067         KC_9,
00068         KC_0,
00069 
00070         KC_MINUS,
00071         KC_EQUALS,
00072         KC_BACKSPACE,
00073 
00074         /* Main block row 2 */
00075 
00076         KC_TAB,
00077 
00078         KC_Q,
00079         KC_W,
00080         KC_E,
00081         KC_R,
00082         KC_T,
00083         KC_Y,
00084         KC_U,
00085         KC_I,
00086         KC_O,
00087         KC_P,
00088 
00089         KC_LBRACKET,
00090         KC_RBRACKET,
00091 
00092         /* Main block row 3 */
00093 
00094         KC_CAPS_LOCK,
00095         
00096         KC_A,
00097         KC_S,
00098         KC_D,
00099         KC_F,
00100         KC_G,
00101         KC_H,
00102         KC_J,
00103         KC_K,
00104         KC_L,
00105 
00106         KC_SEMICOLON,
00107         KC_QUOTE,
00108         KC_BACKSLASH,
00109 
00110         KC_ENTER,
00111 
00112         /* Main block row 4 */
00113 
00114         KC_LSHIFT,
00115 
00116         KC_Z,
00117         KC_X,
00118         KC_C,
00119         KC_V,
00120         KC_B,
00121         KC_N,
00122         KC_M,
00123 
00124         KC_COMMA,
00125         KC_PERIOD,
00126         KC_SLASH,
00127 
00128         KC_RSHIFT,
00129 
00130         /* Main block row 5 */
00131 
00132         KC_LCTRL,
00133         KC_LALT,
00134         KC_SPACE,
00135         KC_RALT,
00136         KC_RCTRL,
00137 
00138         /* Function keys block */
00139 
00140         KC_ESCAPE,
00141 
00142         KC_F1,
00143         KC_F2,
00144         KC_F3,
00145         KC_F4,
00146         KC_F5,
00147         KC_F6,
00148         KC_F7,
00149         KC_F8,
00150         KC_F9,
00151         KC_F10,
00152         KC_F11,
00153         KC_F12,
00154 
00155         KC_PRTSCR,
00156         KC_SCROLL_LOCK,
00157         KC_PAUSE,
00158 
00159         /* Cursor keys block */
00160 
00161         KC_INSERT,
00162         KC_HOME,
00163         KC_PAGE_UP,
00164 
00165         KC_DELETE,
00166         KC_END,
00167         KC_PAGE_DOWN,
00168 
00169         KC_UP,
00170         KC_LEFT,
00171         KC_DOWN,
00172         KC_RIGHT,
00173 
00174         /* Numeric block */
00175 
00176         KC_NUM_LOCK,
00177         KC_NSLASH,
00178         KC_NTIMES,
00179         KC_NMINUS,
00180 
00181         KC_NPLUS,
00182         KC_NENTER,
00183 
00184         KC_N7,
00185         KC_N8,
00186         KC_N9,
00187 
00188         KC_N4,
00189         KC_N5,
00190         KC_N6,
00191 
00192         KC_N1,
00193         KC_N2,
00194         KC_N3,
00195 
00196         KC_N0,
00197         KC_NPERIOD
00198         
00199 } keycode_t;
00200 
00201 typedef enum {
00202         KM_LSHIFT      = 0x001,
00203         KM_RSHIFT      = 0x002,
00204         KM_LCTRL       = 0x004,
00205         KM_RCTRL       = 0x008,
00206         KM_LALT        = 0x010,
00207         KM_RALT        = 0x020,
00208         KM_CAPS_LOCK   = 0x040,
00209         KM_NUM_LOCK    = 0x080,
00210         KM_SCROLL_LOCK = 0x100,
00211         
00212         KM_SHIFT       = KM_LSHIFT | KM_RSHIFT,
00213         KM_CTRL        = KM_LCTRL | KM_RCTRL,
00214         KM_ALT         = KM_LALT | KM_RALT
00215 } keymod_t;
00216 
00217 #endif
00218 

Generated on Thu Jun 2 07:45:47 2011 for HelenOS/USB by  doxygen 1.4.7