-/*
-Copyright 2012 Jun Wako <ukkeyboards@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CONFIG_H
-#define CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID 0x554B /* Ascii */
-#define PRODUCT_ID 0x004E
-#define DEVICE_VER 0x0002
-#define MANUFACTURER UK Keyboards
-#define PRODUCT UK78
-#define DESCRIPTION QMK keyboard firmware for UK78
-
-/* key matrix size */
-#define MATRIX_ROWS 5
-#define MATRIX_COLS 19
-
-/* key matrix pins */
-#define MATRIX_ROW_PINS { F3, F2, F1, F0, A0 }
-#define MATRIX_COL_PINS { A2, A1, F5, F4, E6, E7, E5, E4, B7, D0, D1, D2, D3, D4, D5, D6, D7, B5, E0 }
-#define UNUSED_PINS
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* number of backlight levels */
-#define BACKLIGHT_PIN B6
-#ifdef BACKLIGHT_PIN
-#define BACKLIGHT_LEVELS 3
-#endif
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
-#define LOCKING_SUPPORT_ENABLE
-
-/* Locking resynchronize hack */
-#define LOCKING_RESYNC_ENABLE
-
-/* key combination for command */
-#define IS_COMMAND() ( \
- keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-/* prevent stuck modifiers */
-#define PREVENT_STUCK_MODIFIERS
-
-/* ws2812b options */
-#define RGB_DI_PIN F6
-#ifdef RGB_DI_PIN
-#define RGBLIGHT_ANIMATIONS
-#define RGBLED_NUM 20
-#define RGBLIGHT_HUE_STEP 8
-#define RGBLIGHT_SAT_STEP 8
-#define RGBLIGHT_VAL_STEP 8
-#endif
-
-#endif
+/*\r
+Copyright 2017 Ruari Armstrong <ukkeyboards@gmail.com>\r
+\r
+This program is free software: you can redistribute it and/or modify\r
+it under the terms of the GNU General Public License as published by\r
+the Free Software Foundation, either version 2 of the License, or\r
+(at your option) any later version.\r
+\r
+This program is distributed in the hope that it will be useful,\r
+but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+GNU General Public License for more details.\r
+\r
+You should have received a copy of the GNU General Public License\r
+along with this program. If not, see <http://www.gnu.org/licenses/>.\r
+*/\r
+\r
+#ifndef CONFIG_H\r
+#define CONFIG_H\r
+\r
+#include "config_common.h"\r
+\r
+/* USB Device descriptor parameter */\r
+#define VENDOR_ID 0x554B /* Ascii */\r
+#define PRODUCT_ID 0x004E\r
+#define DEVICE_VER 0x0002\r
+#define MANUFACTURER UK Keyboards\r
+#define PRODUCT UK78\r
+#define DESCRIPTION QMK keyboard firmware for UK78\r
+\r
+/* key matrix size */\r
+#define MATRIX_ROWS 5\r
+#define MATRIX_COLS 19\r
+\r
+/* key matrix pins */\r
+#define MATRIX_ROW_PINS { F3, F2, F1, F0, A0 }\r
+#define MATRIX_COL_PINS { A2, A1, F5, F4, E6, E7, E5, E4, B7, D0, D1, D2, D3, D4, D5, D6, D7, B5, E0 }\r
+#define UNUSED_PINS\r
+\r
+/* COL2ROW or ROW2COL */\r
+#define DIODE_DIRECTION COL2ROW\r
+\r
+/* number of backlight levels */\r
+#define BACKLIGHT_PIN B6\r
+#ifdef BACKLIGHT_PIN\r
+#define BACKLIGHT_LEVELS 3\r
+#endif\r
+\r
+/* Set 0 if debouncing isn't needed */\r
+#define DEBOUNCING_DELAY 5\r
+\r
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */\r
+#define LOCKING_SUPPORT_ENABLE\r
+\r
+/* Locking resynchronize hack */\r
+#define LOCKING_RESYNC_ENABLE\r
+\r
+/* key combination for command */\r
+#define IS_COMMAND() ( \\r
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \\r
+)\r
+\r
+/* prevent stuck modifiers */\r
+#define PREVENT_STUCK_MODIFIERS\r
+\r
+/* ws2812b options */\r
+#define RGB_DI_PIN F6\r
+#ifdef RGB_DI_PIN\r
+#define RGBLIGHT_ANIMATIONS\r
+#define RGBLED_NUM 20\r
+#define RGBLIGHT_HUE_STEP 8\r
+#define RGBLIGHT_SAT_STEP 8\r
+#define RGBLIGHT_VAL_STEP 8\r
+#endif\r
+\r
+#endif\r
-#include "uk78.h"
-
-// Helpful defines
-#define _______ KC_TRNS
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BL 0
-#define _FL1 1
-#define _FL2 2
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* _BL: Base Layer(Default) - For ISO enter use ANSI \
- * ,-------------------------------------------------------------------------------.
- * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| /|BSpc| Del| P/| P*| P-|
- * |-------------------------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | P7| P8| P9| P=|
- * |-------------------------------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| Ent| P4| P5| P6| P+|
- * |-------------------------------------------------------------------------------|
- * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | Up| P1| P2| P3|SLck|
- * |-------------------------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |Alt|Mo(1)|Ctrl|Lef|Dow| Rig| P0| P.|PEnt|
- * `-------------------------------------------------------------------------------'
- */
- [_BL] = KEYMAP(
- 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_BSPC, KC_DEL, KC_PSLS, KC_PAST, KC_PMNS,
- 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_PEQL,
- KC_CAPS, 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, KC_P4, KC_P5, KC_P6, KC_PPLS,
- 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_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_SLCK,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
- /* _FL1: Function Layer 1 - For ISO enter use ANSI \
- * ,-------------------------------------------------------------------------------.
- * | `|F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|PScr|Ins|NLck| | | |
- * |-------------------------------------------------------------------------------|
- * | | | | |RST| | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | | |Hu+|Va+|Sa+| | | | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | |RGB|Hu-|Va-|Sa-|Bl-|Bl+| |Mute|Vol+| | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | BL_Toggle | | | | |Vol-| | | | |
- * `-------------------------------------------------------------------------------'
- */
- [_FL1] = KEYMAP(
- 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_PSCR, KC_INS, KC_NLCK, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, BL_DEC, BL_INC, KC_TRNS, KC_MUTE, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
- /* _FL2: Function Layer 2 - For ISO enter use ANSI \
- * ,-------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | | | | | | |
- * |-------------------------------------------------------------------------------|
- * | | | | | | | | | | | | | |
- * `-------------------------------------------------------------------------------'
- */
- [_FL2] = KEYMAP(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-
-};
-
-
-void matrix_init_user(void) {
-}
-
-void matrix_scan_user(void) {
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- return true;
-}
-
-void led_set_user(uint8_t usb_led) {
-
- if (usb_led & (1 << USB_LED_NUM_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
- DDRA |= (1 << 3); PORTA |= (1 << 3);
- } else {
- DDRA &= ~(1 << 3); PORTA &= ~(1 << 3);
- }
-
- if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_COMPOSE)) {
-
- } else {
-
- }
-
- if (usb_led & (1 << USB_LED_KANA)) {
-
- } else {
-
- }
-
+#include "uk78.h"\r
+\r
+// Helpful defines\r
+#define _______ KC_TRNS\r
+\r
+// Each layer gets a name for readability, which is then used in the keymap matrix below.\r
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.\r
+// Layer names don't all need to be of the same length, obviously, and you can also skip them\r
+// entirely and just use numbers.\r
+#define _BL 0\r
+#define _FL1 1\r
+#define _FL2 2\r
+\r
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {\r
+ /* _BL: Base Layer(Default) - For ISO enter use ANSI \\r
+ * ,-------------------------------------------------------------------------------.\r
+ * |Esc | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| /|BSpc| Del| P/| P*| P-|\r
+ * |-------------------------------------------------------------------------------|\r
+ * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | P7| P8| P9| P=|\r
+ * |-------------------------------------------------------------------------------|\r
+ * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| Ent| P4| P5| P6| P+|\r
+ * |-------------------------------------------------------------------------------|\r
+ * |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | Up| P1| P2| P3|SLck|\r
+ * |-------------------------------------------------------------------------------|\r
+ * |Ctrl|Win |Alt | Space |Alt|Ctrl|Mo(1)|Lef|Dow| Rig| P0| P.|PEnt|\r
+ * `-------------------------------------------------------------------------------'\r
+ */\r
+ [_BL] = KEYMAP(\r
+ 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_BSPC, KC_DEL, KC_PSLS, KC_PAST, KC_PMNS,\r
+ 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_PEQL,\r
+ KC_CAPS, 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, KC_P4, KC_P5, KC_P6, KC_PPLS,\r
+ 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_RSFT, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_SLCK,\r
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FL1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),\r
+ /* _FL1: Function Layer 1 - For ISO enter use ANSI \\r
+ * ,-------------------------------------------------------------------------------.\r
+ * | `|F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|PScr|Ins|NLck| | | |\r
+ * |-------------------------------------------------------------------------------|\r
+ * | | | | |RST| | | | | | | | | | | | | |\r
+ * |-------------------------------------------------------------------------------|\r
+ * | | | | | | |Hu+|Va+|Sa+| | | | | | | | | |\r
+ * |-------------------------------------------------------------------------------|\r
+ * | | | | | |RGB|Hu-|Va-|Sa-|Bl-|Bl+| |Mute|Vol+| | | | |\r
+ * |-------------------------------------------------------------------------------|\r
+ * | | | | BL_Toggle | | | | |Vol-| | | | |\r
+ * `-------------------------------------------------------------------------------'\r
+ */\r
+ [_FL1] = KEYMAP(\r
+ 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_PSCR, KC_INS, KC_NLCK, KC_TRNS, KC_TRNS, KC_TRNS,\r
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\r
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\r
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, BL_DEC, BL_INC, KC_TRNS, KC_MUTE, KC_MUTE, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\r
+ KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),\r
+ /* _FL2: Function Layer 2 - For ISO enter use ANSI \\r
+ * ,-------------------------------------------------------------------------------.\r
+ * | | | | | | | | | | | | | | | | | | | |\r
+ * |-------------------------------------------------------------------------------|\r
+ * | | | | | | | | | | | | | | | | | | |\r
+ * |-------------------------------------------------------------------------------|\r
+ * | | | | | | | | | | | | | | | | | | |\r
+ * |-------------------------------------------------------------------------------|\r
+ * | | | | | | | | | | | | | | | | | | |\r
+ * |-------------------------------------------------------------------------------|\r
+ * | | | | | | | | | | | | | |\r
+ * `-------------------------------------------------------------------------------'\r
+ */\r
+ [_FL2] = KEYMAP(\r
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\r
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\r
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\r
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,\r
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),\r
+\r
+\r
+};\r
+\r
+\r
+void matrix_init_user(void) {\r
+}\r
+\r
+void matrix_scan_user(void) {\r
+}\r
+\r
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {\r
+ return true;\r
+}\r
+\r
+void led_set_user(uint8_t usb_led) {\r
+\r
+ if (usb_led & (1 << USB_LED_NUM_LOCK)) {\r
+\r
+ }\r
+ else {\r
+\r
+ }\r
+\r
+ if (usb_led & (1 << USB_LED_CAPS_LOCK)) {\r
+ DDRA |= (1 << 3); PORTA |= (1 << 3);\r
+ }\r
+ else {\r
+ DDRA &= ~(1 << 3); PORTA &= ~(1 << 3);\r
+ }\r
+\r
+ if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {\r
+\r
+ }\r
+ else {\r
+\r
+ }\r
+\r
+ if (usb_led & (1 << USB_LED_COMPOSE)) {\r
+\r
+ }\r
+ else {\r
+\r
+ }\r
+\r
+ if (usb_led & (1 << USB_LED_KANA)) {\r
+\r
+ }\r
+ else {\r
+\r
+ }\r
}
\ No newline at end of file