aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPriyadi Iman Nurcahyo <priyadi@users.noreply.github.com>2017-05-29 23:10:34 +0700
committerskullydazed <skullydazed@users.noreply.github.com>2017-05-29 09:10:34 -0700
commit7eebdd4760d92c87128d8c06d0a013b7d3aa1a60 (patch)
tree525af0b211c288aa4cc103bda3f0066adc8b3a0a
parent1d6a18db99a91b059798a11a7820424d9b7c7b0c (diff)
downloadqmk_firmware-7eebdd4760d92c87128d8c06d0a013b7d3aa1a60.tar.gz
qmk_firmware-7eebdd4760d92c87128d8c06d0a013b7d3aa1a60.zip
Jokrik's Clueboard layout (#1340)
-rw-r--r--keyboards/clueboard/keymaps/jokrik/keymap.c86
-rw-r--r--keyboards/clueboard/keymaps/jokrik/readme.md11
2 files changed, 97 insertions, 0 deletions
diff --git a/keyboards/clueboard/keymaps/jokrik/keymap.c b/keyboards/clueboard/keymaps/jokrik/keymap.c
new file mode 100644
index 000000000..acde4d9e1
--- /dev/null
+++ b/keyboards/clueboard/keymaps/jokrik/keymap.c
@@ -0,0 +1,86 @@
1#include "clueboard.h"
2
3// Helpful defines
4#define GRAVE_MODS (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
5#define _______ KC_TRNS
6
7// Each layer gets a name for readability, which is then used in the keymap matrix below.
8// The underscores don't mean anything - you can have a layer called STUFF or any other name.
9// Layer names don't all need to be of the same length, obviously, and you can also skip them
10// entirely and just use numbers.
11#define _BL 0
12#define _FL 1
13#define _CL 2
14
15const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
16 /* Keymap _BL: Base Layer (Default Layer)
17 */
18[_BL] = KEYMAP(
19 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PSCR, \
20 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PAUS, \
21 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \
22 KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, \
23 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC,KC_SPC, KC_SPC, KC_RALT, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
24
25 /* Keymap _FL: Function Layer
26 */
27[_FL] = KEYMAP(
28 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, BL_STEP, \
29 _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS, _______, _______, _______, _______, \
30 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
31 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, KC_PGUP, \
32 _______, _______, _______, _______, _______,_______, _______, _______, MO(_FL), _______, KC_HOME, KC_PGDN, KC_END),
33
34 /* Keymap _CL: Control layer
35 */
36[_CL] = KEYMAP(
37 _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI, \
38 _______, _______, _______,_______,RESET, _______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD, \
39 _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, \
40 MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI, \
41 _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, MO(_FL), _______, RGB_HUD, RGB_SAD, RGB_HUI),
42};
43
44/* This is a list of user defined functions. F(N) corresponds to item N
45 of this list.
46 */
47const uint16_t PROGMEM fn_actions[] = {
48 [0] = ACTION_FUNCTION(0), // Calls action_function()
49};
50
51void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
52 static uint8_t mods_pressed;
53 static bool mod_flag;
54
55 switch (id) {
56 case 0:
57 /* Handle the combined Grave/Esc key
58 */
59 mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
60
61 if (record->event.pressed) {
62 /* The key is being pressed.
63 */
64 if (mods_pressed) {
65 mod_flag = true;
66 add_key(KC_GRV);
67 send_keyboard_report();
68 } else {
69 add_key(KC_ESC);
70 send_keyboard_report();
71 }
72 } else {
73 /* The key is being released.
74 */
75 if (mod_flag) {
76 mod_flag = false;
77 del_key(KC_GRV);
78 send_keyboard_report();
79 } else {
80 del_key(KC_ESC);
81 send_keyboard_report();
82 }
83 }
84 break;
85 }
86}
diff --git a/keyboards/clueboard/keymaps/jokrik/readme.md b/keyboards/clueboard/keymaps/jokrik/readme.md
new file mode 100644
index 000000000..cc5eeba96
--- /dev/null
+++ b/keyboards/clueboard/keymaps/jokrik/readme.md
@@ -0,0 +1,11 @@
1```
2 ___ _____ _ _ _ __ __ _ __
3|__ \ / ____| | | | | | / / / /(_) / /
4 ||) | | | | |_ _ ___| |__ ___ __ _ _ __ __| | / /_ / /_ / /
5 |/ / | | | | | | |/ _ \ '_ \ / _ \ / _` | '__/ _` | | '_ \| '_ \ / /
6 |_| | |____| | |_| | __/ |_) | (_) | (_| | | | (_| | | (_) | (_) / / _
7 (_) \_____|_|\__,_|\___|_.__/ \___/ \__,_|_| \__,_| \___/ \___/_/ (_)
8```
9
10# Jokrik's Clueboard Layout
11