aboutsummaryrefslogtreecommitdiff
path: root/keyboards/tkc1800/keymaps/default/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/tkc1800/keymaps/default/keymap.c')
-rw-r--r--keyboards/tkc1800/keymaps/default/keymap.c118
1 files changed, 63 insertions, 55 deletions
diff --git a/keyboards/tkc1800/keymaps/default/keymap.c b/keyboards/tkc1800/keymaps/default/keymap.c
index cc19de3bd..5455934a3 100644
--- a/keyboards/tkc1800/keymaps/default/keymap.c
+++ b/keyboards/tkc1800/keymaps/default/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,77 @@ 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|Gui |Alt | Space |Alt |Fn |Ctr|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_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT 61 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT \
70 ), 62 ),
71 [FUNCTION] = LAYOUT( 63 /* Keymap FUNCTION: (Function Layer)
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 * `-------------------------------------------------------' |-------------------|
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 * ,-----------------------------------------------------------. |-------------------|
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 * | | | | | | | | | | | | | | RESET | | | | | |
78 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, ______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT 70 * |-----------------------------------------------------------| |-------------------|
79 ), 71 * | | | | | | | | | | | | | | | | | | | |
72 * |-----------------------------------------------------------| |-------------------|
73 * | | | | | | | | | | | | | | | | | | |
74 * |-----------------------------------------------------------' |-------------------|
75 * | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | |
76 * |--------------------------------------------------------'----`--------------| |
77 * | | | | | | | | | | | | . | |
78 * `---------------------------------------------------------------------------------'
79 */
80 [FUNCTION] = LAYOUT(
81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
82 _______, _______, _______, _______, \
83 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, \
84 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
85 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, \
86 _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, _______, _______, _______, _______, XXXXXXX, \
87 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
88 ),
80}; 89};
81 90
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) { 91bool process_record_user(uint16_t keycode, keyrecord_t *record) {
85 return true; 92 return true;
86} 93}
87 94
88void led_set_user(uint8_t usb_led) { 95void led_set_user(uint8_t usb_led) {
89 96
90} 97}
98
91void matrix_init_user(void) { 99void matrix_init_user(void) {
92 #ifdef USE_I2C 100 #ifdef USE_I2C
93 i2c_master_init(); 101 i2c_master_init();
94 #ifdef SSD1306OLED 102 #ifdef SSD1306OLED
95 // calls code for the SSD1306 OLED 103 // calls code for the SSD1306 OLED
96 _delay_ms(400); 104 _delay_ms(400);
97 TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000)); 105 TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
98 if(iota_gfx_init()){ // turns on the display 106 if ( iota_gfx_init() ) { // turns on the display
99 screenWorks = 1; 107 screenWorks = 1;
100 } 108 }
109 #endif
101 #endif 110 #endif
111 #ifdef AUDIO_ENABLE
112 startup_user();
102 #endif 113 #endif
103 #ifdef AUDIO_ENABLE
104 startup_user();
105 #endif
106} 114}
107 115
108void matrix_scan_user(void) { 116void matrix_scan_user(void) {
109 #ifdef SSD1306OLED 117 #ifdef SSD1306OLED
110 if(screenWorks){ 118 if ( screenWorks ) {
111 iota_gfx_task(); // this is what updates the display continuously 119 iota_gfx_task(); // this is what updates the display continuously
112 }; 120 };
113 #endif 121 #endif
114} 122}
115 123
116void matrix_update(struct CharacterMatrix *dest, 124void matrix_update(struct CharacterMatrix *dest,
@@ -122,17 +130,17 @@ void matrix_update(struct CharacterMatrix *dest,
122} 130}
123 131
124void iota_gfx_task_user(void) { 132void iota_gfx_task_user(void) {
125#if DEBUG_TO_SCREEN 133 #if DEBUG_TO_SCREEN
126 if (debug_enable) { 134 if (debug_enable) {
127 return; 135 return;
128 } 136 }
129#endif 137 #endif
130 138
131 struct CharacterMatrix matrix; 139 struct CharacterMatrix matrix;
132 140
133 matrix_clear(&matrix); 141 matrix_clear(&matrix);
134 matrix_write_P(&matrix, PSTR("TKC1800")); 142 matrix_write_P(&matrix, PSTR("TKC1800"));
135 143
136 uint8_t layer = biton32(layer_state); 144 uint8_t layer = biton32(layer_state);
137 145
138 char buf[40]; 146 char buf[40];
@@ -148,4 +156,4 @@ void iota_gfx_task_user(void) {
148 (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " "); 156 (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
149 matrix_write(&matrix, led); 157 matrix_write(&matrix, led);
150 matrix_update(&display, &matrix); 158 matrix_update(&display, &matrix);
151} \ No newline at end of file 159}