aboutsummaryrefslogtreecommitdiff
path: root/keyboards/metamechs
diff options
context:
space:
mode:
authorCroktopus <39040552+Croktopus@users.noreply.github.com>2020-07-17 11:04:44 -0700
committerGitHub <noreply@github.com>2020-07-17 19:04:44 +0100
commit3c84157d83ed18f6c31632a4728d6a0be5b68d59 (patch)
tree2e23d65f1dac837a9210ade9f146e4f21a180275 /keyboards/metamechs
parent4989af356eaa62f00b5a020d16e4e7d541b49ee1 (diff)
downloadqmk_firmware-3c84157d83ed18f6c31632a4728d6a0be5b68d59.tar.gz
qmk_firmware-3c84157d83ed18f6c31632a4728d6a0be5b68d59.zip
Add timber wolf keyboard (#9353)
* added timber wolf keyboard * removed subfolders * fixed keymap names * fixed layout macro references * swapped c6 and c7 functions * Update keyboards/metamechs/timberwolf/config.h Co-authored-by: Erovia <Erovia@users.noreply.github.com> * Update readme.md * re-updating readme Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Diffstat (limited to 'keyboards/metamechs')
-rw-r--r--keyboards/metamechs/timberwolf/config.h174
-rw-r--r--keyboards/metamechs/timberwolf/info.json70
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c44
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c44
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c44
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c44
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/default/keymap.c44
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c44
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c44
-rw-r--r--keyboards/metamechs/timberwolf/keymaps/via/keymap.c60
-rw-r--r--keyboards/metamechs/timberwolf/readme.md21
-rw-r--r--keyboards/metamechs/timberwolf/rules.mk35
-rw-r--r--keyboards/metamechs/timberwolf/timberwolf.c27
-rw-r--r--keyboards/metamechs/timberwolf/timberwolf.h175
14 files changed, 870 insertions, 0 deletions
diff --git a/keyboards/metamechs/timberwolf/config.h b/keyboards/metamechs/timberwolf/config.h
new file mode 100644
index 000000000..b23fd2fcf
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/config.h
@@ -0,0 +1,174 @@
1/*
2Copyright 2020 Croktopus
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22/* USB Device descriptor parameter */
23#define VENDOR_ID 0x6D6D // MetaMechs
24#define PRODUCT_ID 0x5754 // TW
25#define DEVICE_VER 0x0001
26#define MANUFACTURER MetaMechs
27#define PRODUCT Timber Wolf
28#define DESCRIPTION Timber Wolf
29
30/* key matrix size */
31#define MATRIX_COLS 9
32#define MATRIX_ROWS 12
33
34/*
35 * Keyboard Matrix Assignments
36 *
37 * Change this to how you wired your keyboard
38 * COLS: AVR pins used for columns, left to right
39 * ROWS: AVR pins used for rows, top to bottom
40 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
41 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
42 *
43 */
44#define MATRIX_COL_PINS { B2, D1, D2, C7, F5, F6, F7, F0, E6 }
45#define MATRIX_ROW_PINS { B6, B5, B4, D7, D6, D4, D5, D3, F4, F1, B1, B0 }
46#define UNUSED_PINS
47
48/* COL2ROW, ROW2COL*/
49#define DIODE_DIRECTION COL2ROW
50
51/* Wncoswe pins */
52#define ENCODERS_PAD_A { B7 }
53#define ENCODERS_PAD_B { B3 }
54
55/* Encoder resolution, lower number = more sensitive */
56#define ENCODER_RESOLUTION 2
57
58/* Reverse encoder direction */
59// #define ENCODER_DIRECTION_FLIP
60
61/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
62#define DEBOUNCE 5
63
64/* Backlighting code used for caps lock indicator */
65#define BACKLIGHT_PIN C6
66#define BACKLIGHT_LEVELS 9
67
68/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
69// #define LOCKING_SUPPORT_ENABLE
70/* Locking resynchronize hack */
71// #define LOCKING_RESYNC_ENABLE
72
73/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
74 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
75 */
76// #define GRAVE_ESC_CTRL_OVERRIDE
77
78/*
79 * Force NKRO
80 *
81 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
82 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
83 * makefile for this to work.)
84 *
85 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
86 * until the next keyboard reset.
87 *
88 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
89 * fully operational during normal computer usage.
90 *
91 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
92 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
93 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
94 * power-up.
95 *
96 */
97//#define FORCE_NKRO
98
99/*
100 * Magic Key Options
101 *
102 * Magic keys are hotkey commands that allow control over firmware functions of
103 * the keyboard. They are best used in combination with the HID Listen program,
104 * found here: https://www.pjrc.com/teensy/hid_listen.html
105 *
106 * The options below allow the magic key functionality to be changed. This is
107 * useful if your keyboard/keypad is missing keys and you want magic key support.
108 *
109 */
110
111/* key combination for magic key command */
112/* defined by default; to change, uncomment and set to the combination you want */
113// #define IS_COMMAND() (get_mods() == MOD_MASK_SHIFT)
114
115/* control how magic key switches layers */
116//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
117//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
118//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
119
120/* override magic key keymap */
121//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
122//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
123//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
124//#define MAGIC_KEY_HELP H
125//#define MAGIC_KEY_HELP_ALT SLASH
126//#define MAGIC_KEY_DEBUG D
127//#define MAGIC_KEY_DEBUG_MATRIX X
128//#define MAGIC_KEY_DEBUG_KBD K
129//#define MAGIC_KEY_DEBUG_MOUSE M
130//#define MAGIC_KEY_VERSION V
131//#define MAGIC_KEY_STATUS S
132//#define MAGIC_KEY_CONSOLE C
133//#define MAGIC_KEY_LAYER0 0
134//#define MAGIC_KEY_LAYER0_ALT GRAVE
135//#define MAGIC_KEY_LAYER1 1
136//#define MAGIC_KEY_LAYER2 2
137//#define MAGIC_KEY_LAYER3 3
138//#define MAGIC_KEY_LAYER4 4
139//#define MAGIC_KEY_LAYER5 5
140//#define MAGIC_KEY_LAYER6 6
141//#define MAGIC_KEY_LAYER7 7
142//#define MAGIC_KEY_LAYER8 8
143//#define MAGIC_KEY_LAYER9 9
144//#define MAGIC_KEY_BOOTLOADER B
145//#define MAGIC_KEY_BOOTLOADER_ALT ESC
146//#define MAGIC_KEY_LOCK CAPS
147//#define MAGIC_KEY_EEPROM E
148//#define MAGIC_KEY_EEPROM_CLEAR BSPACE
149//#define MAGIC_KEY_NKRO N
150//#define MAGIC_KEY_SLEEP_LED Z
151
152/*
153 * Feature disable options
154 * These options are also useful to firmware size reduction.
155 */
156
157/* disable debug print */
158//#define NO_DEBUG
159
160/* disable print */
161//#define NO_PRINT
162
163/* disable action features */
164//#define NO_ACTION_LAYER
165//#define NO_ACTION_TAPPING
166//#define NO_ACTION_ONESHOT
167
168/*
169 * MIDI options
170 */
171
172/* Bootmagic Lite key configuration */
173#define BOOTMAGIC_LITE_ROW 0
174#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/metamechs/timberwolf/info.json b/keyboards/metamechs/timberwolf/info.json
new file mode 100644
index 000000000..b483ce31b
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/info.json
@@ -0,0 +1,70 @@
1{
2 "keyboard_name": "Timber Wolf",
3 "url": "https://geekhack.org/index.php?topic=102520.0",
4 "maintainer": "Croktopus",
5 "width": 18.75,
6 "height": 6.5,
7 "layouts": {
8 "LAYOUT_all": {
9 "layout": [
10 {"label":"Mute", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"F1", "x":2.5, "y":0}, {"label":"F2", "x":3.5, "y":0}, {"label":"F3", "x":4.5, "y":0}, {"label":"F4", "x":5.5, "y":0}, {"label":"F5", "x":7, "y":0}, {"label":"F6", "x":8, "y":0}, {"label":"F7", "x":9, "y":0}, {"label":"F8", "x":10, "y":0}, {"label":"F9", "x":11.5, "y":0}, {"label":"F10", "x":12.5, "y":0}, {"label":"F11", "x":13.5, "y":0}, {"label":"F12", "x":14.5, "y":0}, {"label":"Insert", "x":15.75, "y":0}, {"label":"Home", "x":16.75, "y":0}, {"label":"PgUp", "x":17.75, "y":0}, {"label":"End", "x":16.75, "y":1}, {"label":"PgDn", "x":17.75, "y":1},
11 {"label":"Fn", "x":0, "y":1.25}, {"label":"~", "x":1.25, "y":1.25}, {"label":"!", "x":2.25, "y":1.25}, {"label":"@", "x":3.25, "y":1.25}, {"label":"#", "x":4.25, "y":1.25}, {"label":"$", "x":5.25, "y":1.25}, {"label":"%", "x":6.25, "y":1.25}, {"label":"^", "x":7.25, "y":1.25}, {"label":"&", "x":8.25, "y":1.25}, {"label":"*", "x":9.25, "y":1.25}, {"label":"(", "x":10.25, "y":1.25}, {"label":")", "x":11.25, "y":1.25}, {"label":"_", "x":12.25, "y":1.25}, {"label":"+", "x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"label":"Backspace", "x":15.25, "y":1.25},
12 {"label":"Fn", "x":0, "y":2.25}, {"label":"Tab", "x":1.25, "y":2.25, "w":1.5}, {"label":"Q", "x":2.75, "y":2.25}, {"label":"W", "x":3.75, "y":2.25}, {"label":"E", "x":4.75, "y":2.25}, {"label":"R", "x":5.75, "y":2.25}, {"label":"T", "x":6.75, "y":2.25}, {"label":"Y", "x":7.75, "y":2.25}, {"label":"U", "x":8.75, "y":2.25}, {"label":"I", "x":9.75, "y":2.25}, {"label":"O", "x":10.75, "y":2.25}, {"label":"P", "x":11.75, "y":2.25}, {"label":"{", "x":12.75, "y":2.25}, {"label":"}", "x":13.75, "y":2.25}, {"label":"|", "x":14.75, "y":2.25, "w":1.5}, {"label":"Insert", "x":16.5, "y":2.25}, {"label":"PrtSc", "x":17.75, "y":2.25},
13 {"label":"Fn", "x":0, "y":3.25}, {"label":"Caps Lock", "x":1.25, "y":3.25, "w":1.75}, {"label":"A", "x":3, "y":3.25}, {"label":"S", "x":4, "y":3.25}, {"label":"D", "x":5, "y":3.25}, {"label":"F", "x":6, "y":3.25}, {"label":"G", "x":7, "y":3.25}, {"label":"H", "x":8, "y":3.25}, {"label":"J", "x":9, "y":3.25}, {"label":"K", "x":10, "y":3.25}, {"label":"L", "x":11, "y":3.25}, {"label":":", "x":12, "y":3.25}, {"label":"\"", "x":13, "y":3.25}, {"x":14, "y":3.25}, {"label":"Enter", "x":15, "y":3.25, "w":1.25}, {"label":"Delete", "x":16.5, "y":3.25}, {"label":"Enter", "x":17.75, "y":3.25},
14 {"label":"Fn", "x":0, "y":4.25}, {"label":"Shift", "x":1.25, "y":4.25, "w":1.25}, {"x":2.5, "y":4.25}, {"label":"Z", "x":3.5, "y":4.25}, {"label":"X", "x":4.5, "y":4.25}, {"label":"C", "x":5.5, "y":4.25}, {"label":"V", "x":6.5, "y":4.25}, {"label":"B", "x":7.5, "y":4.25}, {"label":"N", "x":8.5, "y":4.25}, {"label":"M", "x":9.5, "y":4.25}, {"label":"<", "x":10.5, "y":4.25}, {"label":">", "x":11.5, "y":4.25}, {"label":"?", "x":12.5, "y":4.25}, {"label":"Shift", "x":13.5, "y":4.25, "w":1.75}, {"label":"Fn", "x":15.25, "y":4.25}, {"label":"Enter", "x":17.75, "y":4.25}, {"label":"\u2191", "x":16.5, "y":4.5},
15 {"label":"Fn", "x":0, "y":5.25}, {"label":"Ctrl", "x":1.25, "y":5.25, "w":1.5}, {"label":"Win", "x":2.75, "y":5.25}, {"label":"Alt", "x":3.75, "y":5.25, "w":1.5}, {"x":5.25, "y":5.25, "w":6}, {"label":"Alt", "x":11.25, "y":5.25, "w":1.5}, {"label":"Win", "x":12.75, "y":5.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.5, "y":5.5}, {"label":"\u2193", "x":16.5, "y":5.5}, {"label":"\u2192", "x":17.5, "y":5.5}]
16 },
17 "LAYOUT_prime_ansi": {
18 "layout": [
19 {"label":"Mute", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"F1", "x":2.5, "y":0}, {"label":"F2", "x":3.5, "y":0}, {"label":"F3", "x":4.5, "y":0}, {"label":"F4", "x":5.5, "y":0}, {"label":"F5", "x":7, "y":0}, {"label":"F6", "x":8, "y":0}, {"label":"F7", "x":9, "y":0}, {"label":"F8", "x":10, "y":0}, {"label":"F9", "x":11.5, "y":0}, {"label":"F10", "x":12.5, "y":0}, {"label":"F11", "x":13.5, "y":0}, {"label":"F12", "x":14.5, "y":0}, {"label":"Insert", "x":15.75, "y":0}, {"label":"Home", "x":16.75, "y":0}, {"label":"PgUp", "x":17.75, "y":0}, {"label":"End", "x":16.75, "y":1}, {"label":"PgDn", "x":17.75, "y":1},
20 {"label":"Fn", "x":0, "y":1.25}, {"label":"~", "x":1.25, "y":1.25}, {"label":"!", "x":2.25, "y":1.25}, {"label":"@", "x":3.25, "y":1.25}, {"label":"#", "x":4.25, "y":1.25}, {"label":"$", "x":5.25, "y":1.25}, {"label":"%", "x":6.25, "y":1.25}, {"label":"^", "x":7.25, "y":1.25}, {"label":"&", "x":8.25, "y":1.25}, {"label":"*", "x":9.25, "y":1.25}, {"label":"(", "x":10.25, "y":1.25}, {"label":")", "x":11.25, "y":1.25}, {"label":"_", "x":12.25, "y":1.25}, {"label":"+", "x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"label":"Backspace", "x":15.25, "y":1.25},
21 {"label":"Fn", "x":0, "y":2.25}, {"label":"Tab", "x":1.25, "y":2.25, "w":1.5}, {"label":"Q", "x":2.75, "y":2.25}, {"label":"W", "x":3.75, "y":2.25}, {"label":"E", "x":4.75, "y":2.25}, {"label":"R", "x":5.75, "y":2.25}, {"label":"T", "x":6.75, "y":2.25}, {"label":"Y", "x":7.75, "y":2.25}, {"label":"U", "x":8.75, "y":2.25}, {"label":"I", "x":9.75, "y":2.25}, {"label":"O", "x":10.75, "y":2.25}, {"label":"P", "x":11.75, "y":2.25}, {"label":"{", "x":12.75, "y":2.25}, {"label":"}", "x":13.75, "y":2.25}, {"label":"|", "x":14.75, "y":2.25, "w":1.5}, {"label":"Insert", "x":16.5, "y":2.25}, {"label":"PrtSc", "x":17.75, "y":2.25},
22 {"label":"Fn", "x":0, "y":3.25}, {"label":"Caps Lock", "x":1.25, "y":3.25, "w":1.75}, {"label":"A", "x":3, "y":3.25}, {"label":"S", "x":4, "y":3.25}, {"label":"D", "x":5, "y":3.25}, {"label":"F", "x":6, "y":3.25}, {"label":"G", "x":7, "y":3.25}, {"label":"H", "x":8, "y":3.25}, {"label":"J", "x":9, "y":3.25}, {"label":"K", "x":10, "y":3.25}, {"label":"L", "x":11, "y":3.25}, {"label":":", "x":12, "y":3.25}, {"label":"\"", "x":13, "y":3.25}, {"label":"Enter", "x":14, "y":3.25, "w":2.25}, {"label":"Delete", "x":16.5, "y":3.25}, {"label":"Enter", "x":17.75, "y":3.25},
23 {"label":"Fn", "x":0, "y":4.25}, {"label":"Shift", "x":1.25, "y":4.25, "w":2.25}, {"label":"Z", "x":3.5, "y":4.25}, {"label":"X", "x":4.5, "y":4.25}, {"label":"C", "x":5.5, "y":4.25}, {"label":"V", "x":6.5, "y":4.25}, {"label":"B", "x":7.5, "y":4.25}, {"label":"N", "x":8.5, "y":4.25}, {"label":"M", "x":9.5, "y":4.25}, {"label":"<", "x":10.5, "y":4.25}, {"label":">", "x":11.5, "y":4.25}, {"label":"?", "x":12.5, "y":4.25}, {"label":"Shift", "x":13.5, "y":4.25, "w":1.75}, {"label":"Fn", "x":15.25, "y":4.25}, {"label":"Enter", "x":17.75, "y":4.25}, {"label":"\u2191", "x":16.5, "y":4.5},
24 {"label":"Fn", "x":0, "y":5.25}, {"label":"Ctrl", "x":1.25, "y":5.25, "w":1.5}, {"label":"Win", "x":2.75, "y":5.25}, {"label":"Alt", "x":3.75, "y":5.25, "w":1.5}, {"x":5.25, "y":5.25, "w":6}, {"label":"Alt", "x":11.25, "y":5.25, "w":1.5}, {"label":"Win", "x":12.75, "y":5.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.5, "y":5.5}, {"label":"\u2193", "x":16.5, "y":5.5}, {"label":"\u2192", "x":17.5, "y":5.5}]
25 },
26 "LAYOUT_prime_iso": {
27 "layout": [
28 {"label":"Mute", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"F1", "x":2.5, "y":0}, {"label":"F2", "x":3.5, "y":0}, {"label":"F3", "x":4.5, "y":0}, {"label":"F4", "x":5.5, "y":0}, {"label":"F5", "x":7, "y":0}, {"label":"F6", "x":8, "y":0}, {"label":"F7", "x":9, "y":0}, {"label":"F8", "x":10, "y":0}, {"label":"F9", "x":11.5, "y":0}, {"label":"F10", "x":12.5, "y":0}, {"label":"F11", "x":13.5, "y":0}, {"label":"F12", "x":14.5, "y":0}, {"label":"Insert", "x":15.75, "y":0}, {"label":"Home", "x":16.75, "y":0}, {"label":"PgUp", "x":17.75, "y":0}, {"label":"End", "x":16.75, "y":1}, {"label":"PgDn", "x":17.75, "y":1},
29 {"label":"Fn", "x":0, "y":1.25}, {"label":"~", "x":1.25, "y":1.25}, {"label":"!", "x":2.25, "y":1.25}, {"label":"@", "x":3.25, "y":1.25}, {"label":"#", "x":4.25, "y":1.25}, {"label":"$", "x":5.25, "y":1.25}, {"label":"%", "x":6.25, "y":1.25}, {"label":"^", "x":7.25, "y":1.25}, {"label":"&", "x":8.25, "y":1.25}, {"label":"*", "x":9.25, "y":1.25}, {"label":"(", "x":10.25, "y":1.25}, {"label":")", "x":11.25, "y":1.25}, {"label":"_", "x":12.25, "y":1.25}, {"label":"+", "x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"label":"Backspace", "x":15.25, "y":1.25},
30 {"label":"Fn", "x":0, "y":2.25}, {"label":"Tab", "x":1.25, "y":2.25, "w":1.5}, {"label":"Q", "x":2.75, "y":2.25}, {"label":"W", "x":3.75, "y":2.25}, {"label":"E", "x":4.75, "y":2.25}, {"label":"R", "x":5.75, "y":2.25}, {"label":"T", "x":6.75, "y":2.25}, {"label":"Y", "x":7.75, "y":2.25}, {"label":"U", "x":8.75, "y":2.25}, {"label":"I", "x":9.75, "y":2.25}, {"label":"O", "x":10.75, "y":2.25}, {"label":"P", "x":11.75, "y":2.25}, {"label":"{", "x":12.75, "y":2.25}, {"label":"}", "x":13.75, "y":2.25}, {"label":"Enter", "x":15, "y":2.25, "w":1.25, "h":2}, {"label":"Insert", "x":16.5, "y":2.25}, {"label":"PrtSc", "x":17.75, "y":2.25},
31 {"label":"Fn", "x":0, "y":3.25}, {"label":"Caps Lock", "x":1.25, "y":3.25, "w":1.75}, {"label":"A", "x":3, "y":3.25}, {"label":"S", "x":4, "y":3.25}, {"label":"D", "x":5, "y":3.25}, {"label":"F", "x":6, "y":3.25}, {"label":"G", "x":7, "y":3.25}, {"label":"H", "x":8, "y":3.25}, {"label":"J", "x":9, "y":3.25}, {"label":"K", "x":10, "y":3.25}, {"label":"L", "x":11, "y":3.25}, {"label":":", "x":12, "y":3.25}, {"label":"\"", "x":13, "y":3.25}, {"x":14, "y":3.25}, {"label":"Delete", "x":16.5, "y":3.25}, {"label":"Enter", "x":17.75, "y":3.25},
32 {"label":"Fn", "x":0, "y":4.25}, {"label":"Shift", "x":1.25, "y":4.25, "w":1.25}, {"x":2.5, "y":4.25}, {"label":"Z", "x":3.5, "y":4.25}, {"label":"X", "x":4.5, "y":4.25}, {"label":"C", "x":5.5, "y":4.25}, {"label":"V", "x":6.5, "y":4.25}, {"label":"B", "x":7.5, "y":4.25}, {"label":"N", "x":8.5, "y":4.25}, {"label":"M", "x":9.5, "y":4.25}, {"label":"<", "x":10.5, "y":4.25}, {"label":">", "x":11.5, "y":4.25}, {"label":"?", "x":12.5, "y":4.25}, {"label":"Shift", "x":13.5, "y":4.25, "w":1.75}, {"label":"Fn", "x":15.25, "y":4.25}, {"label":"Enter", "x":17.75, "y":4.25}, {"label":"\u2191", "x":16.5, "y":4.5},
33 {"label":"Fn", "x":0, "y":5.25}, {"label":"Ctrl", "x":1.25, "y":5.25, "w":1.5}, {"label":"Win", "x":2.75, "y":5.25}, {"label":"Alt", "x":3.75, "y":5.25, "w":1.5}, {"x":5.25, "y":5.25, "w":6}, {"label":"Alt", "x":11.25, "y":5.25, "w":1.5}, {"label":"Win", "x":12.75, "y":5.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.5, "y":5.5}, {"label":"\u2193", "x":16.5, "y":5.5}, {"label":"\u2192", "x":17.5, "y":5.5}]
34 },
35 "LAYOUT_b_ansi": {
36 "layout": [
37 {"label":"Mute", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"F1", "x":2.5, "y":0}, {"label":"F2", "x":3.5, "y":0}, {"label":"F3", "x":4.5, "y":0}, {"label":"F4", "x":5.5, "y":0}, {"label":"F5", "x":7, "y":0}, {"label":"F6", "x":8, "y":0}, {"label":"F7", "x":9, "y":0}, {"label":"F8", "x":10, "y":0}, {"label":"F9", "x":11.5, "y":0}, {"label":"F10", "x":12.5, "y":0}, {"label":"F11", "x":13.5, "y":0}, {"label":"F12", "x":14.5, "y":0}, {"label":"PrtSc", "x":15.75, "y":0}, {"label":"Scroll Lock", "x":16.75, "y":0}, {"label":"Pause", "x":17.75, "y":0},
38 {"label":"Fn", "x":0, "y":1.25}, {"label":"~", "x":1.25, "y":1.25}, {"label":"!", "x":2.25, "y":1.25}, {"label":"@", "x":3.25, "y":1.25}, {"label":"#", "x":4.25, "y":1.25}, {"label":"$", "x":5.25, "y":1.25}, {"label":"%", "x":6.25, "y":1.25}, {"label":"^", "x":7.25, "y":1.25}, {"label":"&", "x":8.25, "y":1.25}, {"label":"*", "x":9.25, "y":1.25}, {"label":"(", "x":10.25, "y":1.25}, {"label":")", "x":11.25, "y":1.25}, {"label":"_", "x":12.25, "y":1.25}, {"label":"+", "x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"label":"Backspace", "x":15.25, "y":1.25}, {"label":"Home", "x":16.75, "y":1.25}, {"label":"PgUp", "x":17.75, "y":1.25},
39 {"label":"Fn", "x":0, "y":2.25}, {"label":"Tab", "x":1.25, "y":2.25, "w":1.5}, {"label":"Q", "x":2.75, "y":2.25}, {"label":"W", "x":3.75, "y":2.25}, {"label":"E", "x":4.75, "y":2.25}, {"label":"R", "x":5.75, "y":2.25}, {"label":"T", "x":6.75, "y":2.25}, {"label":"Y", "x":7.75, "y":2.25}, {"label":"U", "x":8.75, "y":2.25}, {"label":"I", "x":9.75, "y":2.25}, {"label":"O", "x":10.75, "y":2.25}, {"label":"P", "x":11.75, "y":2.25}, {"label":"{", "x":12.75, "y":2.25}, {"label":"}", "x":13.75, "y":2.25}, {"label":"|", "x":14.75, "y":2.25, "w":1.5}, {"label":"End", "x":16.75, "y":2.25}, {"label":"PgDn", "x":17.75, "y":2.25},
40 {"label":"Fn", "x":0, "y":3.25}, {"label":"Caps Lock", "x":1.25, "y":3.25, "w":1.75}, {"label":"A", "x":3, "y":3.25}, {"label":"S", "x":4, "y":3.25}, {"label":"D", "x":5, "y":3.25}, {"label":"F", "x":6, "y":3.25}, {"label":"G", "x":7, "y":3.25}, {"label":"H", "x":8, "y":3.25}, {"label":"J", "x":9, "y":3.25}, {"label":"K", "x":10, "y":3.25}, {"label":"L", "x":11, "y":3.25}, {"label":":", "x":12, "y":3.25}, {"label":"\"", "x":13, "y":3.25}, {"label":"Enter", "x":14, "y":3.25, "w":2.25}, {"label":"Delete", "x":16.75, "y":3.25}, {"label":"Insert", "x":17.75, "y":3.25},
41 {"label":"Fn", "x":0, "y":4.25}, {"label":"Shift", "x":1.25, "y":4.25, "w":2.25}, {"label":"Z", "x":3.5, "y":4.25}, {"label":"X", "x":4.5, "y":4.25}, {"label":"C", "x":5.5, "y":4.25}, {"label":"V", "x":6.5, "y":4.25}, {"label":"B", "x":7.5, "y":4.25}, {"label":"N", "x":8.5, "y":4.25}, {"label":"M", "x":9.5, "y":4.25}, {"label":"<", "x":10.5, "y":4.25}, {"label":">", "x":11.5, "y":4.25}, {"label":"?", "x":12.5, "y":4.25}, {"label":"Shift", "x":13.5, "y":4.25, "w":1.75}, {"label":"Fn", "x":15.25, "y":4.25}, {"label":"Enter", "x":17.75, "y":4.25}, {"label":"\u2191", "x":16.5, "y":4.5},
42 {"label":"Fn", "x":0, "y":5.25}, {"label":"Ctrl", "x":1.25, "y":5.25, "w":1.5}, {"label":"Win", "x":2.75, "y":5.25}, {"label":"Alt", "x":3.75, "y":5.25, "w":1.5}, {"x":5.25, "y":5.25, "w":6}, {"label":"Alt", "x":11.25, "y":5.25, "w":1.5}, {"label":"Win", "x":12.75, "y":5.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.5, "y":5.5}, {"label":"\u2193", "x":16.5, "y":5.5}, {"label":"\u2192", "x":17.5, "y":5.5}]
43 },
44 "LAYOUT_b_iso": {
45 "layout": [
46 {"label":"Mute", "x":0, "y":0}, {"label":"Esc", "x":1.25, "y":0}, {"label":"F1", "x":2.5, "y":0}, {"label":"F2", "x":3.5, "y":0}, {"label":"F3", "x":4.5, "y":0}, {"label":"F4", "x":5.5, "y":0}, {"label":"F5", "x":7, "y":0}, {"label":"F6", "x":8, "y":0}, {"label":"F7", "x":9, "y":0}, {"label":"F8", "x":10, "y":0}, {"label":"F9", "x":11.5, "y":0}, {"label":"F10", "x":12.5, "y":0}, {"label":"F11", "x":13.5, "y":0}, {"label":"F12", "x":14.5, "y":0}, {"label":"PrtSc", "x":15.75, "y":0}, {"label":"Scroll Lock", "x":16.75, "y":0}, {"label":"Pause", "x":17.75, "y":0},
47 {"label":"Fn", "x":0, "y":1.25}, {"label":"~", "x":1.25, "y":1.25}, {"label":"!", "x":2.25, "y":1.25}, {"label":"@", "x":3.25, "y":1.25}, {"label":"#", "x":4.25, "y":1.25}, {"label":"$", "x":5.25, "y":1.25}, {"label":"%", "x":6.25, "y":1.25}, {"label":"^", "x":7.25, "y":1.25}, {"label":"&", "x":8.25, "y":1.25}, {"label":"*", "x":9.25, "y":1.25}, {"label":"(", "x":10.25, "y":1.25}, {"label":")", "x":11.25, "y":1.25}, {"label":"_", "x":12.25, "y":1.25}, {"label":"+", "x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"label":"Backspace", "x":15.25, "y":1.25}, {"label":"Home", "x":16.75, "y":1.25}, {"label":"PgUp", "x":17.75, "y":1.25},
48 {"label":"Fn", "x":0, "y":2.25}, {"label":"Tab", "x":1.25, "y":2.25, "w":1.5}, {"label":"Q", "x":2.75, "y":2.25}, {"label":"W", "x":3.75, "y":2.25}, {"label":"E", "x":4.75, "y":2.25}, {"label":"R", "x":5.75, "y":2.25}, {"label":"T", "x":6.75, "y":2.25}, {"label":"Y", "x":7.75, "y":2.25}, {"label":"U", "x":8.75, "y":2.25}, {"label":"I", "x":9.75, "y":2.25}, {"label":"O", "x":10.75, "y":2.25}, {"label":"P", "x":11.75, "y":2.25}, {"label":"{", "x":12.75, "y":2.25}, {"label":"}", "x":13.75, "y":2.25}, {"label":"Enter", "x":15, "y":2.25, "w":1.25, "h":2}, {"label":"End", "x":16.75, "y":2.25}, {"label":"PgDn", "x":17.75, "y":2.25},
49 {"label":"Fn", "x":0, "y":3.25}, {"label":"Caps Lock", "x":1.25, "y":3.25, "w":1.75}, {"label":"A", "x":3, "y":3.25}, {"label":"S", "x":4, "y":3.25}, {"label":"D", "x":5, "y":3.25}, {"label":"F", "x":6, "y":3.25}, {"label":"G", "x":7, "y":3.25}, {"label":"H", "x":8, "y":3.25}, {"label":"J", "x":9, "y":3.25}, {"label":"K", "x":10, "y":3.25}, {"label":"L", "x":11, "y":3.25}, {"label":":", "x":12, "y":3.25}, {"label":"\"", "x":13, "y":3.25}, {"x":14, "y":3.25}, {"label":"Delete", "x":16.75, "y":3.25}, {"label":"Insert", "x":17.75, "y":3.25},
50 {"label":"Fn", "x":0, "y":4.25}, {"label":"Shift", "x":1.25, "y":4.25, "w":1.25}, {"x":2.5, "y":4.25}, {"label":"Z", "x":3.5, "y":4.25}, {"label":"X", "x":4.5, "y":4.25}, {"label":"C", "x":5.5, "y":4.25}, {"label":"V", "x":6.5, "y":4.25}, {"label":"B", "x":7.5, "y":4.25}, {"label":"N", "x":8.5, "y":4.25}, {"label":"M", "x":9.5, "y":4.25}, {"label":"<", "x":10.5, "y":4.25}, {"label":">", "x":11.5, "y":4.25}, {"label":"?", "x":12.5, "y":4.25}, {"label":"Shift", "x":13.5, "y":4.25, "w":1.75}, {"label":"Fn", "x":15.25, "y":4.25}, {"label":"Enter", "x":17.75, "y":4.25}, {"label":"\u2191", "x":16.5, "y":4.5},
51 {"label":"Fn", "x":0, "y":5.25}, {"label":"Ctrl", "x":1.25, "y":5.25, "w":1.5}, {"label":"Win", "x":2.75, "y":5.25}, {"label":"Alt", "x":3.75, "y":5.25, "w":1.5}, {"x":5.25, "y":5.25, "w":6}, {"label":"Alt", "x":11.25, "y":5.25, "w":1.5}, {"label":"Win", "x":12.75, "y":5.25}, {"label":"Ctrl", "x":13.75, "y":5.25, "w":1.5}, {"label":"\u2190", "x":15.5, "y":5.5}, {"label":"\u2193", "x":16.5, "y":5.5}, {"label":"\u2192", "x":17.5, "y":5.5}]
52 },
53 "LAYOUT_a_ansi": {
54 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.75, "y":0}, {"label":"F6", "x":6.75, "y":0}, {"label":"F7", "x":7.75, "y":0}, {"label":"F8", "x":8.75, "y":0}, {"label":"F9", "x":10.25, "y":0}, {"label":"F10", "x":11.25, "y":0}, {"label":"F11", "x":12.25, "y":0}, {"label":"F12", "x":13.25, "y":0}, {"label":"PrtSc", "x":14.5, "y":0}, {"label":"Insert", "x":15.75, "y":0}, {"label":"Home", "x":16.75, "y":0}, {"label":"PgUp", "x":17.75, "y":0}, {"label":"End", "x":16.75, "y":1}, {"label":"PgDn", "x":17.75, "y":1},
55 {"label":"Fn", "x":0, "y":1.25}, {"label":"~", "x":1.25, "y":1.25}, {"label":"!", "x":2.25, "y":1.25}, {"label":"@", "x":3.25, "y":1.25}, {"label":"#", "x":4.25, "y":1.25}, {"label":"$", "x":5.25, "y":1.25}, {"label":"%", "x":6.25, "y":1.25}, {"label":"^", "x":7.25, "y":1.25}, {"label":"&", "x":8.25, "y":1.25}, {"label":"*", "x":9.25, "y":1.25}, {"label":"(", "x":10.25, "y":1.25}, {"label":")", "x":11.25, "y":1.25}, {"label":"_", "x":12.25, "y":1.25}, {"label":"+", "x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"label":"Backspace", "x":15.25, "y":1.25},
56 {"label":"Fn", "x":0, "y":2.25}, {"label":"Tab", "x":1.25, "y":2.25, "w":1.5}, {"label":"Q", "x":2.75, "y":2.25}, {"label":"W", "x":3.75, "y":2.25}, {"label":"E", "x":4.75, "y":2.25}, {"label":"R", "x":5.75, "y":2.25}, {"label":"T", "x":6.75, "y":2.25}, {"label":"Y", "x":7.75, "y":2.25}, {"label":"U", "x":8.75, "y":2.25}, {"label":"I", "x":9.75, "y":2.25}, {"label":"O", "x":10.75, "y":2.25}, {"label":"P", "x":11.75, "y":2.25}, {"label":"{", "x":12.75, "y":2.25}, {"label":"}", "x":13.75, "y":2.25}, {"label":"|", "x":14.75, "y":2.25, "w":1.5}, {"label":"Insert", "x":16.5, "y":2.25}, {"label":"Mute", "x":17.75, "y":2.625},
57 {"label":"Fn", "x":0, "y":3.25}, {"label":"Caps Lock", "x":1.25, "y":3.25, "w":1.75}, {"label":"A", "x":3, "y":3.25}, {"label":"S", "x":4, "y":3.25}, {"label":"D", "x":5, "y":3.25}, {"label":"F", "x":6, "y":3.25}, {"label":"G", "x":7, "y":3.25}, {"label":"H", "x":8, "y":3.25}, {"label":"J", "x":9, "y":3.25}, {"label":"K", "x":10, "y":3.25}, {"label":"L", "x":11, "y":3.25}, {"label":":", "x":12, "y":3.25}, {"label":"\"", "x":13, "y":3.25}, {"label":"Enter", "x":14, "y":3.25, "w":2.25}, {"label":"Delete", "x":16.5, "y":3.25},
58 {"label":"Fn", "x":0, "y":4.25}, {"label":"Shift", "x":1.25, "y":4.25, "w":2.25}, {"label":"Z", "x":3.5, "y":4.25}, {"label":"X", "x":4.5, "y":4.25}, {"label":"C", "x":5.5, "y":4.25}, {"label":"V", "x":6.5, "y":4.25}, {"label":"B", "x":7.5, "y":4.25}, {"label":"N", "x":8.5, "y":4.25}, {"label":"M", "x":9.5, "y":4.25}, {"label":"<", "x":10.5, "y":4.25}, {"label":">", "x":11.5, "y":4.25}, {"label":"?", "x":12.5, "y":4.25}, {"label":"Shift", "x":13.5, "y":4.25, "w":1.75}, {"label":"Enter", "x":17.75, "y":4.25}, {"label":"\u2191", "x":15.5, "y":4.5},
59 {"label":"Fn", "x":0, "y":5.25}, {"label":"Ctrl", "x":1.25, "y":5.25, "w":1.25}, {"label":"Win", "x":2.5, "y":5.25, "w":1.25}, {"label":"Alt", "x":3.75, "y":5.25, "w":1.25}, {"x":5, "y":5.25, "w":6.25}, {"label":"Alt", "x":11.25, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":12.75, "y":5.25, "w":1.5}, {"label":"Enter", "x":17.75, "y":5.25}, {"label":"\u2190", "x":14.5, "y":5.5}, {"label":"\u2193", "x":15.5, "y":5.5}, {"label":"\u2192", "x":16.5, "y":5.5}]
60 },
61 "LAYOUT_a_iso": {
62 "layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":1.25, "y":0}, {"label":"F2", "x":2.25, "y":0}, {"label":"F3", "x":3.25, "y":0}, {"label":"F4", "x":4.25, "y":0}, {"label":"F5", "x":5.75, "y":0}, {"label":"F6", "x":6.75, "y":0}, {"label":"F7", "x":7.75, "y":0}, {"label":"F8", "x":8.75, "y":0}, {"label":"F9", "x":10.25, "y":0}, {"label":"F10", "x":11.25, "y":0}, {"label":"F11", "x":12.25, "y":0}, {"label":"F12", "x":13.25, "y":0}, {"label":"PrtSc", "x":14.5, "y":0}, {"label":"Insert", "x":15.75, "y":0}, {"label":"Home", "x":16.75, "y":0}, {"label":"PgUp", "x":17.75, "y":0}, {"label":"End", "x":16.75, "y":1}, {"label":"PgDn", "x":17.75, "y":1},
63 {"label":"Fn", "x":0, "y":1.25}, {"label":"~", "x":1.25, "y":1.25}, {"label":"!", "x":2.25, "y":1.25}, {"label":"@", "x":3.25, "y":1.25}, {"label":"#", "x":4.25, "y":1.25}, {"label":"$", "x":5.25, "y":1.25}, {"label":"%", "x":6.25, "y":1.25}, {"label":"^", "x":7.25, "y":1.25}, {"label":"&", "x":8.25, "y":1.25}, {"label":"*", "x":9.25, "y":1.25}, {"label":"(", "x":10.25, "y":1.25}, {"label":")", "x":11.25, "y":1.25}, {"label":"_", "x":12.25, "y":1.25}, {"label":"+", "x":13.25, "y":1.25}, {"x":14.25, "y":1.25}, {"label":"Backspace", "x":15.25, "y":1.25},
64 {"label":"Fn", "x":0, "y":2.25}, {"label":"Tab", "x":1.25, "y":2.25, "w":1.5}, {"label":"Q", "x":2.75, "y":2.25}, {"label":"W", "x":3.75, "y":2.25}, {"label":"E", "x":4.75, "y":2.25}, {"label":"R", "x":5.75, "y":2.25}, {"label":"T", "x":6.75, "y":2.25}, {"label":"Y", "x":7.75, "y":2.25}, {"label":"U", "x":8.75, "y":2.25}, {"label":"I", "x":9.75, "y":2.25}, {"label":"O", "x":10.75, "y":2.25}, {"label":"P", "x":11.75, "y":2.25}, {"label":"{", "x":12.75, "y":2.25}, {"label":"}", "x":13.75, "y":2.25}, {"label":"Enter", "x":15, "y":2.25, "w":1.25, "h":2}, {"label":"Insert", "x":16.5, "y":2.25}, {"label":"Mute", "x":17.75, "y":2.625},
65 {"label":"Fn", "x":0, "y":3.25}, {"label":"Caps Lock", "x":1.25, "y":3.25, "w":1.75}, {"label":"A", "x":3, "y":3.25}, {"label":"S", "x":4, "y":3.25}, {"label":"D", "x":5, "y":3.25}, {"label":"F", "x":6, "y":3.25}, {"label":"G", "x":7, "y":3.25}, {"label":"H", "x":8, "y":3.25}, {"label":"J", "x":9, "y":3.25}, {"label":"K", "x":10, "y":3.25}, {"label":"L", "x":11, "y":3.25}, {"label":":", "x":12, "y":3.25}, {"label":"\"", "x":13, "y":3.25}, {"x":14, "y":3.25}, {"label":"Delete", "x":16.5, "y":3.25},
66 {"label":"Fn", "x":0, "y":4.25}, {"label":"Shift", "x":1.25, "y":4.25, "w":1.25}, {"x":2.5, "y":4.25}, {"label":"Z", "x":3.5, "y":4.25}, {"label":"X", "x":4.5, "y":4.25}, {"label":"C", "x":5.5, "y":4.25}, {"label":"V", "x":6.5, "y":4.25}, {"label":"B", "x":7.5, "y":4.25}, {"label":"N", "x":8.5, "y":4.25}, {"label":"M", "x":9.5, "y":4.25}, {"label":"<", "x":10.5, "y":4.25}, {"label":">", "x":11.5, "y":4.25}, {"label":"?", "x":12.5, "y":4.25}, {"label":"Shift", "x":13.5, "y":4.25, "w":1.75}, {"label":"Enter", "x":17.75, "y":4.25}, {"label":"\u2191", "x":15.5, "y":4.5},
67 {"label":"Fn", "x":0, "y":5.25}, {"label":"Ctrl", "x":1.25, "y":5.25, "w":1.25}, {"label":"Win", "x":2.5, "y":5.25, "w":1.25}, {"label":"Alt", "x":3.75, "y":5.25, "w":1.25}, {"x":5, "y":5.25, "w":6.25}, {"label":"Alt", "x":11.25, "y":5.25, "w":1.5}, {"label":"Ctrl", "x":12.75, "y":5.25, "w":1.5}, {"label":"Enter", "x":17.75, "y":5.25}, {"label":"\u2190", "x":14.5, "y":5.5}, {"label":"\u2193", "x":15.5, "y":5.5}, {"label":"\u2192", "x":16.5, "y":5.5}]
68 }
69 }
70} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c b/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c
new file mode 100644
index 000000000..73c5ca576
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/keymaps/a_ansi/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Base */
20 [0] = LAYOUT_a_ansi(
21 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_INS ,KC_HOME,KC_PGUP,
22 RESET ,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_DEL ,KC_END ,KC_PGDN,
23 BL_STEP,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_INS ,KC_MUTE,
24 MO(1) ,KC_CAPS,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT ,KC_ENT ,KC_DEL ,
25 MO(1) ,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT, KC_UP ,KC_PENT,
26 MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT,KC_PENT
27 ),
28 [1] = LAYOUT_a_ansi(
29 RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
30 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
32 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,_______ ,
33 MO(1) ,_______ ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
34 MO(1) ,_______,_______,_______ ,_______ ,_______,_______, _______,_______,_______,_______
35 )
36};
37
38void encoder_update_user(uint8_t index, bool clockwise) {
39 if (clockwise) {
40 tap_code(KC_VOLU);
41 } else {
42 tap_code(KC_VOLD);
43 }
44} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c b/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c
new file mode 100644
index 000000000..9dd448ff6
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/keymaps/a_iso/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Base */
20 [0] = LAYOUT_a_iso(
21 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_INS ,KC_HOME,KC_PGUP,
22 RESET ,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_DEL ,KC_END ,KC_PGDN,
23 BL_STEP,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_INS ,KC_MUTE,
24 MO(1) ,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_DEL ,
25 MO(1) ,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_PENT,
26 MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT,KC_PENT
27 ),
28 [1] = LAYOUT_a_iso(
29 RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
30 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
32 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,
33 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
34 MO(1) ,_______,_______,_______ ,_______ ,_______,_______, _______,_______,_______,_______
35 )
36};
37
38void encoder_update_user(uint8_t index, bool clockwise) {
39 if (clockwise) {
40 tap_code(KC_VOLU);
41 } else {
42 tap_code(KC_VOLD);
43 }
44} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c b/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c
new file mode 100644
index 000000000..2500894f9
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/keymaps/b_ansi/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Base */
20 [0] = LAYOUT_b_ansi(
21 KC_MUTE,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,
22 RESET ,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_DEL ,KC_HOME,KC_PGUP,
23 BL_STEP,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_END ,KC_PGDN,
24 MO(1) ,KC_CAPS,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT ,KC_ENT ,KC_DEL ,KC_INS ,
25 MO(1) ,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT,MO(1) ,KC_UP ,KC_PENT,
26 MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT
27 ),
28 [1] = LAYOUT_b_ansi(
29 RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
30 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
32 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,_______,_______,
33 MO(1) ,_______ ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,
34 MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______ ,_______,_______,_______
35 )
36};
37
38void encoder_update_user(uint8_t index, bool clockwise) {
39 if (clockwise) {
40 tap_code(KC_VOLU);
41 } else {
42 tap_code(KC_VOLD);
43 }
44} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c b/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c
new file mode 100644
index 000000000..cfc5757ad
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/keymaps/b_iso/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Base */
20 [0] = LAYOUT_b_iso(
21 KC_MUTE,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,
22 RESET ,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_DEL ,KC_HOME,KC_PGUP,
23 BL_STEP,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_END ,KC_PGDN,
24 MO(1) ,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_DEL ,KC_INS ,
25 MO(1) ,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,MO(1) ,KC_UP ,KC_PENT,
26 MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT
27 ),
28 [1] = LAYOUT_b_iso(
29 RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
30 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
32 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
33 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
34 MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______ ,_______,_______,_______
35 )
36};
37
38void encoder_update_user(uint8_t index, bool clockwise) {
39 if (clockwise) {
40 tap_code(KC_VOLU);
41 } else {
42 tap_code(KC_VOLD);
43 }
44} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/keymaps/default/keymap.c b/keyboards/metamechs/timberwolf/keymaps/default/keymap.c
new file mode 100644
index 000000000..8663eca73
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/keymaps/default/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Base */
20 [0] = LAYOUT_all(
21 KC_MUTE,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,
22 RESET ,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_DEL ,KC_END ,KC_PGDN,
23 BL_STEP,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_PSCR,KC_SLCK,
24 MO(1) ,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_DEL ,KC_INS ,
25 MO(1) ,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,MO(1) ,KC_NO ,KC_UP ,KC_PENT,
26 MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL,KC_LEFT,KC_LEFT,KC_DOWN,KC_RGHT,KC_NO
27 ),
28 [1] = LAYOUT_all(
29 RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
30 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
32 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
33 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
34 MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,_______
35 )
36};
37
38void encoder_update_user(uint8_t index, bool clockwise) {
39 if (clockwise) {
40 tap_code(KC_VOLU);
41 } else {
42 tap_code(KC_VOLD);
43 }
44} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c b/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c
new file mode 100644
index 000000000..e0436dee9
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/keymaps/prime_ansi/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Base */
20 [0] = LAYOUT_prime_ansi(
21 KC_MUTE,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,
22 RESET ,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_DEL ,KC_END ,KC_PGDN,
23 BL_STEP,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_PSCR,KC_SLCK,
24 MO(1) ,KC_CAPS,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN,KC_QUOT ,KC_ENT ,KC_DEL ,KC_INS ,
25 MO(1) ,KC_LSFT ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_N ,KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_RSFT,MO(1) ,KC_UP ,KC_PENT,
26 MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT
27 ),
28 [1] = LAYOUT_prime_ansi(
29 RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
30 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
32 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______ ,_______,_______,
33 MO(1) ,_______ ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,
34 MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______ ,_______,_______,_______
35 )
36};
37
38void encoder_update_user(uint8_t index, bool clockwise) {
39 if (clockwise) {
40 tap_code(KC_VOLU);
41 } else {
42 tap_code(KC_VOLD);
43 }
44} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c b/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c
new file mode 100644
index 000000000..bffc019c3
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/keymaps/prime_iso/keymap.c
@@ -0,0 +1,44 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Base */
20 [0] = LAYOUT_prime_iso(
21 KC_MUTE,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,
22 RESET ,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_DEL ,KC_END ,KC_PGDN,
23 BL_STEP,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_PSCR,KC_SLCK,
24 MO(1) ,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_DEL ,KC_INS ,
25 MO(1) ,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,MO(1) ,KC_UP ,KC_PENT,
26 MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL ,KC_LEFT,KC_DOWN,KC_RGHT
27 ),
28 [1] = LAYOUT_prime_iso(
29 RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
30 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
32 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
33 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
34 MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______ ,_______,_______,_______
35 )
36};
37
38void encoder_update_user(uint8_t index, bool clockwise) {
39 if (clockwise) {
40 tap_code(KC_VOLU);
41 } else {
42 tap_code(KC_VOLD);
43 }
44} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/keymaps/via/keymap.c b/keyboards/metamechs/timberwolf/keymaps/via/keymap.c
new file mode 100644
index 000000000..a6c5b6628
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/keymaps/via/keymap.c
@@ -0,0 +1,60 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 /* Base */
20 [0] = LAYOUT_all(
21 KC_MUTE,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,
22 RESET ,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_DEL ,KC_END ,KC_PGDN,
23 BL_STEP,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_PSCR,KC_SLCK,
24 MO(1) ,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_DEL ,KC_INS ,
25 MO(1) ,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,MO(1) ,KC_UP ,KC_NO ,KC_PENT,
26 MO(1) ,KC_LCTL,KC_LGUI,KC_LALT ,KC_SPC ,KC_RALT,KC_RGUI,KC_RCTL,KC_LEFT,KC_LEFT,KC_DOWN,KC_RGHT,KC_NO
27 ),
28 [1] = LAYOUT_all(
29 RESET ,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
30 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
31 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
32 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
33 MO(1) ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
34 MO(1) ,_______,_______,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,_______
35 ),
36 [2] = LAYOUT_all(
37 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
38 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
39 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
40 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
41 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
42 _______,_______,_______,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,_______
43 ),
44 [3] = LAYOUT_all(
45 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,_______,
46 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
47 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
48 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ ,_______,_______,
49 _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
50 _______,_______,_______,_______ ,_______ ,_______,_______,_______,_______,_______,_______,_______,_______
51 )
52};
53
54void encoder_update_user(uint8_t index, bool clockwise) {
55 if (clockwise) {
56 tap_code(KC_VOLU);
57 } else {
58 tap_code(KC_VOLD);
59 }
60} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/readme.md b/keyboards/metamechs/timberwolf/readme.md
new file mode 100644
index 000000000..fbea1acf9
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/readme.md
@@ -0,0 +1,21 @@
1# Timber Wolf
2
3![Timber Wolf](https://i.imgur.com/Kz9fV6t.jpg)
4
5A compact TKL/XL 75% with rotary encoder and macro column.
6
7* Keyboard Maintainer: [Croktopus](https://github.com/Croktopus)
8* Hardware Supported: Timber Wolf PCB using ATmega32u4
9* Hardware Availability: [GB ended October 2019](https://geekhack.org/index.php?topic=102520.0)
10
11Make command depends on the physical layout you purchased - for example, if you purchased a TBR-Prime and want to use an ANSI layout, you would use:
12
13 make metamechs/timberwolf:prime_ansi
14
15or for a TBR-B with ISO you would use:
16
17 make metamechs/timberwolf:b_iso
18
19etc.
20
21See 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).
diff --git a/keyboards/metamechs/timberwolf/rules.mk b/keyboards/metamechs/timberwolf/rules.mk
new file mode 100644
index 000000000..a1275c2d6
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/rules.mk
@@ -0,0 +1,35 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = atmel-dfu
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = yes # USB Nkey Rollover
26BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support
29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
30AUDIO_ENABLE = no # Audio output on port C6
31FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
32HD44780_ENABLE = no # Enable support for HD44780 based LCDs
33ENCODER_ENABLE = yes # Enable encoder support
34
35BACKLIGHT_DRIVER = software \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/timberwolf.c b/keyboards/metamechs/timberwolf/timberwolf.c
new file mode 100644
index 000000000..c3fb24924
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/timberwolf.c
@@ -0,0 +1,27 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "timberwolf.h"
18
19bool led_update_kb(led_t led_state) {
20 bool runDefault = led_update_user(led_state);
21 if (led_state.caps_lock) {
22 backlight_enable();
23 } else {
24 backlight_disable();
25 }
26 return runDefault;
27} \ No newline at end of file
diff --git a/keyboards/metamechs/timberwolf/timberwolf.h b/keyboards/metamechs/timberwolf/timberwolf.h
new file mode 100644
index 000000000..1f19c6019
--- /dev/null
+++ b/keyboards/metamechs/timberwolf/timberwolf.h
@@ -0,0 +1,175 @@
1/* Copyright 2020 Croktopus
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19#include "quantum.h"
20
21#define ____ KC_NO
22
23#define LAYOUT_all( \
24 K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
25 K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
26 K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K048, K058, \
27 K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, K067, K068, K078, \
28 K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K097, K088, K098, \
29 K100, K110, K101, K111, K113, K105, K115, K106, K116, K107, K117, K108, K118 \
30) { \
31 { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
32 { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
33 { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
34 { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
35 { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
36 { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
37 { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
38 { K070, K071, K072, K073, K074, K075, K076, ____, K078 }, \
39 { K080, K081, K082, K083, K084, K085, K086, K087, K088 }, \
40 { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
41 { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
42 { K110, K111, ____, K113, ____, K115, K116, K117, K118 } \
43}
44
45#define LAYOUT_prime_ansi( \
46 K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
47 K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
48 K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K048, K058, \
49 K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K067, K068, K078, \
50 K080, K090, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K088, K098, \
51 K100, K110, K101, K111, K113, K105, K115, K106, K107, K117, K108 \
52) { \
53 { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
54 { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
55 { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
56 { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
57 { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
58 { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
59 { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
60 { K070, K071, K072, K073, K074, K075, ____, ____, K078 }, \
61 { K080, ____, K082, K083, K084, K085, K086, K087, K088 }, \
62 { K090, K091, K092, K093, K094, K095, K096, ____, K098 }, \
63 { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
64 { K110, K111, ____, K113, ____, K115, ____, K117, ____ } \
65}
66
67#define LAYOUT_prime_iso( \
68 K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
69 K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
70 K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K048, K058, \
71 K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, K067, K068, K078, \
72 K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K097, K098, \
73 K100, K110, K101, K111, K113, K105, K115, K106, K107, K117, K108 \
74) { \
75 { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
76 { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
77 { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
78 { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
79 { K040, K041, K042, K043, K044, K045, K046, ____, K048 }, \
80 { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
81 { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
82 { K070, K071, K072, K073, K074, K075, K076, ____, K078 }, \
83 { K080, K081, K082, K083, K084, K085, K086, K087, ____ }, \
84 { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
85 { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
86 { K110, K111, ____, K113, ____, K115, ____, K117, ____ } \
87}
88
89#define LAYOUT_b_ansi( \
90 K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
91 K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
92 K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K048, K058, \
93 K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K067, K068, K078, \
94 K080, K090, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K088, K098, \
95 K100, K110, K101, K111, K113, K105, K115, K106, K107, K117, K108 \
96) { \
97 { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
98 { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
99 { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
100 { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
101 { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
102 { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
103 { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
104 { K070, K071, K072, K073, K074, K075, ____, ____, K078 }, \
105 { K080, ____, K082, K083, K084, K085, K086, K087, K088 }, \
106 { K090, K091, K092, K093, K094, K095, K096, ____, K098 }, \
107 { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
108 { K110, K111, ____, K113, ____, K115, ____, K117, ____ } \
109}
110
111#define LAYOUT_b_iso( \
112 K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
113 K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
114 K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K048, K058, \
115 K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, K067, K068, K078, \
116 K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K087, K097, K098, \
117 K100, K110, K101, K111, K113, K105, K115, K106, K107, K117, K108 \
118) { \
119 { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
120 { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
121 { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
122 { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
123 { K040, K041, K042, K043, K044, K045, K046, ____, K048 }, \
124 { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
125 { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
126 { K070, K071, K072, K073, K074, K075, K076, ____, K078 }, \
127 { K080, K081, K082, K083, K084, K085, K086, K087, ____ }, \
128 { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
129 { K100, K101, ____, ____, ____, K105, K106, K107, K108 }, \
130 { K110, K111, ____, K113, ____, K115, ____, K117, ____ } \
131}
132
133#define LAYOUT_a_ansi( \
134 K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
135 K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
136 K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K047, K048, K058, \
137 K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K067, K068, \
138 K080, K090, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K097, K098, \
139 K100, K110, K101, K111, K113, K105, K115, K116, K107, K117, K118 \
140) { \
141 { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
142 { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
143 { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
144 { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
145 { K040, K041, K042, K043, K044, K045, K046, K047, K048 }, \
146 { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
147 { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
148 { K070, K071, K072, K073, K074, K075, ____, ____, ____ }, \
149 { K080, ____, K082, K083, K084, K085, K086, ____, ____ }, \
150 { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
151 { K100, K101, ____, ____, ____, K105, ____, K107, ____ }, \
152 { K110, K111, ____, K113, ____, K115, K116, K117, K118 } \
153}
154
155#define LAYOUT_a_iso( \
156 K000, K010, K001, K011, K002, K012, K003, K013, K004, K014, K005, K015, K006, K016, K017, K008, K018, \
157 K020, K030, K021, K031, K022, K032, K023, K033, K024, K034, K025, K035, K026, K036, K027, K037, K028, K038, \
158 K040, K050, K041, K051, K042, K052, K043, K053, K044, K054, K045, K055, K046, K056, K048, K058, \
159 K060, K070, K061, K071, K062, K072, K063, K073, K064, K074, K065, K075, K066, K076, K067, K068, \
160 K080, K090, K081, K091, K082, K092, K083, K093, K084, K094, K085, K095, K086, K096, K097, K098, \
161 K100, K110, K101, K111, K113, K105, K115, K116, K107, K117, K118 \
162) { \
163 { K000, K001, K002, K003, K004, K005, K006, ____, K008 }, \
164 { K010, K011, K012, K013, K014, K015, K016, K017, K018 }, \
165 { K020, K021, K022, K023, K024, K025, K026, K027, K028 }, \
166 { K030, K031, K032, K033, K034, K035, K036, K037, K038 }, \
167 { K040, K041, K042, K043, K044, K045, K046, ____, K048 }, \
168 { K050, K051, K052, K053, K054, K055, K056, ____, K058 }, \
169 { K060, K061, K062, K063, K064, K065, K066, K067, K068 }, \
170 { K070, K071, K072, K073, K074, K075, K076, ____, ____ }, \
171 { K080, K081, K082, K083, K084, K085, K086, ____, ____ }, \
172 { K090, K091, K092, K093, K094, K095, K096, K097, K098 }, \
173 { K100, K101, ____, ____, ____, K105, ____, K107, ____ }, \
174 { K110, K111, ____, K113, ____, K115, K116, K117, K118 } \
175}