keymap: make struct kbd_layout_t private to ui/keymaps.c

Also use kbd_layout_t pointers instead of void pointers.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20180222070513.8740-2-kraxel@redhat.com
This commit is contained in:
Gerd Hoffmann 2018-02-22 08:05:09 +01:00
parent 4112621420
commit fe5fca9a03
2 changed files with 31 additions and 30 deletions

View file

@ -32,25 +32,6 @@ typedef struct {
int keysym;
} name2keysym_t;
struct key_range {
int start;
int end;
struct key_range *next;
};
#define MAX_NORMAL_KEYCODE 512
#define MAX_EXTRA_COUNT 256
typedef struct {
uint16_t keysym2keycode[MAX_NORMAL_KEYCODE];
struct {
int keysym;
uint16_t keycode;
} keysym2keycode_extra[MAX_EXTRA_COUNT];
int extra_count;
struct key_range *keypad_range;
struct key_range *numlock_range;
} kbd_layout_t;
/* scancode without modifiers */
#define SCANCODE_KEYMASK 0xff
/* scancode without grey or up bit */
@ -69,10 +50,12 @@ typedef struct {
#define SCANCODE_ALT 0x400
#define SCANCODE_ALTGR 0x800
typedef struct kbd_layout_t kbd_layout_t;
void *init_keyboard_layout(const name2keysym_t *table, const char *language);
int keysym2scancode(void *kbd_layout, int keysym);
int keycode_is_keypad(void *kbd_layout, int keycode);
int keysym_is_numlock(void *kbd_layout, int keysym);
kbd_layout_t *init_keyboard_layout(const name2keysym_t *table,
const char *language);
int keysym2scancode(kbd_layout_t *k, int keysym);
int keycode_is_keypad(kbd_layout_t *k, int keycode);
int keysym_is_numlock(kbd_layout_t *k, int keysym);
#endif /* QEMU_KEYMAPS_H */