Durgod K310/K320 Refactor (#18224)
This commit is contained in:
		
							parent
							
								
									1fd8a45dde
								
							
						
					
					
						commit
						e64ec530cd
					
				
					 55 changed files with 492 additions and 390 deletions
				
			
		
							
								
								
									
										56
									
								
								keyboards/durgod/k310/base/config.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								keyboards/durgod/k310/base/config.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,56 @@
 | 
				
			||||||
 | 
					/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman
 | 
				
			||||||
 | 
					 * Copyright 2021 Simon Arlott
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define WAIT_US_TIMER           GPTD3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* key matrix size */
 | 
				
			||||||
 | 
					#define MATRIX_ROWS 8
 | 
				
			||||||
 | 
					#define MATRIX_COLS 16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6, A7 }
 | 
				
			||||||
 | 
					#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_NUM_LOCK_PIN    C8
 | 
				
			||||||
 | 
					#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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Original hardware "reset" button on pin D2 */
 | 
				
			||||||
 | 
					#define HARDWARE_RESET_PIN  D2
 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
# Taurus K310
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Base Model - no backlight leds
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
See: [K310](../../k3x0/k310/base/readme.md)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +1,23 @@
 | 
				
			||||||
DEFAULT_FOLDER=durgod/k3x0/k310/base
 | 
					# MCU name
 | 
				
			||||||
 | 
					# Actually F070, but close enough
 | 
				
			||||||
 | 
					MCU = STM32F072
 | 
				
			||||||
 | 
					BOARD = DURGOD_STM32_F070
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Bootloader selection
 | 
				
			||||||
 | 
					BOOTLOADER = stm32-dfu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   change yes to no to disable
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					NKRO_ENABLE = yes           # Enable N-Key Rollover
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
				
			||||||
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
 | 
					LTO_ENABLE = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LAYOUTS = fullsize_ansi fullsize_iso
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,7 +15,7 @@
 | 
				
			||||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
					 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "k3x0.h"
 | 
					#include "k310.h"
 | 
				
			||||||
#include <ch.h>
 | 
					#include <ch.h>
 | 
				
			||||||
#include <hal.h>
 | 
					#include <hal.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,6 +17,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define XXX KC_NO
 | 
					#define XXX KC_NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// This a shortcut to help you visually see your layout.
 | 
					// This a shortcut to help you visually see your layout.
 | 
				
			||||||
| 
						 | 
					@ -76,3 +78,23 @@
 | 
				
			||||||
    { XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  K77,  K78,  K79,  K7A,  K7B,  K7C,  K7D,  K7E,  K7F }   \
 | 
					    { XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  K77,  K78,  K79,  K7A,  K7B,  K7C,  K7D,  K7E,  K7F }   \
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef WINLOCK_DISABLED
 | 
				
			||||||
 | 
					// Define the TGUI key here so it is available in QMK configurator
 | 
				
			||||||
 | 
					enum K3x0_keycodes {
 | 
				
			||||||
 | 
					#ifdef VIA_ENABLE
 | 
				
			||||||
 | 
					    KC_TGUI = USER00,   // Toggle between GUI Lock or Unlock
 | 
				
			||||||
 | 
					    NEW_SAFE_RANGE = SAFE_RANGE
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					    KC_TGUI = SAFE_RANGE,   // Toggle between GUI Lock or Unlock
 | 
				
			||||||
 | 
					    NEW_SAFE_RANGE
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#undef SAFE_RANGE
 | 
				
			||||||
 | 
					#define SAFE_RANGE NEW_SAFE_RANGE
 | 
				
			||||||
 | 
					#endif /* WINLOCK_DISABLED */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Function Prototype */
 | 
				
			||||||
 | 
					void off_all_leds(void);
 | 
				
			||||||
 | 
					void on_all_leds(void);
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "keyboard": "durgod/k3x0",
 | 
					  "keyboard": "durgod/k310/base",
 | 
				
			||||||
  "keymap": "default",
 | 
					  "keymap": "default",
 | 
				
			||||||
  "layout": "LAYOUT_all",
 | 
					  "layout": "LAYOUT_all",
 | 
				
			||||||
  "layers": [
 | 
					  "layers": [
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "keyboard": "durgod/k3x0",
 | 
					  "keyboard": "durgod/k310/base",
 | 
				
			||||||
  "keymap": "default_mac",
 | 
					  "keymap": "default_mac",
 | 
				
			||||||
  "layout": "LAYOUT_all",
 | 
					  "layout": "LAYOUT_all",
 | 
				
			||||||
  "layers": [
 | 
					  "layers": [
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,29 @@
 | 
				
			||||||
# K310
 | 
					# Taurus K310
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See: [K310](../k3x0/k310/readme.md)
 | 
					This code is shared between all K310 variants.  Currently only the base model with no backlight is supported.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is a standard off-the-shelf Durgod Taurus K310 full-sized 104/105-key
 | 
				
			||||||
 | 
					keyboard without backlight.  This supports both the ANSI and ISO variants.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
 | 
				
			||||||
 | 
					* Hardware Supported: [Durgod Taurus K310 board with STM32F070RBT6](https://www.durgod.com/page9?product_id=53&_l=en "Durgod.com Product Page")
 | 
				
			||||||
 | 
					* Hardware Availability: [Amazon.com](https://www.amazon.com/Durgod-Taurus-K310-Mechanical-Keyboard/dp/B07TXB4XF3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Instructions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Make command example for this keyboard (after setting up your build environment):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make durgod/k310/base:default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Flashing example for this keyboard:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make durgod/k310/base: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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Instructions for Flashing from initial Stock Firmware:
 | 
				
			||||||
 | 
					* [Initial Flashing](../k3x0/readme.md#initial-flash)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
DEFAULT_FOLDER=durgod/k3x0/k310
 | 
					 | 
				
			||||||
| 
						 | 
					@ -21,9 +21,11 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define WAIT_US_TIMER           GPTD3
 | 
					#define WAIT_US_TIMER           GPTD3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* key matrix size (rows in specific keyboard variant) */
 | 
					/* key matrix size */
 | 
				
			||||||
 | 
					#define MATRIX_ROWS 7
 | 
				
			||||||
#define MATRIX_COLS 16
 | 
					#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 }
 | 
					#define MATRIX_COL_PINS { C4, C5, B0, B1, B2, B10, B11, B12, B13, B14, B15, C6, C7, C10, C11, C12 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* COL2ROW, ROW2COL*/
 | 
					/* COL2ROW, ROW2COL*/
 | 
				
			||||||
| 
						 | 
					@ -1,6 +0,0 @@
 | 
				
			||||||
# Taurus K320
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Base Model - no backlight leds
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
See: [K320](../../k3x0/k320/base/readme.md)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +1,23 @@
 | 
				
			||||||
DEFAULT_FOLDER=durgod/k3x0/k320/base
 | 
					# MCU name
 | 
				
			||||||
 | 
					# Actually F070, but close enough
 | 
				
			||||||
 | 
					MCU = STM32F072
 | 
				
			||||||
 | 
					BOARD = DURGOD_STM32_F070
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Bootloader selection
 | 
				
			||||||
 | 
					BOOTLOADER = stm32-dfu
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Build Options
 | 
				
			||||||
 | 
					#   change yes to no to disable
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					NKRO_ENABLE = yes           # Enable N-Key Rollover
 | 
				
			||||||
 | 
					BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
				
			||||||
 | 
					RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
				
			||||||
 | 
					AUDIO_ENABLE = no           # Audio output
 | 
				
			||||||
 | 
					LTO_ENABLE = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LAYOUTS = tkl_ansi tkl_iso
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
/* Copyright 2021 Don Kjer
 | 
					/* Copyright 2021 Simon Arlott
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This program is free software: you can redistribute it and/or modify
 | 
					 * 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
 | 
					 * it under the terms of the GNU General Public License as published by
 | 
				
			||||||
| 
						 | 
					@ -16,4 +16,9 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "config_common.h"
 | 
					#define HAL_USE_PAL                 TRUE
 | 
				
			||||||
 | 
					#define PAL_USE_CALLBACKS           TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define HAL_USE_GPT                 TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include_next <halconf.h>
 | 
				
			||||||
| 
						 | 
					@ -202,7 +202,7 @@
 | 
				
			||||||
                { "label": "\u2192", "x": 17.25, "y": 5.5 }
 | 
					                { "label": "\u2192", "x": 17.25, "y": 5.5 }
 | 
				
			||||||
            ]
 | 
					            ]
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "LAYOUT_tkl": {
 | 
					        "LAYOUT_all": {
 | 
				
			||||||
            "layout": [
 | 
					            "layout": [
 | 
				
			||||||
                { "label": "Esc", "x": 0, "y": 0 },
 | 
					                { "label": "Esc", "x": 0, "y": 0 },
 | 
				
			||||||
                { "label": "F1", "x": 2, "y": 0 },
 | 
					                { "label": "F1", "x": 2, "y": 0 },
 | 
				
			||||||
| 
						 | 
					@ -299,121 +299,6 @@
 | 
				
			||||||
                { "label": "\u2193", "x": 16.25, "y": 5.5 },
 | 
					                { "label": "\u2193", "x": 16.25, "y": 5.5 },
 | 
				
			||||||
                { "label": "\u2192", "x": 17.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": "Num Lock", "x": 18.5, "y": 1.5 },
 | 
					 | 
				
			||||||
                { "label": "/", "x": 19.5, "y": 1.5 },
 | 
					 | 
				
			||||||
                { "label": "*", "x": 20.5, "y": 1.5 },
 | 
					 | 
				
			||||||
                { "label": "-", "x": 21.5, "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": "7", "x": 18.5, "y": 2.5 },
 | 
					 | 
				
			||||||
                { "label": "8", "x": 19.5, "y": 2.5 },
 | 
					 | 
				
			||||||
                { "label": "9", "x": 20.5, "y": 2.5 },
 | 
					 | 
				
			||||||
                { "label": "+", "x": 21.5, "y": 2.5, "h": 2 },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                { "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": "4", "x": 18.5, "y": 3.5 },
 | 
					 | 
				
			||||||
                { "label": "5", "x": 19.5, "y": 3.5 },
 | 
					 | 
				
			||||||
                { "label": "6", "x": 20.5, "y": 3.5 },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                { "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": "1", "x": 18.5, "y": 4.5 },
 | 
					 | 
				
			||||||
                { "label": "2", "x": 19.5, "y": 4.5 },
 | 
					 | 
				
			||||||
                { "label": "3", "x": 20.5, "y": 4.5 },
 | 
					 | 
				
			||||||
                { "label": "Enter", "x": 21.5, "y": 4.5, "h": 2 },
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                { "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 },
 | 
					 | 
				
			||||||
                { "label": "0", "x": 18.5, "y": 5.5, "w": 2 },
 | 
					 | 
				
			||||||
                { "label": ".", "x": 20.5, "y": 5.5 }
 | 
					 | 
				
			||||||
            ]
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										96
									
								
								keyboards/durgod/k320/k320.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								keyboards/durgod/k320/k320.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,96 @@
 | 
				
			||||||
 | 
					/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman
 | 
				
			||||||
 | 
					 * Copyright 2021 Simon Arlott
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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"
 | 
				
			||||||
 | 
					#include <ch.h>
 | 
				
			||||||
 | 
					#include <hal.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Private Functions */
 | 
				
			||||||
 | 
					void off_all_leds(void) {
 | 
				
			||||||
 | 
					#ifdef LED_NUM_LOCK_PIN
 | 
				
			||||||
 | 
					    writePinHigh(LED_NUM_LOCK_PIN);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					    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) {
 | 
				
			||||||
 | 
					#ifdef LED_NUM_LOCK_PIN
 | 
				
			||||||
 | 
					    writePinLow(LED_NUM_LOCK_PIN);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					    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) {
 | 
				
			||||||
 | 
					#ifdef LED_NUM_LOCK_PIN
 | 
				
			||||||
 | 
					    setPinOutput(LED_NUM_LOCK_PIN);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					    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 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef HW_RESET_PIN_DISABLED
 | 
				
			||||||
 | 
					static void hardware_reset_cb(void *arg) {
 | 
				
			||||||
 | 
					    chSysLockFromISR();
 | 
				
			||||||
 | 
					    bootloader_jump();
 | 
				
			||||||
 | 
					    chSysUnlockFromISR();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void keyboard_pre_init_kb(void) {
 | 
				
			||||||
 | 
					    setPinInputHigh(HARDWARE_RESET_PIN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef HW_RESET_PIN_DISABLED
 | 
				
			||||||
 | 
					    /* Jump to bootloader when the hardware reset button is pressed */
 | 
				
			||||||
 | 
					    palEnablePadEvent(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), PAL_EVENT_MODE_FALLING_EDGE);
 | 
				
			||||||
 | 
					    palSetPadCallback(PAL_PORT(HARDWARE_RESET_PIN), PAL_PAD(HARDWARE_RESET_PIN), hardware_reset_cb, NULL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* The interrupt is edge-triggered so check that it's not already pressed */
 | 
				
			||||||
 | 
					    if (!readPin(HARDWARE_RESET_PIN)) {
 | 
				
			||||||
 | 
					        bootloader_jump();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -17,6 +17,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "quantum.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define XXX KC_NO
 | 
					#define XXX KC_NO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// This a shortcut to help you visually see your layout.
 | 
					// This a shortcut to help you visually see your layout.
 | 
				
			||||||
| 
						 | 
					@ -56,7 +58,7 @@
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// This a shortcut to help you visually see your layout.
 | 
					// This a shortcut to help you visually see your layout.
 | 
				
			||||||
#define LAYOUT_tkl( \
 | 
					#define LAYOUT_all( \
 | 
				
			||||||
      K00,        K01,  K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,      K0D,  K0E,  K0F,  \
 | 
					      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,  \
 | 
					      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,  \
 | 
					      K20,  K21,  K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K2A,  K2B,  K2C,  K2D,      K3D,  K3E,  K3F,  \
 | 
				
			||||||
| 
						 | 
					@ -73,20 +75,23 @@
 | 
				
			||||||
    { XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  K6F }   \
 | 
					    { 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( \
 | 
					#ifndef WINLOCK_DISABLED
 | 
				
			||||||
      K00,        K01,  K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,      K0D,  K0E,  K0F,                          \
 | 
					// Define the TGUI key here so it is available in QMK configurator
 | 
				
			||||||
      K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  K18,  K19,  K1A,  K1B,  K1C,  K1E,      K2E,  K2F,  K1F,      K6A, K69, K68, K67, \
 | 
					enum K3x0_keycodes {
 | 
				
			||||||
      K20,  K21,  K22,  K23,  K24,  K25,  K26,  K27,  K28,  K29,  K2A,  K2B,  K2C,  K2D,      K3D,  K3E,  K3F,      K7A, K79, K78, K6B, \
 | 
					#ifdef VIA_ENABLE
 | 
				
			||||||
      K30,  K31,  K32,  K33,  K34,  K35,  K36,  K37,  K38,  K39,  K3A,  K3B,  K3C,  K4E,                            K7E, K7D, K7C,      \
 | 
					    KC_TGUI = USER00,   // Toggle between GUI Lock or Unlock
 | 
				
			||||||
      K40,  K41,  K42,  K43,  K44,  K45,  K46,  K47,  K48,  K49,  K4A,  K4B,        K4D,            K4F,            K6E, K6D, K6C, K7B, \
 | 
					    NEW_SAFE_RANGE = SAFE_RANGE
 | 
				
			||||||
      K50,  K51,  K52,                    K56,                    K5A,  K5B,  K5C,  K5D,      K5E,  K5F,  K6F,      K7F,      K77       \
 | 
					#else
 | 
				
			||||||
) { \
 | 
					    KC_TGUI = SAFE_RANGE,   // Toggle between GUI Lock or Unlock
 | 
				
			||||||
    { K00,  K01,  K02,  K03,  K04,  K05,  K06,  K07,  K08,  K09,  K0A,  K0B,  K0C,  K0D,  K0E,  K0F },  \
 | 
					    NEW_SAFE_RANGE
 | 
				
			||||||
    { K10,  K11,  K12,  K13,  K14,  K15,  K16,  K17,  K18,  K19,  K1A,  K1B,  K1C,  XXX,  K1E,  K1F },  \
 | 
					#endif
 | 
				
			||||||
    { 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 },  \
 | 
					#undef SAFE_RANGE
 | 
				
			||||||
    { K50,  K51,  K52,  XXX,  XXX,  XXX,  K56,  XXX,  XXX,  XXX,  K5A,  K5B,  K5C,  K5D,  K5E,  K5F },  \
 | 
					#define SAFE_RANGE NEW_SAFE_RANGE
 | 
				
			||||||
    { XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  XXX,  K67,  K68,  K69,  K6A,  K6B,  K6C,  K6D,  K6E,  K6F }   \
 | 
					#endif /* WINLOCK_DISABLED */
 | 
				
			||||||
}
 | 
					
 | 
				
			||||||
 | 
					/* Function Prototype */
 | 
				
			||||||
 | 
					void off_all_leds(void);
 | 
				
			||||||
 | 
					void on_all_leds(void);
 | 
				
			||||||
							
								
								
									
										26
									
								
								keyboards/durgod/k320/keymaps/default/keymap.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								keyboards/durgod/k320/keymaps/default/keymap.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "keyboard": "durgod/k320/base",
 | 
				
			||||||
 | 
					  "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_MPLY", "KC_MSTP", "KC_MPRV", "KC_MNXT", "KC_MUTE", "KC_VOLD", "KC_VOLU", "_______", "_______", "_______", "_______", "_______",    "_______", "_______", "_______",
 | 
				
			||||||
 | 
					      "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",    "_______", "_______", "_______",
 | 
				
			||||||
 | 
					      "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",    "_______", "_______", "_______",
 | 
				
			||||||
 | 
					      "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
 | 
				
			||||||
 | 
					      "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",            "_______",               "_______",
 | 
				
			||||||
 | 
					      "_______", "KC_TGUI", "_______",                                  "_______",                                  "_______", "_______", "_______", "_______",    "_______", "_______", "_______"
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "author": "tylert",
 | 
				
			||||||
 | 
					  "notes": "",
 | 
				
			||||||
 | 
					  "version": 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										16
									
								
								keyboards/durgod/k320/keymaps/default/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								keyboards/durgod/k320/keymaps/default/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,16 @@
 | 
				
			||||||
 | 
					# The default keymap for Durgod Taurus K3X0 (K310, K320, etc.) without backlight
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Supports both ANSI and ISO layouts.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Layer 0 : Standard 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 K310/K320 Windows key lock functionality.
 | 
				
			||||||
							
								
								
									
										26
									
								
								keyboards/durgod/k320/keymaps/default_mac/keymap.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								keyboards/durgod/k320/keymaps/default_mac/keymap.json
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "keyboard": "durgod/k310/base",
 | 
				
			||||||
 | 
					  "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
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										8
									
								
								keyboards/durgod/k320/keymaps/default_mac/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								keyboards/durgod/k320/keymaps/default_mac/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,8 @@
 | 
				
			||||||
 | 
					# 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
 | 
				
			||||||
							
								
								
									
										92
									
								
								keyboards/durgod/k320/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								keyboards/durgod/k320/keymaps/via/keymap.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,92 @@
 | 
				
			||||||
 | 
					/* Copyright 2021 Maxime Coirault, Don Kjer, Tyler Tidman
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * 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,
 | 
				
			||||||
 | 
					    _FN,
 | 
				
			||||||
 | 
					    _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│ │PSc│Slk│Pse│
 | 
				
			||||||
 | 
					   * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
 | 
				
			||||||
 | 
					   * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
 | 
				
			||||||
 | 
					   * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Ins│Hom│PgU│
 | 
				
			||||||
 | 
					   * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
 | 
				
			||||||
 | 
					   * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │  \  │ │Del│End│PgD│
 | 
				
			||||||
 | 
					   * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ └───┴───┴───┘
 | 
				
			||||||
 | 
					   * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Entr│
 | 
				
			||||||
 | 
					   * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤     ┌───┐
 | 
				
			||||||
 | 
					   * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │    Shift │     │ ↑ │
 | 
				
			||||||
 | 
					   * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐
 | 
				
			||||||
 | 
					   * │Ctrl│GUI │Alt │                        │ Alt│Func│ App│Ctrl│ │ ← │ ↓ │ → │
 | 
				
			||||||
 | 
					   * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  [_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(_FN), KC_APP,  KC_RCTL,    KC_LEFT, KC_DOWN, KC_RGHT
 | 
				
			||||||
 | 
					  ),
 | 
				
			||||||
 | 
					  /* Keymap _FN: Function Layer
 | 
				
			||||||
 | 
					   * ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
 | 
				
			||||||
 | 
					   * │   │   │Ply│Stp│Prv│Nxt│ │Mut│Vo+│Vo-│   │ │   │   │   │   │ │   │   │   │
 | 
				
			||||||
 | 
					   * └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘
 | 
				
			||||||
 | 
					   * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
 | 
				
			||||||
 | 
					   * │   │   │   │   │   │   │   │   │   │   │   │   │   │       │ │   │   │   │
 | 
				
			||||||
 | 
					   * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤
 | 
				
			||||||
 | 
					   * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │ │   │   │   │
 | 
				
			||||||
 | 
					   * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤ └───┴───┴───┘
 | 
				
			||||||
 | 
					   * │      │   │   │   │   │   │   │   │   │   │   │   │   │    │
 | 
				
			||||||
 | 
					   * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤     ┌───┐
 | 
				
			||||||
 | 
					   * │    │   │   │   │   │   │   │   │   │   │   │   │          │     │   │
 | 
				
			||||||
 | 
					   * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐
 | 
				
			||||||
 | 
					   * │    │Lock│    │                        │    │Func│ Sys│    │ │   │   │   │
 | 
				
			||||||
 | 
					   * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					  [_FN] = LAYOUT_all( /* Function Layer */
 | 
				
			||||||
 | 
					      _______,          KC_MPLY, KC_MSTP, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______, _______,    _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,             _______,
 | 
				
			||||||
 | 
					      _______, KC_TGUI, _______,                            _______,                            _______, _______, _______, _______,    _______, _______, _______
 | 
				
			||||||
 | 
					  ),
 | 
				
			||||||
 | 
					  [_LAYER3] = LAYOUT_all( /* Layer 3 */
 | 
				
			||||||
 | 
					      _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,             _______,
 | 
				
			||||||
 | 
					      _______, _______, _______,                            _______,                            _______, _______, _______, _______,    _______, _______, _______
 | 
				
			||||||
 | 
					  ),
 | 
				
			||||||
 | 
					  [_LAYER4] = LAYOUT_all( /* Layer 4 */
 | 
				
			||||||
 | 
					      _______,          _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,    _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
 | 
				
			||||||
 | 
					      _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,          _______,             _______,
 | 
				
			||||||
 | 
					      _______, _______, _______,                            _______,                            _______, _______, _______, _______,    _______, _______, _______
 | 
				
			||||||
 | 
					  )
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
							
								
								
									
										6
									
								
								keyboards/durgod/k320/keymaps/via/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								keyboards/durgod/k320/keymaps/via/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					# The via keymap for Durgod Taurus K310/K320.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Layer 0 : Standard layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Layer 1 : Media control
 | 
				
			||||||
 | 
					- Reusing Durgod's Original Media Control for Fn + F1 ~ Fn + F7
 | 
				
			||||||
							
								
								
									
										1
									
								
								keyboards/durgod/k320/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/durgod/k320/keymaps/via/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1 @@
 | 
				
			||||||
 | 
					VIA_ENABLE = yes
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,29 @@
 | 
				
			||||||
# K320
 | 
					# Taurus K320
 | 
				
			||||||
 | 
					
 | 
				
			||||||
See: [K320](../k3x0/k320/readme.md)
 | 
					This code is shared between all K320 variants.  Currently only the base model with no backlight is supported.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key)
 | 
				
			||||||
 | 
					keyboard without backlight.  This supports both the ANSI and ISO variants.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
 | 
				
			||||||
 | 
					* Hardware Supported: [Durgod Taurus K320 board with STM32F070RBT6](https://www.durgod.com/page9?product_id=47&_l=en "Durgod.com Product Page")
 | 
				
			||||||
 | 
					* Hardware Availability: [Amazon.com](https://www.amazon.com/Durgod-Taurus-Corona-Mechanical-Keyboard/dp/B078H3WPHM)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Instructions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Make command example for this keyboard (after setting up your build environment):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make durgod/k3x0/k320/base:default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Flashing example for this keyboard:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    make durgod/k3x0/k320/base: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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Instructions for Flashing from initial Stock Firmware:
 | 
				
			||||||
 | 
					* [Initial Flashing](../k3x0/readme.md#initial-flash)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
DEFAULT_FOLDER=durgod/k3x0/k320
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,27 +0,0 @@
 | 
				
			||||||
# K310
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This is a standard off-the-shelf Durgod Taurus K310 full-sized 104/105-key
 | 
					 | 
				
			||||||
keyboard without backlight.  This supports both the ANSI and ISO variants.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
 | 
					 | 
				
			||||||
* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6
 | 
					 | 
				
			||||||
* Hardware Availability: K310 https://www.durgod.com/page9?product_id=53&_l=en
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## Instructions
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Build
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Make command example for this keyboard (after setting up your build environment):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    make durgod/k310:default
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Flashing example for this keyboard:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    make durgod/k310: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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Instructions for Flashing from initial Stock Firmware:
 | 
					 | 
				
			||||||
* [Initial Flashing](../../readme.md#initial-flash)
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
# see common rules.mk
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,28 +0,0 @@
 | 
				
			||||||
/* Copyright 2021 Don Kjer and Tyler Tidman
 | 
					 | 
				
			||||||
 * Copyright 2021 Simon Arlott
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * 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"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* key matrix size (cols in generic keyboard config) */
 | 
					 | 
				
			||||||
#define MATRIX_ROWS 8
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6, A7 }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* LED indicator pins */
 | 
					 | 
				
			||||||
#define LED_NUM_LOCK_PIN    C8
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,10 +0,0 @@
 | 
				
			||||||
# Taurus K310
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This code is shared between all K310 variants.  Currently only the base model with no backlight is supported.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
 | 
					 | 
				
			||||||
* Hardware Supported: Durgod Taurus K310 board with STM32F070RBT6
 | 
					 | 
				
			||||||
* Hardware Availability: Base https://www.durgod.com/page9?product_id=53&_l=en
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Instructions for building the K310 firmware can be found here:
 | 
					 | 
				
			||||||
* [No Backlight](base/readme.md)
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
# Default to the base model
 | 
					 | 
				
			||||||
DEFAULT_FOLDER=durgod/k3x0/k310/base
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
LAYOUTS = fullsize_ansi fullsize_iso
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,19 +0,0 @@
 | 
				
			||||||
/* Copyright 2021 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"
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,27 +0,0 @@
 | 
				
			||||||
# K320
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This is a standard off-the-shelf Durgod Taurus K320 TKL (87/88-key)
 | 
					 | 
				
			||||||
keyboard without backlight.  This supports both the ANSI and ISO variants.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
 | 
					 | 
				
			||||||
* 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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Instructions for Flashing from initial Stock Firmware:
 | 
					 | 
				
			||||||
* [Initial Flashing](../../readme.md#initial-flash)
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1 +0,0 @@
 | 
				
			||||||
# see common rules.mk
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,25 +0,0 @@
 | 
				
			||||||
/* Copyright 2021 Don Kjer and Tyler Tidman
 | 
					 | 
				
			||||||
 * Copyright 2021 Simon Arlott
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * 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"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* key matrix size (cols in generic keyboard config) */
 | 
					 | 
				
			||||||
#define MATRIX_ROWS 7
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#define MATRIX_ROW_PINS { A0, A1, A2, A3, A4, A5, A6 }
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,10 +0,0 @@
 | 
				
			||||||
# Taurus K320
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
This code is shared between all K320 variants.  Currently only the base model with no backlight is supported.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
 | 
					 | 
				
			||||||
* Hardware Supported: Durgod Taurus K320 board with STM32F070RBT6
 | 
					 | 
				
			||||||
* Hardware Availability: Base https://www.amazon.com/Durgod-Taurus-Corona-Mechanical-Keyboard/dp/B078H3WPHM
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Instructions for building the K320 firmware can be found here:
 | 
					 | 
				
			||||||
* [No Backlight](base/readme.md)
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,4 +0,0 @@
 | 
				
			||||||
# Default to the base model
 | 
					 | 
				
			||||||
DEFAULT_FOLDER=durgod/k3x0/k320/base
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
LAYOUTS = tkl_ansi tkl_iso
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,47 +0,0 @@
 | 
				
			||||||
/* Copyright 2021 kuenhlee, Don Kjer, Tyler Tidman
 | 
					 | 
				
			||||||
 * Copyright 2021 Simon Arlott
 | 
					 | 
				
			||||||
 *
 | 
					 | 
				
			||||||
 * 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"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifdef KEYBOARD_durgod_k3x0_k310
 | 
					 | 
				
			||||||
#   include "k310.h"
 | 
					 | 
				
			||||||
#elif KEYBOARD_durgod_k3x0_k320
 | 
					 | 
				
			||||||
#   include "k320.h"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef WINLOCK_DISABLED
 | 
					 | 
				
			||||||
// Define the TGUI key here so it is available in QMK configurator
 | 
					 | 
				
			||||||
enum K3x0_keycodes {
 | 
					 | 
				
			||||||
#ifdef VIA_ENABLE
 | 
					 | 
				
			||||||
    KC_TGUI = USER00,   // Toggle between GUI Lock or Unlock
 | 
					 | 
				
			||||||
    NEW_SAFE_RANGE = SAFE_RANGE
 | 
					 | 
				
			||||||
#else
 | 
					 | 
				
			||||||
    KC_TGUI = SAFE_RANGE,   // Toggle between GUI Lock or Unlock
 | 
					 | 
				
			||||||
    NEW_SAFE_RANGE
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#undef SAFE_RANGE
 | 
					 | 
				
			||||||
#define SAFE_RANGE NEW_SAFE_RANGE
 | 
					 | 
				
			||||||
#endif /* WINLOCK_DISABLED */
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* Function Prototype */
 | 
					 | 
				
			||||||
void off_all_leds(void);
 | 
					 | 
				
			||||||
void on_all_leds(void);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -4,9 +4,12 @@ This K3X0 code is shared between both the ANSI and ISO variants of both the
 | 
				
			||||||
K310 full-sized 104/105-key and K320 TKL 87/88-key keyboards.
 | 
					K310 full-sized 104/105-key and K320 TKL 87/88-key keyboards.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
 | 
					* Keyboard Maintainers: [dkjer](https://github.com/dkjer) and [tylert](https://github.com/tylert)
 | 
				
			||||||
* Hardware Supported: Durgod Taurus K310 or K320 board with STM32F070RBT6
 | 
					* Hardware Supported:
 | 
				
			||||||
* Hardware Availability: K310 https://www.durgod.com/page9?product_id=53&_l=en
 | 
					  * [Durgod Taurus K310 with STM32F070RBT6](https://www.durgod.com/page9?product_id=53&_l=en "Taurus K310 Product Page | Durgod.com")
 | 
				
			||||||
                         and K320 https://www.durgod.com/page9?product_id=47&_l=en
 | 
					  * [Durgod Taurus K320 with STM32F070RBT6](https://www.durgod.com/page9?product_id=47&_l=en "Taurus K320 Product Page | Durgod.com")
 | 
				
			||||||
 | 
					* Hardware Availability:
 | 
				
			||||||
 | 
					  * [K310 on Amazon.com](https://www.amazon.com/Durgod-Taurus-K310-Mechanical-Keyboard/dp/B07TXB4XF3)
 | 
				
			||||||
 | 
					  * [K320 on Amazon.com](https://www.amazon.com/Durgod-Taurus-Corona-Mechanical-Keyboard/dp/B078H3WPHM)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Instructions
 | 
					## Instructions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,24 +0,0 @@
 | 
				
			||||||
# Default to K310 variant, since it will also work on a K320
 | 
					 | 
				
			||||||
DEFAULT_FOLDER=durgod/k3x0/k310
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# MCU name
 | 
					 | 
				
			||||||
# Actually F070, but close enough
 | 
					 | 
				
			||||||
MCU = STM32F072
 | 
					 | 
				
			||||||
BOARD = DURGOD_STM32_F070
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Bootloader selection
 | 
					 | 
				
			||||||
BOOTLOADER = stm32-dfu
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Build Options
 | 
					 | 
				
			||||||
#   change yes to no to disable
 | 
					 | 
				
			||||||
#
 | 
					 | 
				
			||||||
BOOTMAGIC_ENABLE = yes      # Enable Bootmagic Lite
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
NKRO_ENABLE = yes           # Enable N-Key Rollover
 | 
					 | 
				
			||||||
BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
 | 
					 | 
				
			||||||
RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
 | 
					 | 
				
			||||||
AUDIO_ENABLE = no           # Audio output
 | 
					 | 
				
			||||||
LTO_ENABLE = yes
 | 
					 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue