diff --git a/src/events/SDL_keyboard.c b/src/events/SDL_keyboard.c index 9a8c4033f..2ec22853f 100644 --- a/src/events/SDL_keyboard.c +++ b/src/events/SDL_keyboard.c @@ -560,11 +560,9 @@ SDL_UCS4ToUTF8(Uint32 ch, char *dst) int SDL_KeyboardInit(void) { - SDL_Keyboard *keyboard = &SDL_keyboard; - /* Set the default keymap */ - SDL_memcpy(keyboard->keymap, SDL_default_keymap, sizeof(SDL_default_keymap)); - return (0); + SDL_SetKeymap(0, SDL_default_keymap, SDL_NUM_SCANCODES, SDL_FALSE); + return 0; } void @@ -590,7 +588,7 @@ SDL_GetDefaultKeymap(SDL_Keycode * keymap) } void -SDL_SetKeymap(int start, SDL_Keycode * keys, int length, SDL_bool send_event) +SDL_SetKeymap(int start, const SDL_Keycode * keys, int length, SDL_bool send_event) { SDL_Keyboard *keyboard = &SDL_keyboard; SDL_Scancode scancode; diff --git a/src/events/SDL_keyboard_c.h b/src/events/SDL_keyboard_c.h index e911312d0..dc2e882fe 100644 --- a/src/events/SDL_keyboard_c.h +++ b/src/events/SDL_keyboard_c.h @@ -33,7 +33,7 @@ extern int SDL_KeyboardInit(void); extern void SDL_GetDefaultKeymap(SDL_Keycode * keymap); /* Set the mapping of scancode to key codes */ -extern void SDL_SetKeymap(int start, SDL_Keycode * keys, int length, SDL_bool send_event); +extern void SDL_SetKeymap(int start, const SDL_Keycode * keys, int length, SDL_bool send_event); /* Set a platform-dependent key name, overriding the default platform-agnostic name. Encoded as UTF-8. The string is not copied, thus the pointer given to