aboutsummaryrefslogtreecommitdiff
path: root/keyboards/tkc1800/keymaps/wkl/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/tkc1800/keymaps/wkl/keymap.c')
-rw-r--r--keyboards/tkc1800/keymaps/wkl/keymap.c101
1 files changed, 46 insertions, 55 deletions
diff --git a/keyboards/tkc1800/keymaps/wkl/keymap.c b/keyboards/tkc1800/keymaps/wkl/keymap.c
index e04c4d5c1..6f331c61c 100644
--- a/keyboards/tkc1800/keymaps/wkl/keymap.c
+++ b/keyboards/tkc1800/keymaps/wkl/keymap.c
@@ -13,25 +13,17 @@
13 * You should have received a copy of the GNU General Public License 13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#include "tkc1800.h" 16#include QMK_KEYBOARD_H
17#include "LUFA/Drivers/Peripheral/TWI.h" 17#include "LUFA/Drivers/Peripheral/TWI.h"
18#include "i2c.h" 18#include "i2c.h"
19#include "ssd1306.h" 19#include "ssd1306.h"
20 20
21 21
22#define MODS_SHFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
23#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
24
25
26// Helpful defines
27#define ______ KC_TRNS
28#define XXXXXX KC_NO
29
30//Layers 22//Layers
31 23
32enum { 24enum {
33 BASE = 0, 25 BASE = 0,
34 FUNCTION, 26 FUNCTION,
35}; 27};
36 28
37bool screenWorks = 0; 29bool screenWorks = 0;
@@ -56,61 +48,60 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
56 * |-----------------------------------------------------------' |-------------------| 48 * |-----------------------------------------------------------' |-------------------|
57 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | 1 | 2 | 3 | Ent| 49 * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | 1 | 2 | 3 | Ent|
58 * |--------------------------------------------------------'----`--------------| | 50 * |--------------------------------------------------------'----`--------------| |
59 * |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | | 51 * |Ctrl | Alt | Space | Fn |Ctrl |Left |Down|Rght| 0 | . | |
60 * `---------------------------------------------------------------------------------' 52 * `---------------------------------------------------------------------------------'
61 */ 53 */
62 [BASE] = LAYOUT( 54 [BASE] = LAYOUT(
63 KC_ESC, 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_HOME, KC_PGUP, KC_PSCR, \ 55 KC_ESC, 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_HOME, KC_PGUP, KC_PSCR, \
64 KC_DEL, KC_END, KC_PGDN, KC_SLCK, \ 56 KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
65 KC_GRV, 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_BSPC, XXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \ 57 KC_GRV, 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_BSPC, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
66 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_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \ 58 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_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
67 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \ 59 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
68 KC_LSFT, XXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \ 60 KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, \
69 KC_LCTL, KC_LALT, XXXXXX, KC_SPC, XXXXXX, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT 61 KC_LCTL, KC_LALT, XXXXXXX, KC_SPC, XXXXXXX, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT \
70 ), 62 ),
71 [FUNCTION] = LAYOUT( 63 [FUNCTION] = LAYOUT(
72 KC_ESC, 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_HOME, KC_PGUP, KC_PSCR, \ 64 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
73 KC_DEL, KC_END, KC_PGDN, KC_SLCK, \ 65 _______, _______, _______, _______, \
74 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, RESET, XXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \ 66 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, \
75 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_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \ 67 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
76 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \ 68 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, \
77 KC_LSFT, XXXXXX, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD, BL_STEP,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \ 69 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, _______, _______, _______, _______, XXXXXXX, \
78 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, XXXXXX, ______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT 70 _______, _______, XXXXXXX, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______ \
79 ), 71 ),
80}; 72};
81 73
82// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {};
83
84bool process_record_user(uint16_t keycode, keyrecord_t *record) { 74bool process_record_user(uint16_t keycode, keyrecord_t *record) {
85 return true; 75 return true;
86} 76}
87 77
88void led_set_user(uint8_t usb_led) { 78void led_set_user(uint8_t usb_led) {
89 79
90} 80}
81
91void matrix_init_user(void) { 82void matrix_init_user(void) {
92 #ifdef USE_I2C 83 #ifdef USE_I2C
93 i2c_master_init(); 84 i2c_master_init();
94 #ifdef SSD1306OLED 85 #ifdef SSD1306OLED
95 // calls code for the SSD1306 OLED 86 // calls code for the SSD1306 OLED
96 _delay_ms(400); 87 _delay_ms(400);
97 TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000)); 88 TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
98 if(iota_gfx_init()){ // turns on the display 89 if ( iota_gfx_init() ) { // turns on the display
99 screenWorks = 1; 90 screenWorks = 1;
100 } 91 }
92 #endif
101 #endif 93 #endif
94 #ifdef AUDIO_ENABLE
95 startup_user();
102 #endif 96 #endif
103 #ifdef AUDIO_ENABLE
104 startup_user();
105 #endif
106} 97}
107 98
108void matrix_scan_user(void) { 99void matrix_scan_user(void) {
109 #ifdef SSD1306OLED 100 #ifdef SSD1306OLED
110 if(screenWorks){ 101 if ( screenWorks ) {
111 iota_gfx_task(); // this is what updates the display continuously 102 iota_gfx_task(); // this is what updates the display continuously
112 }; 103 };
113 #endif 104 #endif
114} 105}
115 106
116void matrix_update(struct CharacterMatrix *dest, 107void matrix_update(struct CharacterMatrix *dest,
@@ -122,17 +113,17 @@ void matrix_update(struct CharacterMatrix *dest,
122} 113}
123 114
124void iota_gfx_task_user(void) { 115void iota_gfx_task_user(void) {
125#if DEBUG_TO_SCREEN 116 #if DEBUG_TO_SCREEN
126 if (debug_enable) { 117 if (debug_enable) {
127 return; 118 return;
128 } 119 }
129#endif 120 #endif
130 121
131 struct CharacterMatrix matrix; 122 struct CharacterMatrix matrix;
132 123
133 matrix_clear(&matrix); 124 matrix_clear(&matrix);
134 matrix_write_P(&matrix, PSTR("TKC1800")); 125 matrix_write_P(&matrix, PSTR("TKC1800"));
135 126
136 uint8_t layer = biton32(layer_state); 127 uint8_t layer = biton32(layer_state);
137 128
138 char buf[40]; 129 char buf[40];
@@ -148,4 +139,4 @@ void iota_gfx_task_user(void) {
148 (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " "); 139 (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
149 matrix_write(&matrix, led); 140 matrix_write(&matrix, led);
150 matrix_update(&display, &matrix); 141 matrix_update(&display, &matrix);
151} \ No newline at end of file 142}