aboutsummaryrefslogtreecommitdiffstats
path: root/src/keysym/consumer.c
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2022-12-19 19:29:41 +0100
committerLouis Burda <quent.burda@gmail.com>2022-12-19 19:29:41 +0100
commit878eb23b8394109aeb32cd505f79b96c74ec97f6 (patch)
treeed5aa20a4018fcecd0d7f922d66c92633822117c /src/keysym/consumer.c
parentd7c506450be613d6575649218fbcc90a4fabd150 (diff)
downloadsxkbd-878eb23b8394109aeb32cd505f79b96c74ec97f6.tar.gz
sxkbd-878eb23b8394109aeb32cd505f79b96c74ec97f6.zip
Add special hid functionality, consumer control working
Diffstat (limited to 'src/keysym/consumer.c')
-rw-r--r--src/keysym/consumer.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/keysym/consumer.c b/src/keysym/consumer.c
new file mode 100644
index 0000000..8e0e8c0
--- /dev/null
+++ b/src/keysym/consumer.c
@@ -0,0 +1,60 @@
+#include "keysym/consumer.h"
+
+#include "hid/consumer.h"
+
+#include <stdint.h>
+
+uint16_t
+keysym_to_consumer(uint32_t key)
+{
+ switch (key) {
+ case KS_AUDIO_MUTE:
+ return AUDIO_MUTE;
+ case KS_AUDIO_VOL_UP:
+ return AUDIO_VOL_UP;
+ case KS_AUDIO_VOL_DOWN:
+ return AUDIO_VOL_DOWN;
+ case KS_MEDIA_NEXT_TRACK:
+ return TRANSPORT_NEXT_TRACK;
+ case KS_MEDIA_PREV_TRACK:
+ return TRANSPORT_PREV_TRACK;
+ case KS_MEDIA_FAST_FORWARD:
+ return TRANSPORT_FAST_FORWARD;
+ case KS_MEDIA_REWIND:
+ return TRANSPORT_REWIND;
+ case KS_MEDIA_STOP:
+ return TRANSPORT_STOP;
+ case KS_MEDIA_EJECT:
+ return TRANSPORT_STOP_EJECT;
+ case KS_MEDIA_PLAY_PAUSE:
+ return TRANSPORT_PLAY_PAUSE;
+ case KS_MEDIA_SELECT:
+ return AL_CC_CONFIG;
+ case KS_MAIL:
+ return AL_EMAIL;
+ case KS_CALCULATOR:
+ return AL_CALCULATOR;
+ case KS_MY_COMPUTER:
+ return AL_LOCAL_BROWSER;
+ case KS_WWW_SEARCH:
+ return AC_SEARCH;
+ case KS_WWW_HOME:
+ return AC_HOME;
+ case KS_WWW_BACK:
+ return AC_BACK;
+ case KS_WWW_FORWARD:
+ return AC_FORWARD;
+ case KS_WWW_STOP:
+ return AC_STOP;
+ case KS_WWW_REFRESH:
+ return AC_REFRESH;
+ case KS_BRIGHTNESS_UP:
+ return BRIGHTNESS_UP;
+ case KS_BRIGHTNESS_DOWN:
+ return BRIGHTNESS_DOWN;
+ case KS_WWW_FAVORITES:
+ return AC_BOOKMARKS;
+ default:
+ return 0;
+ }
+}