]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - keyboards/tkc1800/keymaps/default/keymap.c
TKC1800 refactor and Configurator visual fixes (#4870)
[qmk_firmware.git] / keyboards / tkc1800 / keymaps / default / keymap.c
index cc19de3bda97cec03df4d7c4720d37a17e4d5c71..5455934a30693bffd5afca2c581a7442d3b5b4a2 100644 (file)
  * You should have received a copy of the GNU General Public License
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
-#include "tkc1800.h"
+#include QMK_KEYBOARD_H
 #include "LUFA/Drivers/Peripheral/TWI.h"
 #include "i2c.h"
 #include "ssd1306.h"
 
 
-#define MODS_SHFT_MASK  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
-#define MODS_GUI_MASK   (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
-
-
-// Helpful defines
-#define ______ KC_TRNS
-#define XXXXXX KC_NO
-
 //Layers
 
 enum {
-       BASE = 0,
-       FUNCTION,
+  BASE = 0,
+  FUNCTION,
 };
 
 bool screenWorks = 0;
@@ -56,61 +48,77 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * |-----------------------------------------------------------' |-------------------|
    * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift  | Up | 1  | 2  | 3  | Ent|
    * |--------------------------------------------------------'----`--------------|    |
-   * |Ctrl|Gui |Alt |      Space           |Alt |Gui|Ctr|Left |Down|Rght| 0  | .  |    |
+   * |Ctrl|Gui |Alt |      Space           |Alt |Fn |Ctr|Left |Down|Rght| 0  | .  |    |
    * `---------------------------------------------------------------------------------'
    */
-       [BASE] = LAYOUT(
-               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, \
-                                                                                                              KC_DEL, KC_END,  KC_PGDN, KC_SLCK, \
-               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, \
-               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, \
-               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, \
-               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, \
-               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
-       ),
-       [FUNCTION] = LAYOUT(
-               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, \
-                                                                                                              KC_DEL, KC_END,  KC_PGDN, KC_SLCK, \
-               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, \
-               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, \
-               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, \
-               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, \
-               KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, ______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
-       ),
+  [BASE] = LAYOUT(
+    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, \
+                                                                                                                                           KC_DEL,  KC_END,  KC_PGDN, KC_SLCK, \
+    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, \
+    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, \
+    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, \
+    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, \
+    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  \
+  ),
+  /* Keymap FUNCTION: (Function Layer)
+   * ,-------------------------------------------------------.     ,-------------------.
+   * |   |   |   |   |   | |   |   |   |   | |   |   |   |   |     |    |    |    |    |
+   * `-------------------------------------------------------'     |-------------------|
+   *                                                               |    |    |    |    |
+   * ,-----------------------------------------------------------. |-------------------|
+   * |   |   |   |   |   |   |   |   |   |   |   |   |   | RESET | |    |    |    |    |
+   * |-----------------------------------------------------------| |-------------------|
+   * |     |   |   |   |   |   |   |   |   |   |   |   |   |     | |    |    |    |    |
+   * |-----------------------------------------------------------| |-------------------|
+   * |       |   |   |   |   |   |   |   |   |   |   |   |       | |    |    |    |    |
+   * |-----------------------------------------------------------' |-------------------|
+   * |        |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp|   |       |    |    |    |    |    |
+   * |--------------------------------------------------------'----`--------------|    |
+   * |    |    |    |                      |    |   |   |     |    |    |    | .  |    |
+   * `---------------------------------------------------------------------------------'
+   */
+  [FUNCTION] = LAYOUT(
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,                   _______, _______, _______, _______, \
+                                                                                                                                           _______, _______, _______, _______, \
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,   XXXXXXX, _______, _______, _______, _______, \
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______, _______, _______, _______, \
+    _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______,          _______, _______, _______, _______, \
+    _______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______,      _______,     _______, _______, _______, XXXXXXX, \
+    _______, _______, _______,                   _______,                            _______, _______, _______,      _______, _______, _______,     _______, _______, _______  \
+  ),
 };
 
-// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {};
-
 bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-    return true;
+  return true;
 }
 
 void led_set_user(uint8_t usb_led) {
 
 }
+
 void matrix_init_user(void) {
   #ifdef USE_I2C
     i2c_master_init();
-  #ifdef SSD1306OLED
-  // calls code for the SSD1306 OLED
-        _delay_ms(400);
-        TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
-        if(iota_gfx_init()){ // turns on the display
-                       screenWorks = 1;
-               }
+    #ifdef SSD1306OLED
+      // calls code for the SSD1306 OLED
+      _delay_ms(400);
+      TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
+      if ( iota_gfx_init() ) { // turns on the display
+        screenWorks = 1;
+      }
+    #endif
   #endif
+  #ifdef AUDIO_ENABLE
+    startup_user();
   #endif
-    #ifdef AUDIO_ENABLE
-        startup_user();
-    #endif
 }
 
 void matrix_scan_user(void) {
-    #ifdef SSD1306OLED
-     if(screenWorks){
-        iota_gfx_task();  // this is what updates the display continuously
-        };
-    #endif
+  #ifdef SSD1306OLED
+    if ( screenWorks ) {
+      iota_gfx_task();  // this is what updates the display continuously
+    };
+  #endif
 }
 
 void matrix_update(struct CharacterMatrix *dest,
@@ -122,17 +130,17 @@ void matrix_update(struct CharacterMatrix *dest,
 }
 
 void iota_gfx_task_user(void) {
-#if DEBUG_TO_SCREEN
-  if (debug_enable) {
-    return;
-  }
-#endif
+  #if DEBUG_TO_SCREEN
+    if (debug_enable) {
+      return;
+    }
+  #endif
 
   struct CharacterMatrix matrix;
 
   matrix_clear(&matrix);
   matrix_write_P(&matrix, PSTR("TKC1800"));
-  
+
   uint8_t layer = biton32(layer_state);
 
   char buf[40];
@@ -148,4 +156,4 @@ void iota_gfx_task_user(void) {
             (host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : "    ");
   matrix_write(&matrix, led);
   matrix_update(&display, &matrix);
-}
\ No newline at end of file
+}