Commit 5f5aed22787b15cddf110cec6b51758262ce22ae

Authored by aliguori
1 parent be214e6c

Add missing file from previous commit

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6730 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 60 additions and 0 deletions
keymaps.h 0 → 100644
  1 +/*
  2 + * QEMU keysym to keycode conversion using rdesktop keymaps
  3 + *
  4 + * Copyright (c) 2004 Johannes Schindelin
  5 + *
  6 + * Permission is hereby granted, free of charge, to any person obtaining a copy
  7 + * of this software and associated documentation files (the "Software"), to deal
  8 + * in the Software without restriction, including without limitation the rights
  9 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  10 + * copies of the Software, and to permit persons to whom the Software is
  11 + * furnished to do so, subject to the following conditions:
  12 + *
  13 + * The above copyright notice and this permission notice shall be included in
  14 + * all copies or substantial portions of the Software.
  15 + *
  16 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
  19 + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  21 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  22 + * THE SOFTWARE.
  23 + */
  24 +
  25 +#ifndef __QEMU_KEYMAPS_H__
  26 +#define __QEMU_KEYMAPS_H__
  27 +
  28 +#include "qemu-common.h"
  29 +
  30 +typedef struct {
  31 + const char* name;
  32 + int keysym;
  33 +} name2keysym_t;
  34 +
  35 +struct key_range {
  36 + int start;
  37 + int end;
  38 + struct key_range *next;
  39 +};
  40 +
  41 +#define MAX_NORMAL_KEYCODE 512
  42 +#define MAX_EXTRA_COUNT 256
  43 +typedef struct {
  44 + uint16_t keysym2keycode[MAX_NORMAL_KEYCODE];
  45 + struct {
  46 + int keysym;
  47 + uint16_t keycode;
  48 + } keysym2keycode_extra[MAX_EXTRA_COUNT];
  49 + int extra_count;
  50 + struct key_range *keypad_range;
  51 + struct key_range *numlock_range;
  52 +} kbd_layout_t;
  53 +
  54 +
  55 +void *init_keyboard_layout(const name2keysym_t *table, const char *language);
  56 +int keysym2scancode(void *kbd_layout, int keysym);
  57 +int keycode_is_keypad(void *kbd_layout, int keycode);
  58 +int keysym_is_numlock(void *kbd_layout, int keysym);
  59 +
  60 +#endif /* __QEMU_KEYMAPS_H__ */