diff options
author | Loïc Hoguin <[email protected]> | 2018-01-03 16:53:27 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2018-01-03 16:53:48 +0100 |
commit | b8c213eaf6183208f87bad4cd583958ae9967cc9 (patch) | |
tree | 01982b5f6c1eb27397e7898b7f6bf1add3cc852c /src | |
parent | 68220e90d79bddfce27afe1a6c3ba990986b239e (diff) | |
download | esdl2-b8c213eaf6183208f87bad4cd583958ae9967cc9.tar.gz esdl2-b8c213eaf6183208f87bad4cd583958ae9967cc9.tar.bz2 esdl2-b8c213eaf6183208f87bad4cd583958ae9967cc9.zip |
Add many sdl_keyboard functions
Diffstat (limited to 'src')
-rw-r--r-- | src/esdl2.erl | 32 | ||||
-rw-r--r-- | src/sdl_keyboard.erl | 42 |
2 files changed, 74 insertions, 0 deletions
diff --git a/src/esdl2.erl b/src/esdl2.erl index 8470940..a8a1f61 100644 --- a/src/esdl2.erl +++ b/src/esdl2.erl @@ -80,7 +80,15 @@ -export([add_hint_callback/3]). %% 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]). @@ -343,9 +351,33 @@ add_hint_callback(_, _, _) -> %% sdl_keyboard +get_key_from_name(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + +get_key_from_scancode(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + +get_key_name(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + +get_mod_state() -> + erlang:nif_error({not_loaded, ?MODULE}). + +get_scancode_from_key(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + +get_scancode_from_name(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + +get_scancode_name(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + is_text_input_active() -> erlang:nif_error({not_loaded, ?MODULE}). +set_mod_state(_) -> + erlang:nif_error({not_loaded, ?MODULE}). + start_text_input() -> erlang:nif_error({not_loaded, ?MODULE}). 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(). |