diff options
Diffstat (limited to 'src/sdl_keyboard.erl')
-rw-r--r-- | src/sdl_keyboard.erl | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/sdl_keyboard.erl b/src/sdl_keyboard.erl index 0fc05f9..325c727 100644 --- a/src/sdl_keyboard.erl +++ b/src/sdl_keyboard.erl @@ -14,15 +14,57 @@ -module(sdl_keyboard). +-export([get_key_from_name/1]). +-export([get_key_from_scancode/1]). +-export([get_key_name/1]). +-export([get_mod_state/0]). +-export([get_scancode_from_key/1]). +-export([get_scancode_from_name/1]). +-export([get_scancode_name/1]). -export([is_text_input_active/0]). +-export([set_mod_state/1]). -export([start_text_input/0]). -export([stop_text_input/0]). +-spec get_key_from_name(binary()) -> non_neg_integer() | undefined. +get_key_from_name(Name) -> + esdl2:get_key_from_name(Name). + +-spec get_key_from_scancode(non_neg_integer()) -> non_neg_integer() | undefined. +get_key_from_scancode(Scancode) -> + esdl2:get_key_from_scancode(Scancode). + +-spec get_key_name(non_neg_integer()) -> binary(). +get_key_name(Key) -> + esdl2:get_key_name(Key), + receive {'_nif_thread_ret_', Ret} -> Ret end. + +-spec get_mod_state() -> [sdl_keycode:keymod()]. +get_mod_state() -> + esdl2:get_mod_state(), + receive {'_nif_thread_ret_', Ret} -> Ret end. + +-spec get_scancode_from_key(non_neg_integer()) -> non_neg_integer() | undefined. +get_scancode_from_key(Key) -> + esdl2:get_scancode_from_key(Key). + +-spec get_scancode_from_name(binary()) -> non_neg_integer() | undefined. +get_scancode_from_name(Name) -> + esdl2:get_scancode_from_name(Name). + +-spec get_scancode_name(non_neg_integer()) -> binary(). +get_scancode_name(Scancode) -> + esdl2:get_scancode_name(Scancode). + -spec is_text_input_active() -> boolean(). is_text_input_active() -> esdl2:is_text_input_active(), receive {'_nif_thread_ret_', Ret} -> Ret end. +-spec set_mod_state([sdl_keycode:keymod()]) -> ok. +set_mod_state(Mod) -> + esdl2:set_mod_state(Mod). + -spec start_text_input() -> ok. start_text_input() -> esdl2:start_text_input(). |