26,15 → 26,15 |
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
*/ |
|
/** @addtogroup kbdarm32 arm32 |
* @brief HelenOS arm32 arch dependent parts of uspace keyboard handler. |
* @ingroup kbd |
/** @addtogroup kbdarm32gxemul GXemul |
* @brief HelenOS arm32 GXEmul uspace keyboard handler. |
* @ingroup kbdarm32 |
* @{ |
*/ |
/** @file |
* @brief GXemul uspace keyboard handler. |
*/ |
|
#include <arch/kbd.h> |
#include <ipc/ipc.h> |
#include <sysinfo.h> |
#include <kbd.h> |
53,6 → 53,7 |
#define GXEMUL_KEY_F11 0x33325d1bL |
#define GXEMUL_KEY_F12 0x34325b1bL |
|
/** Function keys start code (F1=0x101) */ |
#define FUNCTION_KEYS 0x100 |
|
irq_cmd_t gxemul_cmds[] = { |
78,6 → 79,14 |
} |
*/ |
|
|
/** Process data sent when a key is pressed. |
* |
* @param keybuffer Buffer of scan codes. |
* @param scan_code Scan code. |
* |
* @return Code of the pressed key. |
*/ |
static int gxemul_process_no_fb(keybuffer_t *keybuffer, int scan_code) |
{ |
|
218,6 → 227,7 |
} |
|
|
/** Initializes keyboard handler. */ |
int kbd_arch_init(void) |
{ |
gxemul_cmds[0].addr = (void *) sysinfo_value("kbd.address.virtual"); |
226,10 → 236,17 |
} |
|
|
/** Process data sent when a key is pressed. |
* |
* @param keybuffer Buffer of scan codes. |
* @param call IPC call. |
* |
* @return Code of the pressed key. |
*/ |
int kbd_arch_process(keybuffer_t *keybuffer, ipc_call_t *call) |
{ |
int scan_code = IPC_GET_ARG2(*call); |
static int esc_count=0; |
static int esc_count = 0; |
|
if (scan_code == 0x1b) { |
esc_count++; |