aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/esdl2.erl32
-rw-r--r--src/sdl_keyboard.erl42
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().