aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dome_key_map.h7
-rw-r--r--src/ffi.rs3
-rw-r--r--src/map.rs1
3 files changed, 9 insertions, 2 deletions
diff --git a/dome_key_map.h b/dome_key_map.h
index 6748e3b..e1df9e5 100644
--- a/dome_key_map.h
+++ b/dome_key_map.h
@@ -13,6 +13,11 @@ typedef enum {
HeadphoneButton_Down,
} HeadphoneButton;
+typedef enum {
+ PlayAudio_Yes,
+ PlayAudio_No,
+} PlayAudio;
+
typedef struct State State;
typedef struct {
@@ -46,7 +51,7 @@ void dome_key_logger_init(void);
Config *dome_key_parse_args(const char *const *args, size_t length, Config *config_ptr);
-void dome_key_run_key_action(State *state, Trigger trigger);
+void dome_key_run_key_action(State *state, Trigger trigger, PlayAudio play_audio);
void dome_key_state_free(State *ptr);
diff --git a/src/ffi.rs b/src/ffi.rs
index 22ebfe0..1ea2eae 100644
--- a/src/ffi.rs
+++ b/src/ffi.rs
@@ -90,6 +90,7 @@ pub extern "C" fn dome_key_state_load_map_group(ptr: *mut State) {
pub extern "C" fn dome_key_run_key_action(
state: *mut State,
trigger: Trigger,
+ play_audio: PlayAudio,
) {
let trigger = unsafe {
assert!(!trigger.buttons.is_null());
@@ -102,7 +103,7 @@ pub extern "C" fn dome_key_run_key_action(
&mut *state
};
- run_key_action(&mut state, trigger, PlayAudio::No);
+ run_key_action(&mut state, trigger, play_audio);
}
#[no_mangle]
diff --git a/src/map.rs b/src/map.rs
index ea28d3f..b74b792 100644
--- a/src/map.rs
+++ b/src/map.rs
@@ -6,6 +6,7 @@ use {Action, HeadphoneButton, MapAction, MapKind};
use ffi::State;
use sounds;
+#[repr(C)]
pub enum PlayAudio {
Yes,
No,