[Keyboard] Add Durgod Taurus K310 keyboard (#12314)

Co-authored-by: Tyler Tidman <tyler.tidman@draak.ca>
Co-authored-by: Simon Arlott <sa.me.uk>
This commit is contained in:
Donald Kjer
2021-07-22 00:09:00 -07:00
committed by GitHub
parent 931bf52b74
commit 13a514923a
52 changed files with 1945 additions and 642 deletions

View File

@@ -0,0 +1,6 @@
# Taurus K320
Base Model - no backlight leds
See: [K320](../../k3x0/k320/base/readme.md)

View File

@@ -0,0 +1 @@
DEFAULT_FOLDER=durgod/k3x0/k320/base

View File

@@ -1,56 +0,0 @@
/* Copyright 2021 kuenhlee and Don Kjer
*
* 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/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xD60D
#define PRODUCT_ID 0x3200
#define DEVICE_VER 0x0001
#define MANUFACTURER Hoksi Technology
#define PRODUCT DURGOD Taurus K320 (QMK)
/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 16
#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 }
#define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION ROW2COL
// Dynamic EEPROM
// Something sensible or else VIA may crash
// Users may enable more if they wish
#define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 4095
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* Bootmagic Lite key configuration */
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
#define BOOTMAGIC_LITE_ROW 0
#define BOOTMAGIC_LITE_COLUMN 0
/* LED indicator pins */
#define LED_CAPS_LOCK_PIN C9
#define LED_SCROLL_LOCK_PIN A8
#define LED_WIN_LOCK_PIN A9
#define LED_MR_LOCK_PIN A10
#define LED_PIN_ON_STATE 0

View File

@@ -1,300 +0,0 @@
{
"keyboard_name": "DURGOD Taurus K320",
"url": "https://www.durgod.com/page9?product_id=47&_l=en",
"maintainer": "dkjer",
"width": 18.25,
"height": 6.5,
"layouts": {
"LAYOUT_tkl_ansi": {
"layout": [
{ "label": "Esc", "x": 0, "y": 0 },
{ "label": "F1", "x": 2, "y": 0 },
{ "label": "F2", "x": 3, "y": 0 },
{ "label": "F3", "x": 4, "y": 0 },
{ "label": "F4", "x": 5, "y": 0 },
{ "label": "F5", "x": 6.5, "y": 0 },
{ "label": "F6", "x": 7.5, "y": 0 },
{ "label": "F7", "x": 8.5, "y": 0 },
{ "label": "F8", "x": 9.5, "y": 0 },
{ "label": "F9", "x": 11, "y": 0 },
{ "label": "F10", "x": 12, "y": 0 },
{ "label": "F11", "x": 13, "y": 0 },
{ "label": "F12", "x": 14, "y": 0 },
{ "label": "PrtSc", "x": 15.25, "y": 0 },
{ "label": "Scroll Lock", "x": 16.25, "y": 0 },
{ "label": "Pause", "x": 17.25, "y": 0 },
{ "label": "~", "x": 0, "y": 1.5 },
{ "label": "!", "x": 1, "y": 1.5 },
{ "label": "@", "x": 2, "y": 1.5 },
{ "label": "#", "x": 3, "y": 1.5 },
{ "label": "$", "x": 4, "y": 1.5 },
{ "label": "%", "x": 5, "y": 1.5 },
{ "label": "^", "x": 6, "y": 1.5 },
{ "label": "&", "x": 7, "y": 1.5 },
{ "label": "*", "x": 8, "y": 1.5 },
{ "label": "(", "x": 9, "y": 1.5 },
{ "label": ")", "x": 10, "y": 1.5 },
{ "label": "_", "x": 11, "y": 1.5 },
{ "label": "+", "x": 12, "y": 1.5 },
{ "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
{ "label": "Insert", "x": 15.25, "y": 1.5 },
{ "label": "Home", "x": 16.25, "y": 1.5 },
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
{ "label": "Q", "x": 1.5, "y": 2.5 },
{ "label": "W", "x": 2.5, "y": 2.5 },
{ "label": "E", "x": 3.5, "y": 2.5 },
{ "label": "R", "x": 4.5, "y": 2.5 },
{ "label": "T", "x": 5.5, "y": 2.5 },
{ "label": "Y", "x": 6.5, "y": 2.5 },
{ "label": "U", "x": 7.5, "y": 2.5 },
{ "label": "I", "x": 8.5, "y": 2.5 },
{ "label": "O", "x": 9.5, "y": 2.5 },
{ "label": "P", "x": 10.5, "y": 2.5 },
{ "label": "{", "x": 11.5, "y": 2.5 },
{ "label": "}", "x": 12.5, "y": 2.5 },
{ "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
{ "label": "Delete", "x": 15.25, "y": 2.5 },
{ "label": "End", "x": 16.25, "y": 2.5 },
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
{ "label": "A", "x": 1.75, "y": 3.5 },
{ "label": "S", "x": 2.75, "y": 3.5 },
{ "label": "D", "x": 3.75, "y": 3.5 },
{ "label": "F", "x": 4.75, "y": 3.5 },
{ "label": "G", "x": 5.75, "y": 3.5 },
{ "label": "H", "x": 6.75, "y": 3.5 },
{ "label": "J", "x": 7.75, "y": 3.5 },
{ "label": "K", "x": 8.75, "y": 3.5 },
{ "label": "L", "x": 9.75, "y": 3.5 },
{ "label": ":", "x": 10.75, "y": 3.5 },
{ "label": "\"", "x": 11.75, "y": 3.5 },
{ "label": "Enter", "x": 12.75, "y": 3.5, "w": 2.25 },
{ "label": "Shift", "x": 0, "y": 4.5, "w": 2.25 },
{ "label": "Z", "x": 2.25, "y": 4.5 },
{ "label": "X", "x": 3.25, "y": 4.5 },
{ "label": "C", "x": 4.25, "y": 4.5 },
{ "label": "V", "x": 5.25, "y": 4.5 },
{ "label": "B", "x": 6.25, "y": 4.5 },
{ "label": "N", "x": 7.25, "y": 4.5 },
{ "label": "M", "x": 8.25, "y": 4.5 },
{ "label": "<", "x": 9.25, "y": 4.5 },
{ "label": ">", "x": 10.25, "y": 4.5 },
{ "label": "?", "x": 11.25, "y": 4.5 },
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
{ "label": "\u2191", "x": 16.25, "y": 4.5 },
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
{ "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
{ "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
{ "x": 3.75, "y": 5.5, "w": 6.25 },
{ "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 },
{ "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 },
{ "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
{ "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
{ "label": "\u2190", "x": 15.25, "y": 5.5 },
{ "label": "\u2193", "x": 16.25, "y": 5.5 },
{ "label": "\u2192", "x": 17.25, "y": 5.5 }
]
},
"LAYOUT_tkl_iso": {
"layout": [
{ "label": "Esc", "x": 0, "y": 0 },
{ "label": "F1", "x": 2, "y": 0 },
{ "label": "F2", "x": 3, "y": 0 },
{ "label": "F3", "x": 4, "y": 0 },
{ "label": "F4", "x": 5, "y": 0 },
{ "label": "F5", "x": 6.5, "y": 0 },
{ "label": "F6", "x": 7.5, "y": 0 },
{ "label": "F7", "x": 8.5, "y": 0 },
{ "label": "F8", "x": 9.5, "y": 0 },
{ "label": "F9", "x": 11, "y": 0 },
{ "label": "F10", "x": 12, "y": 0 },
{ "label": "F11", "x": 13, "y": 0 },
{ "label": "F12", "x": 14, "y": 0 },
{ "label": "PrtSc", "x": 15.25, "y": 0 },
{ "label": "Scroll Lock", "x": 16.25, "y": 0 },
{ "label": "Pause", "x": 17.25, "y": 0 },
{ "label": "~", "x": 0, "y": 1.5 },
{ "label": "!", "x": 1, "y": 1.5 },
{ "label": "@", "x": 2, "y": 1.5 },
{ "label": "#", "x": 3, "y": 1.5 },
{ "label": "$", "x": 4, "y": 1.5 },
{ "label": "%", "x": 5, "y": 1.5 },
{ "label": "^", "x": 6, "y": 1.5 },
{ "label": "&", "x": 7, "y": 1.5 },
{ "label": "*", "x": 8, "y": 1.5 },
{ "label": "(", "x": 9, "y": 1.5 },
{ "label": ")", "x": 10, "y": 1.5 },
{ "label": "_", "x": 11, "y": 1.5 },
{ "label": "+", "x": 12, "y": 1.5 },
{ "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
{ "label": "Insert", "x": 15.25, "y": 1.5 },
{ "label": "Home", "x": 16.25, "y": 1.5 },
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
{ "label": "Q", "x": 1.5, "y": 2.5 },
{ "label": "W", "x": 2.5, "y": 2.5 },
{ "label": "E", "x": 3.5, "y": 2.5 },
{ "label": "R", "x": 4.5, "y": 2.5 },
{ "label": "T", "x": 5.5, "y": 2.5 },
{ "label": "Y", "x": 6.5, "y": 2.5 },
{ "label": "U", "x": 7.5, "y": 2.5 },
{ "label": "I", "x": 8.5, "y": 2.5 },
{ "label": "O", "x": 9.5, "y": 2.5 },
{ "label": "P", "x": 10.5, "y": 2.5 },
{ "label": "{", "x": 11.5, "y": 2.5 },
{ "label": "}", "x": 12.5, "y": 2.5 },
{ "label": "Delete", "x": 15.25, "y": 2.5 },
{ "label": "End", "x": 16.25, "y": 2.5 },
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
{ "label": "A", "x": 1.75, "y": 3.5 },
{ "label": "S", "x": 2.75, "y": 3.5 },
{ "label": "D", "x": 3.75, "y": 3.5 },
{ "label": "F", "x": 4.75, "y": 3.5 },
{ "label": "G", "x": 5.75, "y": 3.5 },
{ "label": "H", "x": 6.75, "y": 3.5 },
{ "label": "J", "x": 7.75, "y": 3.5 },
{ "label": "K", "x": 8.75, "y": 3.5 },
{ "label": "L", "x": 9.75, "y": 3.5 },
{ "label": ":", "x": 10.75, "y": 3.5 },
{ "label": "\"", "x": 11.75, "y": 3.5 },
{ "label": "#", "x": 12.75, "y": 3.5 },
{ "label": "Enter", "x": 13.75, "y": 2.5, "w": 1.25, "h": 2 },
{ "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
{ "label": "\\", "x": 1.25, "y": 4.5 },
{ "label": "Z", "x": 2.25, "y": 4.5 },
{ "label": "X", "x": 3.25, "y": 4.5 },
{ "label": "C", "x": 4.25, "y": 4.5 },
{ "label": "V", "x": 5.25, "y": 4.5 },
{ "label": "B", "x": 6.25, "y": 4.5 },
{ "label": "N", "x": 7.25, "y": 4.5 },
{ "label": "M", "x": 8.25, "y": 4.5 },
{ "label": "<", "x": 9.25, "y": 4.5 },
{ "label": ">", "x": 10.25, "y": 4.5 },
{ "label": "?", "x": 11.25, "y": 4.5 },
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
{ "label": "\u2191", "x": 16.25, "y": 4.5 },
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
{ "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
{ "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
{ "x": 3.75, "y": 5.5, "w": 6.25 },
{ "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 },
{ "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 },
{ "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
{ "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
{ "label": "\u2190", "x": 15.25, "y": 5.5 },
{ "label": "\u2193", "x": 16.25, "y": 5.5 },
{ "label": "\u2192", "x": 17.25, "y": 5.5 }
]
},
"LAYOUT_all": {
"layout": [
{ "label": "Esc", "x": 0, "y": 0 },
{ "label": "F1", "x": 2, "y": 0 },
{ "label": "F2", "x": 3, "y": 0 },
{ "label": "F3", "x": 4, "y": 0 },
{ "label": "F4", "x": 5, "y": 0 },
{ "label": "F5", "x": 6.5, "y": 0 },
{ "label": "F6", "x": 7.5, "y": 0 },
{ "label": "F7", "x": 8.5, "y": 0 },
{ "label": "F8", "x": 9.5, "y": 0 },
{ "label": "F9", "x": 11, "y": 0 },
{ "label": "F10", "x": 12, "y": 0 },
{ "label": "F11", "x": 13, "y": 0 },
{ "label": "F12", "x": 14, "y": 0 },
{ "label": "PrtSc", "x": 15.25, "y": 0 },
{ "label": "Scroll Lock", "x": 16.25, "y": 0 },
{ "label": "Pause", "x": 17.25, "y": 0 },
{ "label": "~", "x": 0, "y": 1.5 },
{ "label": "!", "x": 1, "y": 1.5 },
{ "label": "@", "x": 2, "y": 1.5 },
{ "label": "#", "x": 3, "y": 1.5 },
{ "label": "$", "x": 4, "y": 1.5 },
{ "label": "%", "x": 5, "y": 1.5 },
{ "label": "^", "x": 6, "y": 1.5 },
{ "label": "&", "x": 7, "y": 1.5 },
{ "label": "*", "x": 8, "y": 1.5 },
{ "label": "(", "x": 9, "y": 1.5 },
{ "label": ")", "x": 10, "y": 1.5 },
{ "label": "_", "x": 11, "y": 1.5 },
{ "label": "+", "x": 12, "y": 1.5 },
{ "label": "Backspace", "x": 13, "y": 1.5, "w": 2 },
{ "label": "Insert", "x": 15.25, "y": 1.5 },
{ "label": "Home", "x": 16.25, "y": 1.5 },
{ "label": "PgUp", "x": 17.25, "y": 1.5 },
{ "label": "Tab", "x": 0, "y": 2.5, "w": 1.5 },
{ "label": "Q", "x": 1.5, "y": 2.5 },
{ "label": "W", "x": 2.5, "y": 2.5 },
{ "label": "E", "x": 3.5, "y": 2.5 },
{ "label": "R", "x": 4.5, "y": 2.5 },
{ "label": "T", "x": 5.5, "y": 2.5 },
{ "label": "Y", "x": 6.5, "y": 2.5 },
{ "label": "U", "x": 7.5, "y": 2.5 },
{ "label": "I", "x": 8.5, "y": 2.5 },
{ "label": "O", "x": 9.5, "y": 2.5 },
{ "label": "P", "x": 10.5, "y": 2.5 },
{ "label": "{", "x": 11.5, "y": 2.5 },
{ "label": "}", "x": 12.5, "y": 2.5 },
{ "label": "|", "x": 13.5, "y": 2.5, "w": 1.5 },
{ "label": "Delete", "x": 15.25, "y": 2.5 },
{ "label": "End", "x": 16.25, "y": 2.5 },
{ "label": "PgDn", "x": 17.25, "y": 2.5 },
{ "label": "Caps Lock", "x": 0, "y": 3.5, "w": 1.75 },
{ "label": "A", "x": 1.75, "y": 3.5 },
{ "label": "S", "x": 2.75, "y": 3.5 },
{ "label": "D", "x": 3.75, "y": 3.5 },
{ "label": "F", "x": 4.75, "y": 3.5 },
{ "label": "G", "x": 5.75, "y": 3.5 },
{ "label": "H", "x": 6.75, "y": 3.5 },
{ "label": "J", "x": 7.75, "y": 3.5 },
{ "label": "K", "x": 8.75, "y": 3.5 },
{ "label": "L", "x": 9.75, "y": 3.5 },
{ "label": ":", "x": 10.75, "y": 3.5 },
{ "label": "\"", "x": 11.75, "y": 3.5 },
{ "label": "#", "x": 12.75, "y": 3.5 },
{ "label": "Enter", "x": 13.75, "y": 3.5, "w": 1.25 },
{ "label": "Shift", "x": 0, "y": 4.5, "w": 1.25 },
{ "label": "\\", "x": 1.25, "y": 4.5 },
{ "label": "Z", "x": 2.25, "y": 4.5 },
{ "label": "X", "x": 3.25, "y": 4.5 },
{ "label": "C", "x": 4.25, "y": 4.5 },
{ "label": "V", "x": 5.25, "y": 4.5 },
{ "label": "B", "x": 6.25, "y": 4.5 },
{ "label": "N", "x": 7.25, "y": 4.5 },
{ "label": "M", "x": 8.25, "y": 4.5 },
{ "label": "<", "x": 9.25, "y": 4.5 },
{ "label": ">", "x": 10.25, "y": 4.5 },
{ "label": "?", "x": 11.25, "y": 4.5 },
{ "label": "Shift", "x": 12.25, "y": 4.5, "w": 2.75 },
{ "label": "\u2191", "x": 16.25, "y": 4.5 },
{ "label": "Ctrl", "x": 0, "y": 5.5, "w": 1.25 },
{ "label": "Win", "x": 1.25, "y": 5.5, "w": 1.25 },
{ "label": "Alt", "x": 2.5, "y": 5.5, "w": 1.25 },
{ "x": 3.75, "y": 5.5, "w": 6.25 },
{ "label": "Alt", "x": 10, "y": 5.5, "w": 1.25 },
{ "label": "Fn", "x": 11.25, "y": 5.5, "w": 1.25 },
{ "label": "Menu", "x": 12.5, "y": 5.5, "w": 1.25 },
{ "label": "Ctrl", "x": 13.75, "y": 5.5, "w": 1.25 },
{ "label": "\u2190", "x": 15.25, "y": 5.5 },
{ "label": "\u2193", "x": 16.25, "y": 5.5 },
{ "label": "\u2192", "x": 17.25, "y": 5.5 }
]
}
}
}

View File

@@ -1,62 +0,0 @@
/* Copyright 2021 kuenhlee and Don Kjer
*
* 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/>.
*/
#include "k320.h"
/* Private Functions */
void off_all_leds(void) {
writePinHigh(LED_CAPS_LOCK_PIN);
writePinHigh(LED_SCROLL_LOCK_PIN);
writePinHigh(LED_WIN_LOCK_PIN);
writePinHigh(LED_MR_LOCK_PIN);
}
void on_all_leds(void) {
writePinLow(LED_CAPS_LOCK_PIN);
writePinLow(LED_SCROLL_LOCK_PIN);
writePinLow(LED_WIN_LOCK_PIN);
writePinLow(LED_MR_LOCK_PIN);
}
/* WinLock and MR LEDs are non-standard. Need to override led init */
void led_init_ports(void) {
setPinOutput(LED_CAPS_LOCK_PIN);
setPinOutput(LED_SCROLL_LOCK_PIN);
setPinOutput(LED_WIN_LOCK_PIN);
setPinOutput(LED_MR_LOCK_PIN);
off_all_leds();
}
#ifndef WINLOCK_DISABLED
static bool win_key_locked = false;
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_TGUI:
if (record->event.pressed) {
// Toggle GUI lock on key press
win_key_locked = !win_key_locked;
writePin(LED_WIN_LOCK_PIN, !win_key_locked);
}
break;
case KC_LGUI:
if (win_key_locked) { return false; }
break;
}
return process_record_user(keycode, record);
}
#endif /* WINLOCK_DISABLED */

View File

@@ -1,92 +0,0 @@
/* Copyright 2021 kuenhlee and Don Kjer
*
* 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/>.
*/
#pragma once
#include "quantum.h"
#ifndef WINLOCK_DISABLED
// Define the TGUI key here so it is available in QMK configurator
enum K320_keycodes {
KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock
NEW_SAFE_RANGE
};
#undef SAFE_RANGE
#define SAFE_RANGE NEW_SAFE_RANGE
#endif /* WINLOCK_DISABLED */
/* Function Prototype */
void off_all_leds(void);
void on_all_leds(void);
#define XXX KC_NO
// This a shortcut to help you visually see your layout.
#define LAYOUT_tkl_ansi( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K4E, \
K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \
K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E, K3F }, \
{ K40, XXX, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
{ K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \
}
// This a shortcut to help you visually see your layout.
#define LAYOUT_tkl_iso( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K3D, K3E, K3F, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, \
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \
K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, XXX, K2E, K2F }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
{ K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \
}
// This a shortcut to help you visually see your layout.
#define LAYOUT_all( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K2E, K2F, K1F, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K3D, K3E, K3F, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K4E, \
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \
K50, K51, K52, K56, K5A, K5B, K5C, K5D, K5E, K5F, K6F \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, XXX, K1E, K1F }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, XXX, K4D, K4E, K4F }, \
{ K50, K51, K52, XXX, XXX, XXX, K56, XXX, XXX, XXX, K5A, K5B, K5C, K5D, K5E, K5F }, \
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, K6F } \
}

View File

@@ -1,26 +0,0 @@
{
"keyboard": "durgod/k320",
"keymap": "default",
"layout": "LAYOUT_all",
"layers": [
[
"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_PSCR", "KC_SLCK", "KC_PAUS",
"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", "KC_INS", "KC_HOME", "KC_PGUP",
"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_DEL", "KC_END", "KC_PGDN",
"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_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_UP",
"KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_APP", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
],
[
"KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "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_TGUI", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"
]
],
"author":"dkjer",
"notes":"",
"version":1
}

View File

@@ -1,16 +0,0 @@
# The default keymap for Durgod Taurus K320.
Supports both ANSI and ISO layouts.
Layer 0 : Standard 87/88 keys TKL layout (Windows)
Layer 1 : Media control and Windows lock key
- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
- Fn + Windows to toggle Windows lock key functionality
## Windows key lock
You can hold down Fn + Windows key to disable the Windows key while in locked mode.
The 'Lock' LED indicates if the Windows key is locked.
This is similar to the stock K320 Windows key lock functionality.

View File

@@ -1,26 +0,0 @@
{
"keyboard": "durgod/k320",
"keymap": "default_mac",
"layout": "LAYOUT_all",
"layers": [
[
"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_F13", "KC_F14", "KC_F15",
"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", "KC_INS", "KC_HOME", "KC_PGUP",
"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_DEL", "KC_END", "KC_PGDN",
"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_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_UP",
"KC_LCTL", "KC_LALT", "KC_LGUI", "KC_SPC", "KC_RGUI", "KC_RALT", "MO(1)", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
],
[
"KC_TRNS", "KC_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "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"
]
],
"author":"AlCutter",
"notes":"",
"version":1
}

View File

@@ -1,8 +0,0 @@
# The default (Mac) keymap for Durgod Taurus K320.
Supports both ANSI and ISO layouts.
Layer 0 : Standard 87/88 keys TKL layout (Mac)
Layer 1 : Media control
- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7

View File

@@ -1,367 +0,0 @@
/* Copyright 2021 kuenhlee and Don Kjer
*
* 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/>.
*/
#include QMK_KEYBOARD_H
// Layer shorthand
enum _layer {
_WBL,
_WFL,
_WSL,
_MBL,
_MFL,
_MSL
};
#ifndef DEFAULT_LAYOUT
# define DEFAULT_LAYOUT _WBL // Change to _MBL to boot into Mac layout.
#endif
#ifndef ALT_LAYOUT
# define ALT_LAYOUT _MBL // Layout to display 'MR' led when active.
#endif
static bool win_key_locked = false;
static bool mac_media_locked = false;
static bool win_appkey_pressed = false;
static bool mac_fnkey_pressed = false;
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
KC_TGUI = SAFE_RANGE, // Toggle between GUI Lock or Unlock (Windows)
KC_TMED, // Toggle between Fx keys or Media keys (Mac)
KC_WFN, // Windows function key
KC_MFN, // Mac function key
MO_WSL, // Windows system key
MO_MSL, // Mac system key
DF_W2MBL, // Change layout from Windows to Mac
DF_M2WBL // Change layout from Mac to Windows
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _WBL: Windows Base Layer (Default Layer)
* ,-----------------------------------------------------------. ,--------------.
* |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
* |-----------------------------------------------------------| |--------------|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
* |-----------------------------------------------------------| |--------------|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
* |-----------------------------------------------------------| `--------------'
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #|Ret |
* |-----------------------------------------------------------| ,----.
* |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
* |-----------------------------------------------------------| ,-------------.
* |Ctrl|Gui |Alt | Space |Alt |Func |App|Ctrl | |Lft| Dn |Rig |
* `-----------------------------------------------------------' `-------------'
*/
[_WBL] = LAYOUT_all( /* Windows Base Layer */
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_PSCR, KC_SLCK, KC_PAUS,
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, KC_INS, KC_HOME, KC_PGUP,
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_DEL, KC_END, KC_PGDN,
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_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_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_WFN, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Keymap _WFL: Windows Function Layer
* ,-----------------------------------------------------------. ,--------------.
* | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| `--------------'
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,----.
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,-------------.
* | |Lock| | | |Func |Sys| | | | | |
* `-----------------------------------------------------------' `-------------'
*/
[_WFL] = LAYOUT_all( /* Windows First Layer */
_______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_TGUI, _______, _______, _______, _______, MO_WSL, _______, _______, _______, _______
),
/* Keymap _WSL: Windows System Layer
* ,-----------------------------------------------------------. ,--------------.
* |Reset |Sleep| | |Power| | | | | | | | | |MAC| | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| `--------------'
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,----.
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,-------------.
* | | | | | |Func |Sys| | | | | |
* `-----------------------------------------------------------' `-------------'
*/
[_WSL] = LAYOUT_all( /* Windows Second / System Layer */
RESET, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_W2MBL, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
/* Keymap _MBL: Mac Base Layer (Alternate Layout)
* ,-----------------------------------------------------------. ,--------------.
* |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| | f13| f14| f15|
* |-----------------------------------------------------------| |--------------|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
* |-----------------------------------------------------------| |--------------|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del| End|PgDn|
* |-----------------------------------------------------------| `--------------'
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #|Ret |
* |-----------------------------------------------------------| ,----.
* |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
* |-----------------------------------------------------------| ,-------------.
* |Ctrl|Alt |Gui | Space |Gui |Alt|Func |Ctrl | |Lft| Dn |Rig |
* `-----------------------------------------------------------' `-------------'
*/
[_MBL] = LAYOUT_all( /* Mac Base Layer */
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_F13, KC_F14, KC_F15,
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, KC_INS, KC_HOME, KC_PGUP,
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_DEL, KC_END, KC_PGDN,
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_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_UP,
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_MFN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Keymap _MFL: Mac Function Layer
* ,-----------------------------------------------------------. ,--------------.
* | |Bri-|Bri+|MCon|LPad| | | |Prv|Ply| |Nxt|Mute|Vol-|Vol+| |TMed| | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| `--------------'
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,----.
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,-------------.
* | | | | | |Sys|Func | | | | | |
* `-----------------------------------------------------------' `-------------'
*/
[_MFL] = LAYOUT_all( /* Mac First Layer */
_______, KC_BRID, KC_BRIU, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_TMED, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, MO_MSL, _______, _______, _______, _______, _______
),
/* Keymap _MSL: Mac System Layer
* ,-----------------------------------------------------------. ,--------------.
* |Reset | | | |Sleep| | | | | | | | | |WIN| | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| `--------------'
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,----.
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,-------------.
* | | | | | |Sys|Func | | | | | |
* `-----------------------------------------------------------' `-------------'
*/
[_MSL] = LAYOUT_all( /* Mac Second / System Layer */
RESET, XXXXXXX, XXXXXXX, XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DF_M2WBL, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, DEBUG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
};
void unlock_win_key(void) {
win_key_locked = false;
mac_media_locked = false;
writePinHigh(LED_WIN_LOCK_PIN);
}
void toggle_lock_win_key(void) {
win_key_locked = !win_key_locked;
writePin(LED_WIN_LOCK_PIN, !win_key_locked);
}
void toggle_lock_media_key(void) {
mac_media_locked = !mac_media_locked;
writePin(LED_WIN_LOCK_PIN, !mac_media_locked);
}
#ifdef CONSOLE_ENABLE
void dprint_global_layers(void) {
dprint("Global Layers:");
if (IS_LAYER_ON(_WFL)) { dprint(" _WFL"); }
if (IS_LAYER_ON(_WSL)) { dprint(" _WSL"); }
if (IS_LAYER_ON(_MFL)) { dprint(" _MFL"); }
if (IS_LAYER_ON(_MSL)) { dprint(" _MSL"); }
dprintf("\n");
}
void dprint_layers(layer_state_t state) {
dprint("Layers:");
if (IS_LAYER_ON_STATE(state, _WFL)) { dprint(" _WFL"); }
if (IS_LAYER_ON_STATE(state, _WSL)) { dprint(" _WSL"); }
if (IS_LAYER_ON_STATE(state, _MFL)) { dprint(" _MFL"); }
if (IS_LAYER_ON_STATE(state, _MSL)) { dprint(" _MSL"); }
dprintf("\n");
}
#endif
layer_state_t default_layer_state_set_user(layer_state_t state) {
#ifdef CONSOLE_ENABLE
dprintf("default_layer_state_set_user: 0x%x\n", state);
dprint_global_layers();
#endif
// Disable windows key lock on default layer transition.
unlock_win_key();
win_appkey_pressed = false;
mac_fnkey_pressed = false;
writePin(LED_MR_LOCK_PIN, !IS_LAYER_ON_STATE(state, ALT_LAYOUT));
return state;
}
layer_state_t layer_state_set_user(layer_state_t state) {
#ifdef CONSOLE_ENABLE
dprintf("layer_state_set_user: 0x%x\n", state);
dprint_layers(state);
#endif
return state;
}
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case KC_TGUI:
if (!record->event.pressed) {
// Toggle GUI lock on key release
toggle_lock_win_key();
}
break;
case KC_TMED:
// Only trigger when Fn key is also held down, to avoid accidental unlock.
if (!mac_fnkey_pressed) { return false; }
if (!record->event.pressed) {
// Toggle Media Lock on key release
toggle_lock_media_key();
}
break;
case KC_LGUI:
if (win_key_locked) { return false; }
break;
case KC_WFN:
// Like MO(_WFL), but also enables _WSL if KC_APP is already pressed down.
if (record->event.pressed) {
layer_on(_WFL);
if (win_appkey_pressed) {
// Also enable Secondary layer if App key is being held down.
win_appkey_pressed = false;
layer_on(_WSL);
}
} else {
if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
}
break;
case KC_APP:
if (record->event.pressed) {
// Don't actually press down the app menu key
win_appkey_pressed = true;
} else {
if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
if (win_appkey_pressed) {
win_appkey_pressed = false;
// Tap the KC_APP key on key release.
tap_code(KC_APP);
}
}
return false;
break;
case KC_MFN:
// Mac Fn key. Emit Fn keycode, and also transition layers similar to KC_WFN.
if (record->event.pressed) {
mac_fnkey_pressed = true;
layer_on(_MFL);
// Also enable Secondary layer if Right-Alt key is being held down.
if (get_mods() & MOD_BIT(KC_RALT)) {
layer_on(_MSL);
}
} else {
mac_fnkey_pressed = false;
if (!mac_media_locked) {
if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
}
}
break;
case KC_RALT:
// Disable MSL/WFL layer on key-up.
if (!record->event.pressed) {
if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
}
break;
case MO_WSL:
if (record->event.pressed) {
layer_on(_WSL);
} else {
if (IS_LAYER_ON(_WSL)) { layer_off(_WSL); }
if (IS_LAYER_ON(_MFL)) { layer_off(_MFL); }
}
break;
case MO_MSL:
if (record->event.pressed) {
layer_on(_MSL);
} else {
if (IS_LAYER_ON(_MSL)) { layer_off(_MSL); }
if (IS_LAYER_ON(_WFL)) { layer_off(_WFL); }
}
break;
case DF_W2MBL:
if (!record->event.pressed) {
// Switch base layer, but preserve first/secondary layers.
default_layer_set(1UL<<_MBL);
layer_state_set(1UL<<_MFL | 1UL<<_MSL);
}
break;
case DF_M2WBL:
if (!record->event.pressed) {
// Switch base layer, but preserve first/secondary layers.
default_layer_set(1UL<<_WBL);
layer_state_set(1UL<<_WFL | 1UL<<_WSL);
}
break;
case RESET:
if (record->event.pressed) {
// Flash LEDs to indicate bootloader mode is enabled.
on_all_leds();
}
break;
}
return true;
}
void keyboard_post_init_user(void) {
default_layer_set(1UL<<DEFAULT_LAYOUT);
}

View File

@@ -1,65 +0,0 @@
# A keymap for Durgod Taurus K320 that supports toggling between Mac and Windows
Supports both ANSI and ISO layouts.
Layer 0 : Standard 87/88 keys TKL layout (Windows)
Layer 1 : Media control and Windows lock key (Windows)
- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
- Fn + Windows to toggle Windows lock key functionality
Layer 2 : System layer (Windows)
- Fn + Menu + Esc : Bootloader mode
- Fn + Menu + F1 : System Sleep
- Fn + Menu + F4 : Turning Off System
- Fn + Menu + F12 : Switch to Mac layout
Layer 3 : Mac 87/88 keys TKL layout
Layer 4 : Media control and Media lock key (Mac)
- Standard Mac Media keys for Fn + F1 ~ Fn + F12.
- Fn + F13 to toggle Media lock key functionality
Layer 5 : System layer (Mac)
- Fn + R-ALT + Esc : Bootloader mode
- Fn + R-ALT + F4 : Shutdown/Sleep (Hold down on Mac)
- Fn + R-ALT + F12 : Switch to Windows layout
## Toggle between Mac and Windows layout
You can switch between Mac and Windows layout by doing the following:
- Hold down Fn + Menu (Windows Layout) or Fn + Right-Alt (Mac layout) (These are the same physical keys)
- Press F12
The 'M' led will be lit when you are using the alternate layout. By default Mac is the alternate layout.
You can change the default & alternate layout by setting the following flags to either '_WBL'(Windows) or '_MBL' (Mac)
- DEFAULT_LAYOUT (initial layout to use on boot)
- ALT_LAYOUT (layout that will light the 'M' LED when active)
For example, to configure Mac as the default layer, and Windows to be the alternate layout, compile with these flags:
make EXTRAFLAGS="-DDEFAULT_LAYOUT=_MBL -DALT_LAYOUT=_WBL" durgod/k320:default_toggle_mac_windows
## Windows key lock
In windows layout, you can hold down Fn + Windows key to disable the Windows key while in locked mode. The 'Lock' LED
indicates if the Windows key is locked.
This is similar to the stock K320 Windows key lock functionality.
## Mac Media Lock
To switch between Function row and Media row in Mac layout, press Fn + PrtSc. The 'Lock' LED indicator will be lit when in Media row mode.
### Subsequent Flashing
For repeating Flashing you have two options with this keymap:
1. Use BootMagic
- BootMagic Lite has been enabled with Assigned "Esc" key
- Unplug USB Cable
- Holding Esc Button
- Plug in USB Cable, Keyboard should be in ST-Bootloader state
2. Use key combination if using default keymap
- Hold down Fn + Menu (Windows Layout) or Fn + Right-Alt (Mac layout) (These are the same physical keys)
- Press Esc. Keyboard should go into booloader state.

View File

@@ -1 +0,0 @@
OPT_DEFS += -DWINLOCK_DISABLED

View File

@@ -1,145 +0,0 @@
/* Copyright 2021 kuenhlee
*
* 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/>.
*/
#include QMK_KEYBOARD_H
// Layer shorthand
#define _BL 0u
#define _FL 1u // Multimedia Related, Virtual Desktop control
#define _SL 2u // Just for System Related
#define _UL 3u // Unicode Map
#define KC_ADTP LGUI(LCTL(KC_D)) // Adding New Virtual Desktop
#define KC_DDTP LGUI(LCTL(KC_F4)) // Deleting / Removing Current Virtual Desktop
#define KC_NDTP LGUI(LCTL(KC_RGHT)) // Navigate to the Next Virtual Desktop
#define KC_PDTP LGUI(LCTL(KC_LEFT)) // Navigate to the Previous Virtual Desktop
#define KC_WINL LGUI(KC_LEFT) // Snap Windows to Left
#define KC_WINR LGUI(KC_RGHT) // Snap Windows to Right
#define KC_WINU LGUI(KC_UP) // Maximize the Window
#define KC_WIND LGUI(KC_DOWN) // Minimize the desktop window
#define KC_TASK LCTL(LSFT(KC_ESC)) // Launch Task Manager
#define KC_FIND LCTL(LSFT(KC_F)) // Find In Files
#define KC_STOP LCTL(LSFT(KC_HOME)) // Select from Cursor to Home
#define KC_SEND LCTL(LSFT(KC_END)) // Select from Cursor to End
// °±²³µ©ΩθΩ√∞∆≈≠→↓←↑≡■□●○∴«»÷≤≥Σ
// Defines the Enumeration for Unicode Map
enum unicode_names {
DEGR,
PONE,
POW2,
POW3,
MYU,
COPY,
THET,
OHM,
SQRT,
INFI,
DELT,
APPR,
NEQU,
RARR,
DARR,
LARR,
UARR,
SAME,
BSQR,
WSQR,
BDOT,
WDOT,
THFR,
DIV,
LTOE,
MTOE,
DLAR,
DRAR,
SUM,
};
const uint32_t PROGMEM unicode_map[] = {
[DEGR] = 0x00B0, // °
[PONE] = 0x00B1, // ±
[POW2] = 0x00B2, // ²
[POW3] = 0x00B3, // ³
[MYU] = 0x00B5, // µ
[COPY] = 0x00A9, // ©
[THET] = 0x03B8, // θ
[OHM] = 0x2126, // Ω
[SQRT] = 0x221A, // √
[INFI] = 0x221E, // ∞
[DELT] = 0x0394, // ∆
[APPR] = 0x2248, // ≈
[NEQU] = 0x2260, // ≠
[RARR] = 0x2192, // →
[DARR] = 0x2193, // ↓
[LARR] = 0x2190, // ←
[UARR] = 0x2191, // ↑
[SAME] = 0x2261, // ≡
[BSQR] = 0x25A0, // ■
[WSQR] = 0x25A1, // □
[BDOT] = 0x25CF, // ●
[WDOT] = 0x25CB, // ○
[THFR] = 0x2234, // ∴
[DIV] = 0x00F7, // ÷
[LTOE] = 0x2264, // ≤
[MTOE] = 0x2265, // ≥
[DLAR] = 0x00AB, // «
[DRAR] = 0x00BB, // »
[SUM] = 0x03A3 // Σ
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT_tkl_ansi( /* Base Layer */
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_PSCR, KC_SLCK, KC_PAUS,
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, KC_INS, KC_HOME, KC_PGUP,
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_DEL, KC_END, KC_PGDN,
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_ENT,
KC_LSFT, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FL] = LAYOUT_tkl_ansi( /* First Layer */
KC_TRNS, KC_MPLY, KC_MSTP, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_CALC, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ADTP, KC_STOP, KC_PDTP,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TASK, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MSEL, XXXXXXX, XXXXXXX, XXXXXXX, KC_DDTP, KC_SEND, KC_NDTP,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, KC_WHOM, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, KC_MYCM, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAIL, XXXXXXX, XXXXXXX, XXXXXXX, KC_MENU, KC_WINU,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, MO(_SL), KC_TRNS, MO(_UL), XXXXXXX, KC_WINL, KC_WIND, KC_WINR
),
[_SL] = LAYOUT_tkl_ansi( /* Second Layer */
XXXXXXX, KC_SLEP, XXXXXXX, XXXXXXX, KC_PWR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
[_UL] = LAYOUT_tkl_ansi( /* Unicode Layer */
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
X(APPR), X(NEQU), X(POW2), X(POW3), XXXXXXX, XXXXXXX, X(BSQR), X(WSQR), X(INFI), X(BDOT), X(WDOT), XXXXXXX, X(PONE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(SUM), XXXXXXX, X(MYU), X(SAME), XXXXXXX, X(OHM), X(DLAR), X(DRAR), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, X(SQRT), X(DELT), XXXXXXX, XXXXXXX, X(THFR), XXXXXXX, XXXXXXX, XXXXXXX, X(THET), X(DEGR), XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, X(COPY), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, X(LTOE), X(MTOE), X(DIV), XXXXXXX, X(UARR),
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_TRNS, KC_TRNS, XXXXXXX, X(LARR), X(DARR), X(RARR)
)
};
void matrix_init_user(void) {
set_unicode_input_mode(UC_WINC);
}

View File

@@ -1,38 +0,0 @@
# The kuenhlee keymap for Durgod Taurus K320.
Layer 0 : Standard ANSI 87 Keys TKL layout
------------------------------------------
Layer 1 : Media control and Key Modifier for Virtual Desktop navagation
-----------------------------------------------------------------------
- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
- Fn + F12 Remapped to Launch Calculator
- Fn + M To Launch Media Player
- Fn + P To Mail Client
- Fn + G To Launch Web Browswer / Nagivate to Homepage
- Fn + C To Launch My Computer
- Fn + T Launch Task Manager
- Fn + F Find in Files ( Notepad ++ )
- Windows's Virtual Desktop Navigation
- Fn + Ins To add New Virtual Desktop
- Fn + Del To Delete / Remove Current Virtual Desktop
- Fn + PgUp Navigate to the Next Virtual Desktop
- Fn + PgDn Navigate to the Previous Virtual Desktop
- Windows ShortKeys
- Fn + Left Snap Windows to Left
- Fn + Right Snap Windows to Right
- Fn + Up Maximize the Window
- Fn + Down Minimize the desktop window
- Fn + Home Select from Cursor to Home
- Fn + End Select from Cursor to End
Layer 2 : Mainly for Windows Sleep and Shutdown
-----------------------------------------------
- Fn + R-ALT + F1 : System Sleep
- Fn + R-ALT + F4 : Turning Off System
Layer Unicode : Mainly for Predefined Unicode code to work with WinCompose
--------------------------------------------------------------------------
- °±²³µ©ΩθΩ√∞∆≈≠→↓←↑≡■□●○∴«»÷≤≥Σ

View File

@@ -1,4 +0,0 @@
# Build Options
# change yes to no to disable
#
UNICODEMAP_ENABLE = yes # Enable Unicode Map

View File

@@ -1,90 +0,0 @@
/* Copyright 2021 Maxime Coirault
*
* 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/>.
*/
#include QMK_KEYBOARD_H
// Layer shorthand
enum _layer {
_BASE,
_FUNC,
_LAYER3,
_LAYER4
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _BASE: Base Layer (Default Layer)
* ,-----------------------------------------------------------. ,--------------.
* |Esc |f1| f2| f3| f4| | f5| f6| f7| f8| | f9|f10|f11|f12| |Prnt|ScLk|Paus|
* |-----------------------------------------------------------| |--------------|
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0| - | = |Backsp | | Ins|Home|PgUp|
* |-----------------------------------------------------------| |--------------|
* |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | Del| End|PgDn|
* |------------------------------------------------------ Ret | `--------------'
* |CAPS | A| S| D| F| G| H| J| K| L| ;| '| #| |
* |-----------------------------------------------------------| ,----.
* |Shift| \| Z| X| C| V| B| N| M| ,| .| /|Shift | | Up |
* |-----------------------------------------------------------| ,-------------.
* |Ctrl|Gui |Alt | Space |Alt | Fn |App |Ctrl| |Lft| Dn |Rig |
* `-----------------------------------------------------------' `-------------'
*/
[_BASE] = LAYOUT_all( /* Base Layer */
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_PSCR, KC_SLCK, KC_PAUS,
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, KC_INS, KC_HOME, KC_PGUP,
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_DEL, KC_END, KC_PGDN,
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_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_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FUNC),KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
/* Keymap _FUNC: Function Layer
* ,-----------------------------------------------------------. ,--------------.
* | |Play|Stop|Prev|Next| |Mute|Vol+|Vol-| | | | | | | | | | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| |--------------|
* | | | | | | | | | | | | | | | | | | |
* |------------------------------------------------------- | `--------------'
* | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,----.
* | | | | | | | | | | | | | | | |
* |-----------------------------------------------------------| ,-------------.
* | | | | | |Func | | | | | | |
* `-----------------------------------------------------------' `-------------'
*/
[_FUNC] = LAYOUT_all( /* Function Layer */
_______, KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_LAYER3] = LAYOUT_all( /* Layer 3 */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_LAYER4] = LAYOUT_all( /* Layer 4 */
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -1,12 +0,0 @@
# The default keymap for Durgod Taurus K320.
Layer 0 : Standard 87/88 keys TKL layout
Layer 1 : Media control
- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
## Supported PCBs
This firmware was tested on a Durgod K320 ISO with the PCB marked "DGK320ST-Single v1.0 HS20181227".
The pcb features switch holes for ANSI layout, so this firmware might be compatible with with the Durgod K320 ANSI.

View File

@@ -1,4 +0,0 @@
OPT_DEFS += -DWINLOCK_DISABLED
VIA_ENABLE = yes
LTO_ENABLE = yes

View File

@@ -1,57 +1,4 @@
# K320
This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key) keyboard without backlight.
See: [K320](../k3x0/k320/readme.md)
* Keyboard Maintainer: [dkjer](https://github.com/dkjer)
* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6
* Hardware Availability: https://www.durgod.com/page9?product_id=47&_l=en
## Instructions
### Build
Make command example for this keyboard (after setting up your build environment):
make durgod/k320:default
Flashing example for this keyboard:
make durgod/k320:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
### Initial Flash
For first Flashing from initial Stock's Firmware
1. Back up original Firmware Image:
- Unplug
- Short Boot0 to Vdd (See below)
- Plug In USB
- Make a Flash Image's Backup in case you wanted to restore the Keyboard to Stock's Image:
- Using DFUseDemo.exe from ST's STSW-STM32080: https://www.st.com/en/development-tools/stsw-stm32080.html
- Using dfu-util:
dfu-util --list
dfu-util --alt 0 --dfuse-address 0x08000000 --upload ${OLD_STOCK_BIN}
2. Flash the QMK Firmware Image.
- Put board into Bootloader mode, using the same method as when backing up the original Firmware (above)
- Here are a few options for performing the initial Flash:
- Using [QMK Toolbox](https://github.com/qmk/qmk_toolbox)
- Using DFuseDemo.exe if STTub30 driver is used.
- Using dfu-util:
dfu-util --alt 0 --dfuse-address 0x08000000 --download ${NEW_QMK_BIN}
You can short Boot0 to Vdd by shorting R21 to C27 on the sides closest to the processor, as shown:
<img src="https://i.imgur.com/hvDnw5a.jpg" width="520" height="693" alt="Shorting Boot0 to Vdd on K320">
### Subsequent Flashing
For repeating Flashing you can use BootMagic:
- BootMagic Lite has been enabled with Assigned "Esc" key
- Unplug USB Cable
- Holding Esc Button
- Plug in USB Cable, Keyboard should be in ST-Bootloader state

View File

@@ -1,29 +1 @@
# MCU name
# Actually F070, but close enough
MCU = STM32F072
BOARD = DURGOD_STM32_F070
# Bootloader selection
BOOTLOADER = stm32-dfu
# Do not put the microcontroller into power saving mode
OPT_DEFS += -DNO_SUSPEND_POWER_DOWN
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = yes # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output
LAYOUTS = tkl_ansi tkl_iso
DEFAULT_FOLDER=durgod/k3x0/k320