diff options
Diffstat (limited to 'keyboards/tkc1800/keymaps/wkl/keymap.c')
| -rw-r--r-- | keyboards/tkc1800/keymaps/wkl/keymap.c | 101 |
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 | ||
| 32 | enum { | 24 | enum { |
| 33 | BASE = 0, | 25 | BASE = 0, |
| 34 | FUNCTION, | 26 | FUNCTION, |
| 35 | }; | 27 | }; |
| 36 | 28 | ||
| 37 | bool screenWorks = 0; | 29 | bool 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 | |||
| 84 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 74 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 85 | return true; | 75 | return true; |
| 86 | } | 76 | } |
| 87 | 77 | ||
| 88 | void led_set_user(uint8_t usb_led) { | 78 | void led_set_user(uint8_t usb_led) { |
| 89 | 79 | ||
| 90 | } | 80 | } |
| 81 | |||
| 91 | void matrix_init_user(void) { | 82 | void 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 | ||
| 108 | void matrix_scan_user(void) { | 99 | void 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 | ||
| 116 | void matrix_update(struct CharacterMatrix *dest, | 107 | void matrix_update(struct CharacterMatrix *dest, |
| @@ -122,17 +113,17 @@ void matrix_update(struct CharacterMatrix *dest, | |||
| 122 | } | 113 | } |
| 123 | 114 | ||
| 124 | void iota_gfx_task_user(void) { | 115 | void 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 | } |
