aboutsummaryrefslogtreecommitdiff
path: root/users/ridingqwerty
diff options
context:
space:
mode:
Diffstat (limited to 'users/ridingqwerty')
-rw-r--r--users/ridingqwerty/config.h3
-rw-r--r--users/ridingqwerty/process_records.c33
-rw-r--r--users/ridingqwerty/process_records.h29
-rw-r--r--users/ridingqwerty/ridingqwerty.c1
-rw-r--r--users/ridingqwerty/ridingqwerty.h37
-rw-r--r--users/ridingqwerty/rules.mk8
6 files changed, 111 insertions, 0 deletions
diff --git a/users/ridingqwerty/config.h b/users/ridingqwerty/config.h
new file mode 100644
index 000000000..2461b8b8d
--- /dev/null
+++ b/users/ridingqwerty/config.h
@@ -0,0 +1,3 @@
1#pragma once
2#define TAPPING_TERM 175
3#define MACRO_TIMER 5
diff --git a/users/ridingqwerty/process_records.c b/users/ridingqwerty/process_records.c
new file mode 100644
index 000000000..be72883ec
--- /dev/null
+++ b/users/ridingqwerty/process_records.c
@@ -0,0 +1,33 @@
1#include "ridingqwerty.h"
2
3__attribute__ ((weak))
4bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
5 return true;
6}
7
8__attribute__ ((weak))
9bool process_record_secrets(uint16_t keycode, keyrecord_t *record) {
10 return true;
11}
12
13uint16_t user_key_timer;
14bool process_record_user(uint16_t keycode, keyrecord_t *record) {
15 switch(keycode) {
16 case RG_QUOT:
17 if (record->event.pressed) {
18 user_key_timer = timer_read();
19 layer_on(_NUMBER);
20 register_mods(MOD_BIT(KC_RGUI));
21 } else {
22 unregister_mods(MOD_BIT(KC_RGUI));
23 layer_off(_NUMBER);
24 if (timer_elapsed(user_key_timer) < TAPPING_TERM) {
25 register_code(KC_QUOT);
26 unregister_code(KC_QUOT);
27 }
28 }
29 return false; break;
30 }
31 return process_record_keymap(keycode, record) &&
32 process_record_secrets(keycode, record);
33}
diff --git a/users/ridingqwerty/process_records.h b/users/ridingqwerty/process_records.h
new file mode 100644
index 000000000..2c453bcd9
--- /dev/null
+++ b/users/ridingqwerty/process_records.h
@@ -0,0 +1,29 @@
1#pragma once
2#include "ridingqwerty.h"
3
4#if defined(KEYMAP_SAFE_RANGE)
5 #define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
6#else
7 #define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
8#endif
9
10bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
11bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
12
13enum userspace_custom_keycodes {
14 FIRST = PLACEHOLDER_SAFE_RANGE,
15 RUSTY,
16 FUEL,
17 C0RE,
18 MUNKY,
19 AR1ST,
20 VAXIS,
21 OS_LAB,
22 CDLOCAL,
23 SYSNOC,
24 RG_QUOT,
25 LAST
26};
27
28bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
29bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
diff --git a/users/ridingqwerty/ridingqwerty.c b/users/ridingqwerty/ridingqwerty.c
new file mode 100644
index 000000000..fd39021da
--- /dev/null
+++ b/users/ridingqwerty/ridingqwerty.c
@@ -0,0 +1 @@
#include "ridingqwerty.h"
diff --git a/users/ridingqwerty/ridingqwerty.h b/users/ridingqwerty/ridingqwerty.h
new file mode 100644
index 000000000..ae5262567
--- /dev/null
+++ b/users/ridingqwerty/ridingqwerty.h
@@ -0,0 +1,37 @@
1#pragma once
2
3#include "quantum.h"
4#include "process_records.h"
5
6enum userspace_layers
7{
8 _QWERTY = 0,
9 _EDITOR,
10 _NUMBER,
11 _SYMBOL,
12 _F_KEYS,
13 _DEBUG,
14 _SECRET,
15 _FINAL
16};
17
18// modtaps
19#define LS_Z MT(MOD_LSFT, KC_Z)
20#define LC_ESC MT(MOD_LCTL, KC_ESC)
21#define LG_TAB MT(MOD_LGUI, KC_TAB)
22#define LA_LBRC MT(MOD_LALT, KC_LBRC)
23#define LS_RBRC MT(MOD_LSFT, KC_RBRC)
24#define RS_MINS MT(MOD_RSFT, KC_MINS)
25#define RA_EQL MT(MOD_RALT, KC_EQL)
26//RG_LMOT defined in process_records.h
27#define RC_ENT MT(MOD_RCTL, KC_ENT)
28#define RS_SLSH MT(MOD_RSFT, KC_SLSH)
29// layertaps
30#define ED_A LT(_EDITOR, KC_A)
31#define ED_ESC LT(_EDITOR, KC_ESC)
32#define NM_SCLN LT(_NUMBER, KC_SCLN)
33#define NM_BSPC LT(_NUMBER, KC_BSPC)
34#define SM_SPC LT(_SYMBOL, KC_SPC)
35#define SC_TAB LT(_SECRET, KC_TAB)
36#define FK_DOT LT(_F_KEYS, KC_DOT)
37
diff --git a/users/ridingqwerty/rules.mk b/users/ridingqwerty/rules.mk
new file mode 100644
index 000000000..9c3846744
--- /dev/null
+++ b/users/ridingqwerty/rules.mk
@@ -0,0 +1,8 @@
1#LEADER_ENABLE = yes
2
3SRC += ridingqwerty.c \
4 process_records.c
5
6ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
7 SRC += secrets.c
8endif