aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/sck/gtm/config.h44
-rw-r--r--keyboards/sck/gtm/gtm.c1
-rw-r--r--keyboards/sck/gtm/gtm.h12
-rw-r--r--keyboards/sck/gtm/keymaps/default/keymap.c24
-rw-r--r--keyboards/sck/gtm/keymaps/tabs/keymap.c24
-rw-r--r--keyboards/sck/gtm/keymaps/vol/keymap.c23
-rw-r--r--keyboards/sck/gtm/readme.md16
-rw-r--r--keyboards/sck/gtm/rules.mk27
8 files changed, 171 insertions, 0 deletions
diff --git a/keyboards/sck/gtm/config.h b/keyboards/sck/gtm/config.h
new file mode 100644
index 000000000..952f484bd
--- /dev/null
+++ b/keyboards/sck/gtm/config.h
@@ -0,0 +1,44 @@
1#pragma once
2
3#include "config_common.h"
4
5/* USB Device descriptor parameter */
6#define VENDOR_ID 0xFEED
7#define PRODUCT_ID 0x6090
8#define DEVICE_VER 0x0002
9#define MANUFACTURER SpaceCityKeyboards
10#define PRODUCT GTM Pad
11#define DESCRIPTION Grand Theft Macro Pad
12
13/* key matrix size */
14#define MATRIX_ROWS 3
15#define MATRIX_COLS 6
16
17/* key matrix pins */
18#define MATRIX_ROW_PINS { C4, C5, D1 }
19#define MATRIX_COL_PINS { B4, B5, B6, B7, C7, D0 }
20#define UNUSED_PINS
21
22
23#define ENCODERS_PAD_A { D2 }
24#define ENCODERS_PAD_B { D3 }
25#define ENCODER_RESOLUTION 1
26
27/* COL2ROW or ROW2COL */
28#define DIODE_DIRECTION COL2ROW
29
30/* Set 0 if debouncing isn't needed */
31#define DEBOUNCE 5
32
33/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
34#define LOCKING_SUPPORT_ENABLE
35
36/* Locking resynchronize hack */
37#define LOCKING_RESYNC_ENABLE
38
39
40#ifdef RGBLIGHT_ENABLE
41#define RGB_DI_PIN B0
42#define RGBLIGHT_ANIMATIONS
43#define RGBLED_NUM 4
44#endif
diff --git a/keyboards/sck/gtm/gtm.c b/keyboards/sck/gtm/gtm.c
new file mode 100644
index 000000000..6adb9b39b
--- /dev/null
+++ b/keyboards/sck/gtm/gtm.c
@@ -0,0 +1 @@
#include "gtm.h"
diff --git a/keyboards/sck/gtm/gtm.h b/keyboards/sck/gtm/gtm.h
new file mode 100644
index 000000000..47625f417
--- /dev/null
+++ b/keyboards/sck/gtm/gtm.h
@@ -0,0 +1,12 @@
1#pragma once
2
3#include "quantum.h"
4
5#define LAYOUT( \
6 K00, K01, K02, K03, K04, \
7 K10, K11, K12, K13, K14, K25 \
8) { \
9 { K00, K01, K02, K03, K04, KC_NO }, \
10 { K10, K11, K12, K13, K14, KC_NO }, \
11 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K25 }, \
12}
diff --git a/keyboards/sck/gtm/keymaps/default/keymap.c b/keyboards/sck/gtm/keymaps/default/keymap.c
new file mode 100644
index 000000000..218a1d107
--- /dev/null
+++ b/keyboards/sck/gtm/keymaps/default/keymap.c
@@ -0,0 +1,24 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5LAYOUT(
6 KC_1, KC_2, KC_3, KC_4, KC_5,
7 KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENTER),
8
9};
10
11void matrix_init_user(void) {
12 debug_config.matrix = 1;
13 debug_config.keyboard = 1;
14 debug_config.enable = 1;
15}
16
17void encoder_update_user(int8_t index, bool clockwise) {
18 if (clockwise) {
19 tap_code(KC_PGUP);
20 } else {
21 tap_code(KC_PGDN);
22 }
23}
24
diff --git a/keyboards/sck/gtm/keymaps/tabs/keymap.c b/keyboards/sck/gtm/keymaps/tabs/keymap.c
new file mode 100644
index 000000000..9a60e0f05
--- /dev/null
+++ b/keyboards/sck/gtm/keymaps/tabs/keymap.c
@@ -0,0 +1,24 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5LAYOUT(
6 KC_1, KC_2, KC_3, KC_4, KC_5,
7 KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENTER),
8
9};
10
11void matrix_init_user(void) {
12 debug_config.matrix = 1;
13 debug_config.keyboard = 1;
14 debug_config.enable = 1;
15}
16
17void encoder_update_user(int8_t index, bool clockwise) {
18 if (clockwise) {
19 tap_code16(C(KC_T));
20 } else {
21 tap_code16(C(KC_W));
22 }
23}
24
diff --git a/keyboards/sck/gtm/keymaps/vol/keymap.c b/keyboards/sck/gtm/keymaps/vol/keymap.c
new file mode 100644
index 000000000..e3d01439d
--- /dev/null
+++ b/keyboards/sck/gtm/keymaps/vol/keymap.c
@@ -0,0 +1,23 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5LAYOUT(
6 KC_1, KC_2, KC_3, KC_4, KC_5,
7 KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENTER),
8
9};
10
11void matrix_init_user(void) {
12 debug_config.matrix = 1;
13 debug_config.keyboard = 1;
14 debug_config.enable = 1;
15}
16
17void encoder_update_user(int8_t index, bool clockwise) {
18 if (clockwise) {
19 tap_code(KC_VOLU);
20 } else {
21 tap_code(KC_VOLD);
22 }
23}
diff --git a/keyboards/sck/gtm/readme.md b/keyboards/sck/gtm/readme.md
new file mode 100644
index 000000000..d46716735
--- /dev/null
+++ b/keyboards/sck/gtm/readme.md
@@ -0,0 +1,16 @@
1# Grand Theft Macro Pad
2
3![Grand Theft Macropad](https://i.imgur.com/ON7m7RI.jpg)
4
5A 2x5 macropad/numpad with a rotary encoder, cloned from the 2Key2Crawl macropad that was exclusively available at Austin Keycrawl 2018 (12-01-2018).
6
7Keyboard Maintainer: jrfhoutx
8Keyboard Designer: [jrfhoutx](https://github.com/jrfhoutx)
9Hardware Supported: GTM Pad
10Hardware Availability: Coming Soon
11
12Make example for this keyboard (after setting up your build environment):
13
14 make sck/gtm:default
15
16See 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/sck/gtm/rules.mk b/keyboards/sck/gtm/rules.mk
new file mode 100644
index 000000000..a6320386f
--- /dev/null
+++ b/keyboards/sck/gtm/rules.mk
@@ -0,0 +1,27 @@
1# MCU name
2MCU = atmega32u2
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# comment out to disable the options.
16#
17BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = no # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = no # Commands for debug and configuration
22SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
23NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
24BACKLIGHT_ENABLE = no # [Crawlpad] Custom backlighting code is used, so this should not be enabled
25AUDIO_ENABLE = no # [Crawlpad] This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below
26RGBLIGHT_ENABLE = yes # [Crawlpad] This can be enabled if a ws2812 strip is connected to the expansion port.
27ENCODER_ENABLE = yes # [2Key2crawl] Make the knobs turn