aboutsummaryrefslogtreecommitdiffstats
path: root/src/keymap.c
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2022-12-27 02:19:10 +0100
committerLouis Burda <quent.burda@gmail.com>2022-12-27 02:19:10 +0100
commit8069562a2f7b530cd190cf06e0d88f1350d8d41d (patch)
tree8ced6a9073e9216fce79fb7feb144690aca35814 /src/keymap.c
parent878eb23b8394109aeb32cd505f79b96c74ec97f6 (diff)
downloadsxkbd-8069562a2f7b530cd190cf06e0d88f1350d8d41d.tar.gz
sxkbd-8069562a2f7b530cd190cf06e0d88f1350d8d41d.zip
Implement more keysym functions
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c53
1 files changed, 48 insertions, 5 deletions
diff --git a/src/keymap.c b/src/keymap.c
index bf7fa91..2e37a2e 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -1,4 +1,5 @@
#include "keymap.h"
+#include "hid/keyboard.h"
#include "keysym.h"
#include "keysym/consumer.h"
#include "keysym/keyboard_de.h"
@@ -79,7 +80,7 @@
#define LAYER_SHRT_DE KEYMAP( \
_______ , G(KC_1) , G(KC_2) , G(KC_3) , G(KC_4) , G(KC_5) , \
CS(BASE), A(KC_1) , A(KC_2) , A(KC_3) , A(KC_4) , A(KC_5) , \
- _______ ,G(KC_TAB),G(DE_DOT), A(DE_B) , A(DE_F) ,A(KC_SPC), \
+ _______ ,G(KC_TAB),G(DE_DOT), A(DE_B) , A(DE_F) , KC_SPC , \
_______ , _______ , _______ , \
\
G(KC_6) , G(KC_7) , G(KC_8) , G(KC_9) , G(KC_0) , _______ , \
@@ -116,7 +117,7 @@
_______ , SX(KVM1), SX(KVM2), _______ , _______ , _______ , \
_______ , _______ , _______ , _______ , _______ , _______ , \
KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , \
- _______ , _______ , _______ , \
+ RB(BASE), _______ , RB(GAME), \
\
_______ , KS_VOLD , KS_VOLU , KS_MUTE , _______ , _______ , \
_______ , KS_MPRV , KS_MNXT , KS_MPLY , _______ , _______ , \
@@ -124,6 +125,30 @@
_______ , _______ , _______ \
)
+#define LAYER_GAME_DE KEYMAP( \
+ KC_ESC , DE_Q , DE_W , DE_E , DE_R , DE_T , \
+ SW(GNUM), DE_A , DE_S , DE_D , DE_F , DE_G , \
+ KC_LCTL , DE_Z , DE_X , DE_C , DE_V , DE_B , \
+ KC_LSFT , KC_LALT , KC_SPC , \
+ \
+ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
+ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
+ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
+ XXXXXXX , XXXXXXX , XXXXXXX \
+)
+
+#define LAYER_GNUM_DE KEYMAP( \
+ SW(META), KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , \
+ XXXXXXX , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , \
+ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
+ XXXXXXX , KC_TAB , XXXXXXX , \
+ \
+ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
+ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
+ XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , XXXXXXX , \
+ XXXXXXX , XXXXXXX , XXXXXXX \
+)
+
enum {
BASE, /* base */
QUIK, /* symbols + nav */
@@ -133,6 +158,8 @@ enum {
NUMS, /* numbers */
SPEC, /* specials */
META, /* functions */
+ GAME, /* gaming base */
+ GNUM, /* gaming nums */
};
enum {
@@ -148,7 +175,9 @@ const uint32_t keymap_layers_de[][KEY_ROWS][KEY_COLS] = {
[SHRT] = LAYER_SHRT_DE,
[NUMS] = LAYER_NUMS_DE,
[SPEC] = LAYER_SPEC_DE,
- [META] = LAYER_META_DE
+ [META] = LAYER_META_DE,
+ [GAME] = LAYER_GAME_DE,
+ [GNUM] = LAYER_GNUM_DE
};
const uint32_t keymap_layers_de_count = ARRLEN(keymap_layers_de);
@@ -156,13 +185,27 @@ const uint32_t keymap_layers_de_count = ARRLEN(keymap_layers_de);
const uint32_t (*keymap_layers)[KEY_ROWS][KEY_COLS] = keymap_layers_de;
uint32_t keymap_layers_count = keymap_layers_de_count;
+const uint32_t macro_kvm1[] = {
+ KC_LEFT_CTRL, DELAY(100),
+ KC_LEFT_CTRL, DELAY(100),
+ KC_1
+};
+
+const uint32_t macro_kvm2[] = {
+ KC_LEFT_CTRL, DELAY(100),
+ KC_LEFT_CTRL, DELAY(100),
+ KC_2
+};
+
void
-process_user_keypress_new(uint8_t sym, uint x, uint y)
+process_user_keypress(uint8_t sym, uint x, uint y)
{
switch (sym) {
case KVM1:
+ hid_send_macro(macro_kvm1, ARRLEN(macro_kvm1));
break;
case KVM2:
+ hid_send_macro(macro_kvm2, ARRLEN(macro_kvm2));
break;
case QUSW:
if (keymat[7][3]) {
@@ -177,7 +220,7 @@ process_user_keypress_new(uint8_t sym, uint x, uint y)
}
void
-process_user_keyrelease_new(uint8_t sym, uint x, uint y)
+process_user_keyrelease(uint8_t sym, uint x, uint y)
{
}