|
||||
Warning, cross-references for /kernel/include/drivers/input/keyboard.h need to be fixed.
0001 /* The Quest Operating System 0002 * Copyright (C) 2005-2010 Richard West, Boston University 0003 * 0004 * This program is free software: you can redistribute it and/or modify 0005 * it under the terms of the GNU General Public License as published by 0006 * the Free Software Foundation, either version 3 of the License, or 0007 * (at your option) any later version. 0008 * 0009 * This program is distributed in the hope that it will be useful, 0010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0012 * GNU General Public License for more details. 0013 * 0014 * You should have received a copy of the GNU General Public License 0015 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0016 */ 0017 0018 #ifndef _KEYBOARD_H_ 0019 #define _KEYBOARD_H_ 0020 #include "types.h" 0021 0022 #define KEYBOARD_BUFFER_SIZE 16 0023 0024 #define KEYBOARD_IRQ 1 0025 #define KEYBOARD_VECTOR 0x21 0026 0027 #define KEYBOARD_DATA_PORT 0x60 0028 #define KEYBOARD_STATUS_PORT 0x64 0029 0030 #define KEY_EVENT_MAX 5 0031 0032 typedef struct 0033 { 0034 uint16 scancode; 0035 uint16 present:1; 0036 uint16 pressed:1; 0037 uint16 release:1; 0038 uint16 latest:1; 0039 uint16 reserved:12; 0040 } key; 0041 0042 typedef struct 0043 { 0044 key keys[KEY_EVENT_MAX]; 0045 } key_event; 0046 0047 bool init_keyboard_8042 (void); 0048 void keyboard_8042_next (key_event *); 0049 0050 #endif 0051 0052 /* 0053 * Local Variables: 0054 * indent-tabs-mode: nil 0055 * mode: C 0056 * c-file-style: "gnu" 0057 * c-basic-offset: 2 0058 * End: 0059 */ 0060 0061 /* vi: set et sw=2 sts=2: */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 1.2.0 LXR engine. |