TKC1800 refactor and Configurator visual fixes (#4870)
* TKC1800: refactor - tkc1800.h - updated to use #pragma once - visual alignment - update config.h files to use #pragma once - update all keymaps to use #include QMK_KEYBOARD_H - delete redundant mod mask, KC_TRNS, and KC_NO definitions - reformat keymap layers for readability - add block comment for Function layer in default keymap - delete commented action_get_macro code blocks (deprecated function) - update files to better conform with QMK coding conventions - update smt keymap to use set_single_persistent_default_layer (instead of persistent_default_layer_set) - replace instances of `?=` with `=` in rules.mk * TKC1800: Configurator visual fixes - correct key sizes and positioning - reformat file so each physical key object has its own line for readability - update and add `label` keys for readability * TKC1800: readme update - fix image gallery link - update Hardware Supported and Hardware Availability lines - update make example (add :default suffix) - update QMK Docs links (Newbs Guide; grammar) * Add missing semicolons to smt keymap
This commit is contained in:
parent
e2f7c3d5a5
commit
12406c646f
13 changed files with 348 additions and 830 deletions
|
@ -1,18 +1,17 @@
|
||||||
The Key Company TKC1800
|
The Key Company TKC1800
|
||||||
===
|
|
||||||
|
|
||||||
![TKC1800](https://imgur.com/a/Xlttp)
|
[TKC1800 Image Gallery](https://imgur.com/a/Xlttp)
|
||||||
|
|
||||||
|
|
||||||
The Key Company TKC1800 is a Cherry 1800 form factor replacement PCB utilizing the AT90USB1286 microcontroller.
|
The Key Company TKC1800 is a Cherry 1800 form factor replacement PCB utilizing the AT90USB1286 microcontroller.
|
||||||
|
|
||||||
Keyboard Maintainer: [Terry Mathews](https://github.com/TerryMathews/)
|
Keyboard Maintainer: [Terry Mathews](https://github.com/TerryMathews/)
|
||||||
Hardware Supported: AT90USB1286
|
Hardware Supported: TKC1800 PCB
|
||||||
Hardware Availability: Via GB
|
Hardware Availability: [TheKey.Company](https://thekey.company/collections/tkc-1800)
|
||||||
|
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make tkc1800
|
make tkc1800:default
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
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).
|
||||||
|
|
|
@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
#pragma once
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
|
@ -182,5 +181,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
|
||||||
//#define MIDI_TONE_KEYCODE_OCTAVES 1
|
//#define MIDI_TONE_KEYCODE_OCTAVES 1
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -3,550 +3,118 @@
|
||||||
"url": "",
|
"url": "",
|
||||||
"maintainer": "qmk",
|
"maintainer": "qmk",
|
||||||
"width": 19.5,
|
"width": 19.5,
|
||||||
"height": 7,
|
"height": 7.25,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"key_count": 107,
|
"key_count": 107,
|
||||||
"layout": [
|
"layout": [
|
||||||
{
|
{ "label": "Esc", "x": 0, "y": 0 },
|
||||||
"label": "Esc",
|
{ "label": "F1", "x": 1.25, "y": 0 },
|
||||||
"x": 0,
|
{ "label": "F2", "x": 2.25, "y": 0 },
|
||||||
"y": 0
|
{ "label": "F3", "x": 3.25, "y": 0 },
|
||||||
},
|
{ "label": "F4", "x": 4.25, "y": 0 },
|
||||||
{
|
{ "label": "F5", "x": 5.5, "y": 0 },
|
||||||
"label": "F1",
|
{ "label": "F6", "x": 6.5, "y": 0 },
|
||||||
"x": 1.25,
|
{ "label": "F7", "x": 7.5, "y": 0 },
|
||||||
"y": 0
|
{ "label": "F8", "x": 8.5, "y": 0 },
|
||||||
},
|
{ "label": "F9", "x": 9.75, "y": 0 },
|
||||||
{
|
{ "label": "F10", "x": 10.75, "y": 0 },
|
||||||
"label": "F2",
|
{ "label": "F11", "x": 11.75, "y": 0 },
|
||||||
"x": 2.25,
|
{ "label": "F12", "x": 12.75, "y": 0 },
|
||||||
"y": 0
|
{ "label": "Insert", "x": 15.5, "y": 0 },
|
||||||
},
|
{ "label": "Home", "x": 16.5, "y": 0 },
|
||||||
{
|
{ "label": "Page Up", "x": 17.5, "y": 0 },
|
||||||
"label": "F3",
|
{ "label": "Print Screen", "x": 18.5, "y": 0 },
|
||||||
"x": 3.25,
|
{ "label": "Delete", "x": 15.5, "y": 1 },
|
||||||
"y": 0
|
{ "label": "End", "x": 16.5, "y": 1 },
|
||||||
},
|
{ "label": "Page Down", "x": 17.5, "y": 1 },
|
||||||
{
|
{ "label": "Scroll Lock", "x": 18.5, "y": 1 },
|
||||||
"label": "F4",
|
{ "label": "`", "x": 0, "y": 2 },
|
||||||
"x": 4.25,
|
{ "label": "1", "x": 1, "y": 2 },
|
||||||
"y": 0
|
{ "label": "2", "x": 2, "y": 2 },
|
||||||
},
|
{ "label": "3", "x": 3, "y": 2 },
|
||||||
{
|
{ "label": "4", "x": 4, "y": 2 },
|
||||||
"label": "F5",
|
{ "label": "5", "x": 5, "y": 2 },
|
||||||
"x": 5.5,
|
{ "label": "6", "x": 6, "y": 2 },
|
||||||
"y": 0
|
{ "label": "7", "x": 7, "y": 2 },
|
||||||
},
|
{ "label": "8", "x": 8, "y": 2 },
|
||||||
{
|
{ "label": "9", "x": 9, "y": 2 },
|
||||||
"label": "F6",
|
{ "label": "0", "x": 10, "y": 2 },
|
||||||
"x": 6.5,
|
{ "label": "-", "x": 11, "y": 2 },
|
||||||
"y": 0
|
{ "label": "=", "x": 12, "y": 2 },
|
||||||
},
|
{ "label": "Backspace", "x": 13, "y": 2 },
|
||||||
{
|
{ "label": "Backspace_Right", "x": 14, "y": 2 },
|
||||||
"label": "F7",
|
{ "label": "Num Lock", "x": 15.5, "y": 2 },
|
||||||
"x": 7.5,
|
{ "label": "/", "x": 16.5, "y": 2 },
|
||||||
"y": 0
|
{ "label": "*", "x": 17.5, "y": 2 },
|
||||||
},
|
{ "label": "Pause", "x": 18.5, "y": 2 },
|
||||||
{
|
{ "label": "Tab", "x": 0, "y": 3, "w": 1.5 },
|
||||||
"label": "F8",
|
{ "label": "Q", "x": 1.5, "y": 3 },
|
||||||
"x": 8.5,
|
{ "label": "W", "x": 2.5, "y": 3 },
|
||||||
"y": 0
|
{ "label": "E", "x": 3.5, "y": 3 },
|
||||||
},
|
{ "label": "R", "x": 4.5, "y": 3 },
|
||||||
{
|
{ "label": "T", "x": 5.5, "y": 3 },
|
||||||
"label": "F9",
|
{ "label": "Y", "x": 6.5, "y": 3 },
|
||||||
"x": 9.75,
|
{ "label": "U", "x": 7.5, "y": 3 },
|
||||||
"y": 0
|
{ "label": "I", "x": 8.5, "y": 3 },
|
||||||
},
|
{ "label": "O", "x": 9.5, "y": 3 },
|
||||||
{
|
{ "label": "P", "x": 10.5, "y": 3 },
|
||||||
"label": "F10",
|
{ "label": "[", "x": 11.5, "y": 3 },
|
||||||
"x": 10.75,
|
{ "label": "]", "x": 12.5, "y": 3 },
|
||||||
"y": 0
|
{ "label": "\\", "x": 13.5, "y": 3, "w": 1.5 },
|
||||||
},
|
{ "label": "7", "x": 15.5, "y": 3 },
|
||||||
{
|
{ "label": "8", "x": 16.5, "y": 3 },
|
||||||
"label": "F11",
|
{ "label": "9", "x": 17.5, "y": 3 },
|
||||||
"x": 11.75,
|
{ "label": "-", "x": 18.5, "y": 3 },
|
||||||
"y": 0
|
{ "label": "Caps Lock", "x": 0, "y": 4, "w": 1.75 },
|
||||||
},
|
{ "label": "A", "x": 1.75, "y": 4 },
|
||||||
{
|
{ "label": "S", "x": 2.75, "y": 4 },
|
||||||
"label": "F12",
|
{ "label": "D", "x": 3.75, "y": 4 },
|
||||||
"x": 12.75,
|
{ "label": "F", "x": 4.75, "y": 4 },
|
||||||
"y": 0
|
{ "label": "G", "x": 5.75, "y": 4 },
|
||||||
},
|
{ "label": "H", "x": 6.75, "y": 4 },
|
||||||
{
|
{ "label": "J", "x": 7.75, "y": 4 },
|
||||||
"label": "Insert",
|
{ "label": "K", "x": 8.75, "y": 4 },
|
||||||
"x": 15.5,
|
{ "label": "L", "x": 9.75, "y": 4 },
|
||||||
"y": 0
|
{ "label": ";", "x": 10.75, "y": 4 },
|
||||||
},
|
{ "label": "'", "x": 11.75, "y": 4 },
|
||||||
{
|
{ "label": "ISO Hash", "x": 12.75, "y": 4 },
|
||||||
"label": "Home",
|
{ "label": "Enter", "x": 13.75, "y": 4, "w": 1.25 },
|
||||||
"x": 16.5,
|
{ "label": "4", "x": 15.5, "y": 4 },
|
||||||
"y": 0
|
{ "label": "5", "x": 16.5, "y": 4 },
|
||||||
},
|
{ "label": "6", "x": 17.5, "y": 4 },
|
||||||
{
|
{ "label": "+", "x": 18.5, "y": 4 },
|
||||||
"label": "Pg Up",
|
{ "label": "Shift", "x": 0, "y": 5, "w": 1.25 },
|
||||||
"x": 17.5,
|
{ "label": "ISO Backslash", "x": 1.25, "y": 5 },
|
||||||
"y": 0
|
{ "label": "Z", "x": 2.25, "y": 5 },
|
||||||
},
|
{ "label": "X", "x": 3.25, "y": 5 },
|
||||||
{
|
{ "label": "C", "x": 4.25, "y": 5 },
|
||||||
"label": "Prt Sc",
|
{ "label": "V", "x": 5.25, "y": 5 },
|
||||||
"x": 18.5,
|
{ "label": "B", "x": 6.25, "y": 5 },
|
||||||
"y": 0
|
{ "label": "N", "x": 7.25, "y": 5 },
|
||||||
},
|
{ "label": "M", "x": 8.25, "y": 5 },
|
||||||
{
|
{ "label": ",", "x": 9.25, "y": 5 },
|
||||||
"label": "Delete",
|
{ "label": ".", "x": 10.25, "y": 5 },
|
||||||
"x": 15.5,
|
{ "label": "/", "x": 11.25, "y": 5 },
|
||||||
"y": 1
|
{ "label": "Shift", "x": 12.25, "y": 5, "w": 1.75 },
|
||||||
},
|
{ "label": "Up", "x": 14.25, "y": 5.25 },
|
||||||
{
|
{ "label": "1", "x": 15.5, "y": 5 },
|
||||||
"label": "End",
|
{ "label": "2", "x": 16.5, "y": 5 },
|
||||||
"x": 16.5,
|
{ "label": "3", "x": 17.5, "y": 5 },
|
||||||
"y": 1
|
{ "label": "Enter_Top", "x": 18.5, "y": 5 },
|
||||||
},
|
{ "label": "Ctrl", "x": 0, "y": 6, "w": 1.25 },
|
||||||
{
|
{ "label": "GUI", "x": 1.25, "y": 6, "w": 1.25 },
|
||||||
"label": "Pg Dn",
|
{ "label": "Alt", "x": 2.5, "y": 6, "w": 1.25 },
|
||||||
"x": 17.5,
|
{ "label": "Space", "x": 3.75, "y": 6, "w": 6.25 },
|
||||||
"y": 1
|
{ "label": "Alt", "x": 10, "y": 6 },
|
||||||
},
|
{ "label": "Fn", "x": 11, "y": 6 },
|
||||||
{
|
{ "label": "Ctrl", "x": 12, "y": 6 },
|
||||||
"label": "Scroll Lock",
|
{ "label": "Left", "x": 13.25, "y": 6.25 },
|
||||||
"x": 18.5,
|
{ "label": "Down", "x": 14.25, "y": 6.25 },
|
||||||
"y": 1
|
{ "label": "Right", "x": 15.25, "y": 6.25 },
|
||||||
},
|
{ "label": "0", "x": 16.5, "y": 6 },
|
||||||
{
|
{ "label": ".", "x": 17.5, "y": 6 },
|
||||||
"label": "~",
|
{ "label": "Enter", "x": 18.5, "y": 6 }
|
||||||
"x": 0,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "!",
|
|
||||||
"x": 1,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "@",
|
|
||||||
"x": 2,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "#",
|
|
||||||
"x": 3,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "$",
|
|
||||||
"x": 4,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "%",
|
|
||||||
"x": 5,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "^",
|
|
||||||
"x": 6,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "&",
|
|
||||||
"x": 7,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "*",
|
|
||||||
"x": 8,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "(",
|
|
||||||
"x": 9,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": ")",
|
|
||||||
"x": 10,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "_",
|
|
||||||
"x": 11,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "+",
|
|
||||||
"x": 12,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Backspace",
|
|
||||||
"x": 13,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": 14,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Num Lock",
|
|
||||||
"x": 15.5,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "/",
|
|
||||||
"x": 16.5,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "*",
|
|
||||||
"x": 17.5,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "-",
|
|
||||||
"x": 18.5,
|
|
||||||
"y": 2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Tab",
|
|
||||||
"x": 0,
|
|
||||||
"y": 3,
|
|
||||||
"w": 1.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Q",
|
|
||||||
"x": 1.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "W",
|
|
||||||
"x": 2.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "E",
|
|
||||||
"x": 3.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "R",
|
|
||||||
"x": 4.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "T",
|
|
||||||
"x": 5.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Y",
|
|
||||||
"x": 6.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "U",
|
|
||||||
"x": 7.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "I",
|
|
||||||
"x": 8.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "O",
|
|
||||||
"x": 9.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "P",
|
|
||||||
"x": 10.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "{",
|
|
||||||
"x": 11.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "}",
|
|
||||||
"x": 12.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "|",
|
|
||||||
"x": 13.5,
|
|
||||||
"y": 3,
|
|
||||||
"w": 1.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "7",
|
|
||||||
"x": 15.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "8",
|
|
||||||
"x": 16.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "9",
|
|
||||||
"x": 17.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "+",
|
|
||||||
"x": 18.5,
|
|
||||||
"y": 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Caps Lock",
|
|
||||||
"x": 0,
|
|
||||||
"y": 4,
|
|
||||||
"w": 1.75
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "A",
|
|
||||||
"x": 1.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "S",
|
|
||||||
"x": 2.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "D",
|
|
||||||
"x": 3.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "F",
|
|
||||||
"x": 4.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "G",
|
|
||||||
"x": 5.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "H",
|
|
||||||
"x": 6.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "J",
|
|
||||||
"x": 7.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "K",
|
|
||||||
"x": 8.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "L",
|
|
||||||
"x": 9.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": ":",
|
|
||||||
"x": 10.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "\"",
|
|
||||||
"x": 11.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": 12.75,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Enter",
|
|
||||||
"x": 13.75,
|
|
||||||
"y": 4,
|
|
||||||
"w": 1.25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "4",
|
|
||||||
"x": 15.5,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "5",
|
|
||||||
"x": 16.5,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "6",
|
|
||||||
"x": 17.5,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": 18.5,
|
|
||||||
"y": 4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": 0,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Shift",
|
|
||||||
"x": 1,
|
|
||||||
"y": 5,
|
|
||||||
"w": 1.25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Z",
|
|
||||||
"x": 2.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "X",
|
|
||||||
"x": 3.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "C",
|
|
||||||
"x": 4.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "V",
|
|
||||||
"x": 5.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "B",
|
|
||||||
"x": 6.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "N",
|
|
||||||
"x": 7.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "M",
|
|
||||||
"x": 8.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "<",
|
|
||||||
"x": 9.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": ">",
|
|
||||||
"x": 10.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "?",
|
|
||||||
"x": 11.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Shift",
|
|
||||||
"x": 12.25,
|
|
||||||
"y": 5,
|
|
||||||
"w": 1.75
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "\\u2191",
|
|
||||||
"x": 14.25,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "1",
|
|
||||||
"x": 15.5,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "2",
|
|
||||||
"x": 16.5,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "3",
|
|
||||||
"x": 17.5,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Enter",
|
|
||||||
"x": 18.5,
|
|
||||||
"y": 5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Ctrl",
|
|
||||||
"x": 0,
|
|
||||||
"y": 6,
|
|
||||||
"w": 1.25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Win",
|
|
||||||
"x": 1.25,
|
|
||||||
"y": 6,
|
|
||||||
"w": 1.25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Alt",
|
|
||||||
"x": 2.5,
|
|
||||||
"y": 6,
|
|
||||||
"w": 1.25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": 3.75,
|
|
||||||
"y": 6,
|
|
||||||
"w": 6.25
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Alt",
|
|
||||||
"x": 10,
|
|
||||||
"y": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Win",
|
|
||||||
"x": 11,
|
|
||||||
"y": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "Fn",
|
|
||||||
"x": 12,
|
|
||||||
"y": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "\\u2190",
|
|
||||||
"x": 13.25,
|
|
||||||
"y": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "\\u2193",
|
|
||||||
"x": 14.25,
|
|
||||||
"y": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "\\u2192",
|
|
||||||
"x": 15.25,
|
|
||||||
"y": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": "0",
|
|
||||||
"x": 16.5,
|
|
||||||
"y": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"label": ".",
|
|
||||||
"x": 17.5,
|
|
||||||
"y": 6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": 18.5,
|
|
||||||
"y": 6
|
|
||||||
}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,10 +14,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/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_USER_H
|
#pragma once
|
||||||
#define CONFIG_USER_H
|
|
||||||
|
|
||||||
#include "../../config.h"
|
|
||||||
|
|
||||||
#define USE_I2C
|
#define USE_I2C
|
||||||
#define SSD1306OLED
|
#define SSD1306OLED
|
||||||
|
@ -25,5 +22,3 @@
|
||||||
#define SSD1306_ADDRESS 0x3C
|
#define SSD1306_ADDRESS 0x3C
|
||||||
|
|
||||||
// place overrides here
|
// place overrides here
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -13,25 +13,17 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* 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 "tkc1800.h"
|
#include QMK_KEYBOARD_H
|
||||||
#include "LUFA/Drivers/Peripheral/TWI.h"
|
#include "LUFA/Drivers/Peripheral/TWI.h"
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "ssd1306.h"
|
#include "ssd1306.h"
|
||||||
|
|
||||||
|
|
||||||
#define MODS_SHFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
|
||||||
#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
|
||||||
|
|
||||||
|
|
||||||
// Helpful defines
|
|
||||||
#define ______ KC_TRNS
|
|
||||||
#define XXXXXX KC_NO
|
|
||||||
|
|
||||||
//Layers
|
//Layers
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
BASE = 0,
|
BASE = 0,
|
||||||
FUNCTION,
|
FUNCTION,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool screenWorks = 0;
|
bool screenWorks = 0;
|
||||||
|
@ -56,61 +48,77 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* |-----------------------------------------------------------' |-------------------|
|
* |-----------------------------------------------------------' |-------------------|
|
||||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | 1 | 2 | 3 | Ent|
|
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | 1 | 2 | 3 | Ent|
|
||||||
* |--------------------------------------------------------'----`--------------| |
|
* |--------------------------------------------------------'----`--------------| |
|
||||||
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
* |Ctrl|Gui |Alt | Space |Alt |Fn |Ctr|Left |Down|Rght| 0 | . | |
|
||||||
* `---------------------------------------------------------------------------------'
|
* `---------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[BASE] = LAYOUT(
|
[BASE] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||||
KC_LSFT, XXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT \
|
||||||
),
|
),
|
||||||
[FUNCTION] = LAYOUT(
|
/* Keymap FUNCTION: (Function 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_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
* ,-------------------------------------------------------. ,-------------------.
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
* | | | | | | | | | | | | | | | | | | | | |
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, RESET, XXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
* `-------------------------------------------------------' |-------------------|
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
* | | | | |
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
* ,-----------------------------------------------------------. |-------------------|
|
||||||
KC_LSFT, XXXXXX, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD, BL_STEP,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
* | | | | | | | | | | | | | | RESET | | | | | |
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, ______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
* |-----------------------------------------------------------| |-------------------|
|
||||||
),
|
* | | | | | | | | | | | | | | | | | | | |
|
||||||
|
* |-----------------------------------------------------------| |-------------------|
|
||||||
|
* | | | | | | | | | | | | | | | | | | |
|
||||||
|
* |-----------------------------------------------------------' |-------------------|
|
||||||
|
* | |Tog|Mod|Hu+|Hu-|Sa+|Sa-|Va+|Va-|Stp| | | | | | | |
|
||||||
|
* |--------------------------------------------------------'----`--------------| |
|
||||||
|
* | | | | | | | | | | | | . | |
|
||||||
|
* `---------------------------------------------------------------------------------'
|
||||||
|
*/
|
||||||
|
[FUNCTION] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
|
_______, _______, _______, _______, \
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, \
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, \
|
||||||
|
_______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, _______, _______, _______, _______, XXXXXXX, \
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||||
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {};
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
void led_set_user(uint8_t usb_led) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
void matrix_init_user(void) {
|
||||||
#ifdef USE_I2C
|
#ifdef USE_I2C
|
||||||
i2c_master_init();
|
i2c_master_init();
|
||||||
#ifdef SSD1306OLED
|
#ifdef SSD1306OLED
|
||||||
// calls code for the SSD1306 OLED
|
// calls code for the SSD1306 OLED
|
||||||
_delay_ms(400);
|
_delay_ms(400);
|
||||||
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
||||||
if(iota_gfx_init()){ // turns on the display
|
if ( iota_gfx_init() ) { // turns on the display
|
||||||
screenWorks = 1;
|
screenWorks = 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#ifdef AUDIO_ENABLE
|
|
||||||
startup_user();
|
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
startup_user();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
#ifdef SSD1306OLED
|
#ifdef SSD1306OLED
|
||||||
if(screenWorks){
|
if ( screenWorks ) {
|
||||||
iota_gfx_task(); // this is what updates the display continuously
|
iota_gfx_task(); // this is what updates the display continuously
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_update(struct CharacterMatrix *dest,
|
void matrix_update(struct CharacterMatrix *dest,
|
||||||
|
@ -122,17 +130,17 @@ void matrix_update(struct CharacterMatrix *dest,
|
||||||
}
|
}
|
||||||
|
|
||||||
void iota_gfx_task_user(void) {
|
void iota_gfx_task_user(void) {
|
||||||
#if DEBUG_TO_SCREEN
|
#if DEBUG_TO_SCREEN
|
||||||
if (debug_enable) {
|
if (debug_enable) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct CharacterMatrix matrix;
|
struct CharacterMatrix matrix;
|
||||||
|
|
||||||
matrix_clear(&matrix);
|
matrix_clear(&matrix);
|
||||||
matrix_write_P(&matrix, PSTR("TKC1800"));
|
matrix_write_P(&matrix, PSTR("TKC1800"));
|
||||||
|
|
||||||
uint8_t layer = biton32(layer_state);
|
uint8_t layer = biton32(layer_state);
|
||||||
|
|
||||||
char buf[40];
|
char buf[40];
|
||||||
|
@ -148,4 +156,4 @@ void iota_gfx_task_user(void) {
|
||||||
(host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
|
(host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
|
||||||
matrix_write(&matrix, led);
|
matrix_write(&matrix, led);
|
||||||
matrix_update(&display, &matrix);
|
matrix_update(&display, &matrix);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,10 +14,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/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_USER_H
|
#pragma once
|
||||||
#define CONFIG_USER_H
|
|
||||||
|
|
||||||
#include "../../config.h"
|
|
||||||
|
|
||||||
#define USE_I2C
|
#define USE_I2C
|
||||||
#define SSD1306OLED
|
#define SSD1306OLED
|
||||||
|
@ -25,5 +22,3 @@
|
||||||
#define SSD1306_ADDRESS 0x3C
|
#define SSD1306_ADDRESS 0x3C
|
||||||
|
|
||||||
// place overrides here
|
// place overrides here
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -13,30 +13,23 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* 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 "tkc1800.h"
|
#include QMK_KEYBOARD_H
|
||||||
#include "LUFA/Drivers/Peripheral/TWI.h"
|
#include "LUFA/Drivers/Peripheral/TWI.h"
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "ssd1306.h"
|
#include "ssd1306.h"
|
||||||
|
|
||||||
#define MODS_SHFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
|
||||||
#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
|
||||||
|
|
||||||
// Custom macros
|
// Custom macros
|
||||||
#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
|
#define CTL_ESC CTL_T(KC_ESC) // Tap for Esc, hold for Ctrl
|
||||||
#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Shift+Alt)
|
#define HPR_TAB ALL_T(KC_TAB) // Tap for Tab, hold for Hyper (Super+Ctrl+Shift+Alt)
|
||||||
#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
|
#define SFT_ENT SFT_T(KC_ENT) // Tap for Enter, hold for Shift
|
||||||
|
|
||||||
// Helpful defines
|
|
||||||
#define ______ KC_TRNS
|
|
||||||
#define XXXXXX KC_NO
|
|
||||||
|
|
||||||
//Layers
|
//Layers
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
QWERTY = 0,
|
QWERTY = 0,
|
||||||
COLEMAK,
|
COLEMAK,
|
||||||
DVORAK,
|
DVORAK,
|
||||||
FUNCTION,
|
FUNCTION,
|
||||||
};
|
};
|
||||||
|
|
||||||
//13 characters max without re-writing the "Layer: " format in iota_gfx_task_user()
|
//13 characters max without re-writing the "Layer: " format in iota_gfx_task_user()
|
||||||
|
@ -62,15 +55,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
||||||
* `---------------------------------------------------------------------------------'
|
* `---------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[QWERTY] = LAYOUT(
|
[QWERTY] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_NLCK, KC_PSLS, KC_PAST, 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_BSLS, KC_GRV, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||||
HPR_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_BSPC, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
HPR_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_BSPC, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||||
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||||
KC_LSFT, XXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, SFT_ENT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT \
|
||||||
),
|
),
|
||||||
/* Keymap COLEMAK: (Colemak Layer) Default Layer
|
/* Keymap COLEMAK: (Colemak Layer) Default Layer
|
||||||
* ,-------------------------------------------------------. ,-------------------.
|
* ,-------------------------------------------------------. ,-------------------.
|
||||||
* |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12| |Ins |Home|PgUp|PrSc|
|
* |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12| |Ins |Home|PgUp|PrSc|
|
||||||
|
@ -88,15 +81,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
||||||
* `---------------------------------------------------------------------------------'
|
* `---------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[COLEMAK] = LAYOUT(
|
[COLEMAK] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_NLCK, KC_PSLS, KC_PAST, 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_BSLS, KC_GRV, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||||
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
HPR_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSPC, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||||
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||||
KC_LSFT, XXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT,KC_SLSH, SFT_ENT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_ENT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT \
|
||||||
),
|
),
|
||||||
/* Keymap DVORAK: (Dvorak Layer) Default Layer
|
/* Keymap DVORAK: (Dvorak Layer) Default Layer
|
||||||
* ,-------------------------------------------------------. ,-------------------.
|
* ,-------------------------------------------------------. ,-------------------.
|
||||||
* |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12| |Ins |Home|PgUp|PrSc|
|
* |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12| |Ins |Home|PgUp|PrSc|
|
||||||
|
@ -114,50 +107,43 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
||||||
* `---------------------------------------------------------------------------------'
|
* `---------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[DVORAK] = LAYOUT(
|
[DVORAK] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, KC_NLCK, KC_PSLS, KC_PAST, 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_LBRC, KC_RBRC, KC_BSLS, KC_GRV, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||||
HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
HPR_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSPC, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||||
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||||
KC_LSFT, XXXXXX, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
KC_LSFT, XXXXXXX, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, SFT_ENT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT \
|
||||||
),
|
),
|
||||||
[FUNCTION] = LAYOUT(
|
[FUNCTION] = LAYOUT(
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, RESET, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||||
______, ______, ______, ______, ______, ______, ______, QWERTY, COLEMAK,DVORAK, ______, ______, ______, ______, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
_______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||||
______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, XXXXXX, ______, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||||
______, XXXXXX, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD, BL_STEP,______, ______, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
_______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, ______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, _______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT \
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {};
|
|
||||||
|
|
||||||
void persistent_default_layer_set(uint16_t default_layer) {
|
|
||||||
eeconfig_update_default_layer(default_layer);
|
|
||||||
default_layer_set(default_layer);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
case QWERTY:
|
case QWERTY:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
persistent_default_layer_set(1UL<<QWERTY);
|
set_single_persistent_default_layer(QWERTY);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
case COLEMAK:
|
case COLEMAK:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
persistent_default_layer_set(1UL<<COLEMAK);
|
set_single_persistent_default_layer(COLEMAK);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
case DVORAK:
|
case DVORAK:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
persistent_default_layer_set(1UL<<DVORAK);
|
set_single_persistent_default_layer(DVORAK);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
|
@ -168,25 +154,26 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
void led_set_user(uint8_t usb_led) {
|
void led_set_user(uint8_t usb_led) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
void matrix_init_user(void) {
|
||||||
#ifdef USE_I2C
|
#ifdef USE_I2C
|
||||||
i2c_master_init();
|
i2c_master_init();
|
||||||
#ifdef SSD1306OLED
|
#ifdef SSD1306OLED
|
||||||
// calls code for the SSD1306 OLED
|
// calls code for the SSD1306 OLED
|
||||||
_delay_ms(400);
|
_delay_ms(400);
|
||||||
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
||||||
iota_gfx_init(); // turns on the display
|
iota_gfx_init(); // turns on the display
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#ifdef AUDIO_ENABLE
|
|
||||||
startup_user();
|
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
startup_user();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
#ifdef SSD1306OLED
|
#ifdef SSD1306OLED
|
||||||
iota_gfx_task(); // this is what updates the display continuously
|
iota_gfx_task(); // this is what updates the display continuously
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_update(struct CharacterMatrix *dest,
|
void matrix_update(struct CharacterMatrix *dest,
|
||||||
|
@ -198,11 +185,11 @@ void matrix_update(struct CharacterMatrix *dest,
|
||||||
}
|
}
|
||||||
|
|
||||||
void iota_gfx_task_user(void) {
|
void iota_gfx_task_user(void) {
|
||||||
#if DEBUG_TO_SCREEN
|
#if DEBUG_TO_SCREEN
|
||||||
if (debug_enable) {
|
if (debug_enable) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct CharacterMatrix matrix;
|
struct CharacterMatrix matrix;
|
||||||
|
|
||||||
|
|
|
@ -14,10 +14,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/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_USER_H
|
#pragma once
|
||||||
#define CONFIG_USER_H
|
|
||||||
|
|
||||||
#include "../../config.h"
|
|
||||||
|
|
||||||
#define USE_I2C
|
#define USE_I2C
|
||||||
#define SSD1306OLED
|
#define SSD1306OLED
|
||||||
|
@ -25,5 +22,3 @@
|
||||||
#define SSD1306_ADDRESS 0x3C
|
#define SSD1306_ADDRESS 0x3C
|
||||||
|
|
||||||
// place overrides here
|
// place overrides here
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -13,25 +13,17 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* 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 "tkc1800.h"
|
#include QMK_KEYBOARD_H
|
||||||
#include "LUFA/Drivers/Peripheral/TWI.h"
|
#include "LUFA/Drivers/Peripheral/TWI.h"
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "ssd1306.h"
|
#include "ssd1306.h"
|
||||||
|
|
||||||
|
|
||||||
#define MODS_SHFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
|
||||||
#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
|
||||||
|
|
||||||
|
|
||||||
// Helpful defines
|
|
||||||
#define ______ KC_TRNS
|
|
||||||
#define XXXXXX KC_NO
|
|
||||||
|
|
||||||
//Layers
|
//Layers
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
BASE = 0,
|
BASE = 0,
|
||||||
FUNCTION,
|
FUNCTION,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool screenWorks = 0;
|
bool screenWorks = 0;
|
||||||
|
@ -56,61 +48,60 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* |-----------------------------------------------------------' |-------------------|
|
* |-----------------------------------------------------------' |-------------------|
|
||||||
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | 1 | 2 | 3 | Ent|
|
* |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | 1 | 2 | 3 | Ent|
|
||||||
* |--------------------------------------------------------'----`--------------| |
|
* |--------------------------------------------------------'----`--------------| |
|
||||||
* |Ctrl|Gui |Alt | Space |Alt |Gui|Ctr|Left |Down|Rght| 0 | . | |
|
* |Ctrl | Alt | Space | Fn |Ctrl |Left |Down|Rght| 0 | . | |
|
||||||
* `---------------------------------------------------------------------------------'
|
* `---------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[BASE] = LAYOUT(
|
[BASE] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||||
KC_LSFT, XXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, \
|
||||||
KC_LCTL, KC_LALT, XXXXXX, KC_SPC, XXXXXX, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
KC_LCTL, KC_LALT, XXXXXXX, KC_SPC, XXXXXXX, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT \
|
||||||
),
|
),
|
||||||
[FUNCTION] = LAYOUT(
|
[FUNCTION] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
_______, _______, _______, _______, \
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, RESET, XXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, \
|
||||||
KC_LSFT, XXXXXX, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD, BL_STEP,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
_______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, BL_STEP, _______, _______, _______, _______, _______, _______, XXXXXXX, \
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, XXXXXX, ______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
_______, _______, XXXXXXX, _______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {};
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
void led_set_user(uint8_t usb_led) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
void matrix_init_user(void) {
|
||||||
#ifdef USE_I2C
|
#ifdef USE_I2C
|
||||||
i2c_master_init();
|
i2c_master_init();
|
||||||
#ifdef SSD1306OLED
|
#ifdef SSD1306OLED
|
||||||
// calls code for the SSD1306 OLED
|
// calls code for the SSD1306 OLED
|
||||||
_delay_ms(400);
|
_delay_ms(400);
|
||||||
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
||||||
if(iota_gfx_init()){ // turns on the display
|
if ( iota_gfx_init() ) { // turns on the display
|
||||||
screenWorks = 1;
|
screenWorks = 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#ifdef AUDIO_ENABLE
|
|
||||||
startup_user();
|
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
startup_user();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
#ifdef SSD1306OLED
|
#ifdef SSD1306OLED
|
||||||
if(screenWorks){
|
if ( screenWorks ) {
|
||||||
iota_gfx_task(); // this is what updates the display continuously
|
iota_gfx_task(); // this is what updates the display continuously
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_update(struct CharacterMatrix *dest,
|
void matrix_update(struct CharacterMatrix *dest,
|
||||||
|
@ -122,17 +113,17 @@ void matrix_update(struct CharacterMatrix *dest,
|
||||||
}
|
}
|
||||||
|
|
||||||
void iota_gfx_task_user(void) {
|
void iota_gfx_task_user(void) {
|
||||||
#if DEBUG_TO_SCREEN
|
#if DEBUG_TO_SCREEN
|
||||||
if (debug_enable) {
|
if (debug_enable) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct CharacterMatrix matrix;
|
struct CharacterMatrix matrix;
|
||||||
|
|
||||||
matrix_clear(&matrix);
|
matrix_clear(&matrix);
|
||||||
matrix_write_P(&matrix, PSTR("TKC1800"));
|
matrix_write_P(&matrix, PSTR("TKC1800"));
|
||||||
|
|
||||||
uint8_t layer = biton32(layer_state);
|
uint8_t layer = biton32(layer_state);
|
||||||
|
|
||||||
char buf[40];
|
char buf[40];
|
||||||
|
@ -148,4 +139,4 @@ void iota_gfx_task_user(void) {
|
||||||
(host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
|
(host_keyboard_leds() & (1<<USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
|
||||||
matrix_write(&matrix, led);
|
matrix_write(&matrix, led);
|
||||||
matrix_update(&display, &matrix);
|
matrix_update(&display, &matrix);
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,10 +14,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/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_USER_H
|
#pragma once
|
||||||
#define CONFIG_USER_H
|
|
||||||
|
|
||||||
#include "../../config.h"
|
|
||||||
|
|
||||||
//#define USE_I2C
|
//#define USE_I2C
|
||||||
//#define SSD1306OLED
|
//#define SSD1306OLED
|
||||||
|
@ -25,5 +22,3 @@
|
||||||
#define SSD1306_ADDRESS 0x3C
|
#define SSD1306_ADDRESS 0x3C
|
||||||
|
|
||||||
// place overrides here
|
// place overrides here
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -13,20 +13,12 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* 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 "tkc1800.h"
|
#include QMK_KEYBOARD_H
|
||||||
#include "LUFA/Drivers/Peripheral/TWI.h"
|
#include "LUFA/Drivers/Peripheral/TWI.h"
|
||||||
#include "i2c.h"
|
#include "i2c.h"
|
||||||
#include "ssd1306.h"
|
#include "ssd1306.h"
|
||||||
|
|
||||||
|
|
||||||
#define MODS_SHFT_MASK (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
|
||||||
#define MODS_GUI_MASK (MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI))
|
|
||||||
|
|
||||||
|
|
||||||
// Helpful defines
|
|
||||||
#define ______ KC_TRNS
|
|
||||||
#define XXXXXX KC_NO
|
|
||||||
|
|
||||||
//Layers
|
//Layers
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -58,53 +50,52 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
* `---------------------------------------------------------------------------------'
|
* `---------------------------------------------------------------------------------'
|
||||||
*/
|
*/
|
||||||
[BASE] = LAYOUT(
|
[BASE] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, XXXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
||||||
LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
||||||
KC_LSFT, XXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXXX, \
|
||||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(FUNCTION), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT \
|
||||||
),
|
),
|
||||||
[FUNCTION] = LAYOUT(
|
[FUNCTION] = LAYOUT(
|
||||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_HOME, KC_PGUP, KC_PSCR, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
KC_DEL, KC_END, KC_PGDN, KC_SLCK, \
|
_______, _______, _______, _______, \
|
||||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, RESET, XXXXXX, KC_NLCK, KC_PSLS, KC_PAST, KC_PAUS, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, XXXXXXX, _______, _______, _______, _______, \
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||||
LCTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXX, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS, \
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, _______, _______, _______, _______, \
|
||||||
KC_LSFT, XXXXXX, RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, XXXXXX, \
|
_______, XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, \
|
||||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, ______, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \
|
||||||
),
|
),
|
||||||
};
|
};
|
||||||
|
|
||||||
// const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {};
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void led_set_user(uint8_t usb_led) {
|
void led_set_user(uint8_t usb_led) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_init_user(void) {
|
void matrix_init_user(void) {
|
||||||
#ifdef USE_I2C
|
#ifdef USE_I2C
|
||||||
i2c_master_init();
|
i2c_master_init();
|
||||||
#ifdef SSD1306OLED
|
#ifdef SSD1306OLED
|
||||||
// calls code for the SSD1306 OLED
|
// calls code for the SSD1306 OLED
|
||||||
_delay_ms(400);
|
_delay_ms(400);
|
||||||
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 800000));
|
||||||
iota_gfx_init(); // turns on the display
|
iota_gfx_init(); // turns on the display
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#ifdef AUDIO_ENABLE
|
|
||||||
startup_user();
|
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#ifdef AUDIO_ENABLE
|
||||||
|
startup_user();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
void matrix_scan_user(void) {
|
||||||
#ifdef SSD1306OLED
|
#ifdef SSD1306OLED
|
||||||
iota_gfx_task(); // this is what updates the display continuously
|
iota_gfx_task(); // this is what updates the display continuously
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void matrix_update(struct CharacterMatrix *dest,
|
void matrix_update(struct CharacterMatrix *dest,
|
||||||
|
@ -116,11 +107,11 @@ void matrix_update(struct CharacterMatrix *dest,
|
||||||
}
|
}
|
||||||
|
|
||||||
void iota_gfx_task_user(void) {
|
void iota_gfx_task_user(void) {
|
||||||
#if DEBUG_TO_SCREEN
|
#if DEBUG_TO_SCREEN
|
||||||
if (debug_enable) {
|
if (debug_enable) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct CharacterMatrix matrix;
|
struct CharacterMatrix matrix;
|
||||||
|
|
||||||
|
|
|
@ -51,21 +51,21 @@ OPT_DEFS += -DBOOTLOADER_SIZE=8192
|
||||||
# Build Options
|
# Build Options
|
||||||
# change yes to no to disable
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE ?= yes # Virtual DIP switch configuration(+1000)
|
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
||||||
MOUSEKEY_ENABLE ?= yes # Mouse keys(+4700)
|
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||||
EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450)
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
CONSOLE_ENABLE ?= yes # Console for debug(+400)
|
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||||
COMMAND_ENABLE ?= yes # Commands for debug and configuration
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
|
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
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
NKRO_ENABLE ?= yes # USB Nkey Rollover
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
BACKLIGHT_ENABLE ?= yes # Enable keyboard backlight functionality on B7 by default
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality on B7 by default
|
||||||
RGBLIGHT_ENABLE ?= yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
|
||||||
MIDI_ENABLE ?= no # MIDI controls
|
MIDI_ENABLE = no # MIDI controls
|
||||||
UNICODE_ENABLE ?= no # Unicode
|
UNICODE_ENABLE = no # Unicode
|
||||||
BLUETOOTH_ENABLE ?= no # Enable Bluetooth with the Adafruit EZ-Key HID
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
AUDIO_ENABLE ?= no # Audio output on port C6
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
|
||||||
SRC = i2c.c \
|
SRC = i2c.c \
|
||||||
ssd1306.c
|
ssd1306.c
|
||||||
|
|
|
@ -13,8 +13,7 @@
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
#ifndef TKC1800_H
|
#pragma once
|
||||||
#define TKC1800_H
|
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
|
@ -24,16 +23,14 @@
|
||||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, \
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I, \
|
||||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, K3G, K3H, K3I, \
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3F, K3G, K3H, K3I, \
|
||||||
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, K4G, K4H, K4I, \
|
K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4F, K4G, K4H, K4I, \
|
||||||
K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5F, K5G, K5H, K5I, \
|
K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, K5F, K5G, K5H, K5I, \
|
||||||
K60, K61, K62, K65, K69, K6A, K6B, K6C, K6D, K6E, K6G, K6H, K6I \
|
K60, K61, K62, K65, K69, K6A, K6B, K6C, K6D, K6E, K6G, K6H, K6I \
|
||||||
) { \
|
) { \
|
||||||
{ K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO, K0F, K0G, K0H, K0I }, \
|
{ K00, KC_NO, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, KC_NO, K0F, K0G, K0H, K0I }, \
|
||||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K1F, K1G, K1H, K1I }, \
|
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K1F, K1G, K1H, K1I }, \
|
||||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I }, \
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, K2I }, \
|
||||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, K3F, K3G, K3H, K3I }, \
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, K3F, K3G, K3H, K3I }, \
|
||||||
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, K4G, K4H, K4I }, \
|
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, KC_NO, K4F, K4G, K4H, K4I }, \
|
||||||
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, KC_NO, K5F, K5G, K5H, K5I }, \
|
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, K5A, K5B, K5C, K5D, KC_NO, K5F, K5G, K5H, K5I }, \
|
||||||
{ K60, K61, K62, KC_NO, KC_NO, K65, KC_NO, KC_NO, KC_NO, K69, K6A, K6B, K6C, K6D, K6E, KC_NO, K6G, K6H, K6I } \
|
{ K60, K61, K62, KC_NO, KC_NO, K65, KC_NO, KC_NO, KC_NO, K69, K6A, K6B, K6C, K6D, K6E, KC_NO, K6G, K6H, K6I } \
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
Loading…
Reference in a new issue