aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2018-08-29 12:04:43 +0200
committerTeddy Wing2018-08-29 12:04:43 +0200
commit5d2685b89e891a8049fbbc635909b556c804eee7 (patch)
treeef61a75a691c7afeba41e34d02742a74752cff74
parentbeea50b6c0b30b40abd292a11ded570ec50228a4 (diff)
downloaddome-key-map-5d2685b89e891a8049fbbc635909b556c804eee7.tar.bz2
run_key_action(): Add `mode` argument
An Option `mode` argument. When `Some`, the function should look for `trigger` inside the given mode. Otherwise it will use the normal map scope.
-rw-r--r--src/cocoa_bridge.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/cocoa_bridge.rs b/src/cocoa_bridge.rs
index 12b0095..9392fcb 100644
--- a/src/cocoa_bridge.rs
+++ b/src/cocoa_bridge.rs
@@ -69,7 +69,7 @@ pub extern "C" fn c_run_key_action(
slice::from_raw_parts(trigger.buttons, trigger.length as usize)
};
- let result = match run_key_action(trigger) {
+ let result = match run_key_action_for_mode(trigger, None) {
Some(k) => {
match k.action {
Some(a) => {
@@ -98,8 +98,9 @@ pub extern "C" fn c_run_key_action(
}
#[no_mangle]
-pub extern "C" fn run_key_action(
- trigger: &[HeadphoneButton]
+pub extern "C" fn run_key_action_for_mode(
+ trigger: &[HeadphoneButton],
+ mode: Option<&[HeadphoneButton]>
) -> Option<KeyActionResult> {
let sample_maps = "map <up> k
map <down> j