#include "keymap_german.h"
enum userspace_layers {
- _DEADKEY = 14, //change if more than 16 layers are required
+ _DEADKEY = 14, // Change if more than 16 layers are required
_NAV
};
enum userspace_custom_keycodes {
CU_GAME = SAFE_RANGE, // Toggle game mode on/off
CU_NAV, // NAV | ESC
+ KC_P00, // Numpad double zero
#ifdef GERMAN_ENABLE
CU_LSFT, // LSFT | (
};
#ifdef GERMAN_ENABLE
-// these save the current shift status
extern bool lshift;
extern bool rshift;
-// stuff for custom space cadet shift
extern bool lshiftp;
extern bool rshiftp;
extern uint16_t lshift_timer;
extern uint8_t prev_indx;
extern uint16_t prev_kcs[6];
-
void add_to_prev(uint16_t kc);
void unreg_prev(void);
extern bool esct;
#endif
-// stuff for nav esc
extern bool navesc;
extern uint16_t navesc_timer;
void timer_timeout(void);
-bool process_record_userspace(uint16_t keycode, keyrecord_t *record);
+void timer_timeout_keymap(void);
+
+bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
#define CTRLX LCTL(KC_X)
#define CTRLC LCTL(KC_C)
#define CTRLV LCTL(KC_V)
+#define ALTF4 LALT(KC_F4)
+
#define GUIU LGUI(KC_UP)
#define GUID LGUI(KC_DOWN)
#define GUIL LGUI(KC_LEFT)
#define GUIR RGUI(KC_RIGHT)
-//
-// Templates for Keys, with custom shifted and non shifted Characters
-//
+#define CTLENT CTL_T(KC_ENT)
+
+#define EMOJI LWIN(KC_DOT)
+
+/*
+Templates for Keys, with custom shifted and non shifted Characters
+*/
// Normal shift status
#define SHIFT_NORM(kc1, kc2) \
} \
return false;
-// All shift
+// Always shifted
#define SHIFT_ALL(kc1, kc2) \
if (record->event.pressed) { \
timer_timeout(); \
} \
return false;
-// All no shift
+// Never shifted
#define SHIFT_NO(kc1, kc2) \
if (record->event.pressed) { \
timer_timeout(); \
} \
return false;
-// All algr
+// Always AltGr
#define SHIFT_ALGR(kc1, kc2) \
if (record->event.pressed) { \
timer_timeout(); \
unregister_code(KC_LSFT); \
- register_code(DE_ALGR); \
+ register_code(KC_ALGR); \
if (lshift || rshift) { \
unregister_code(kc2); \
register_code(kc2); \
register_code(kc1); \
unregister_code(kc1); \
} \
- unregister_code(DE_ALGR); \
+ unregister_code(KC_ALGR); \
} \
return false;
-// Different keycode for ctrl
+// Different keycode when Ctrl is pressed
#define CTRL(kc1, kc2) \
if(record->event.pressed) { \
timer_timeout(); \
} \
return false;
-// Umlaute for deadkey layer
+// Template for keys on deadkey layer (mostly Umlaute)
#define UML(kc) \
if(record->event.pressed) { \
timer_timeout(); \