aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/handwired/k_numpad17/config.h53
-rw-r--r--keyboards/handwired/k_numpad17/k_numpad17.c1
-rw-r--r--keyboards/handwired/k_numpad17/k_numpad17.h35
-rw-r--r--keyboards/handwired/k_numpad17/keymaps/default/keymap.c24
-rw-r--r--keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c61
-rw-r--r--keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk1
-rw-r--r--keyboards/handwired/k_numpad17/readme.md25
-rw-r--r--keyboards/handwired/k_numpad17/rules.mk31
8 files changed, 231 insertions, 0 deletions
diff --git a/keyboards/handwired/k_numpad17/config.h b/keyboards/handwired/k_numpad17/config.h
new file mode 100644
index 000000000..e14101ede
--- /dev/null
+++ b/keyboards/handwired/k_numpad17/config.h
@@ -0,0 +1,53 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
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/* USB Device descriptor parameter */
22#define VENDOR_ID 0xFEED
23#define PRODUCT_ID 0x6060
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Handwired
26#define PRODUCT K-Numpad17
27#define DESCRIPTION QMK keyboard firmware for handwired numpad with 17 keys
28
29#define TAPPING_TERM 400
30
31/* key matrix size */
32#define MATRIX_ROWS 5
33#define MATRIX_COLS 4
34
35// ROWS: Top to bottom, COLS: Left to right
36
37#define MATRIX_ROW_PINS { D1, D4, C6, D7, E6 }
38#define MATRIX_COL_PINS { B2, B1, F6 , F4 }
39#define UNUSED_PINS
40
41/* COL2ROW or ROW2COL */
42#define DIODE_DIRECTION COL2ROW
43
44
45/* Set 0 if debouncing isn't needed */
46#define DEBOUNCE 5
47
48/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
49#define LOCKING_SUPPORT_ENABLE
50/* Locking resynchronize hack */
51#define LOCKING_RESYNC_ENABLE
52
53
diff --git a/keyboards/handwired/k_numpad17/k_numpad17.c b/keyboards/handwired/k_numpad17/k_numpad17.c
new file mode 100644
index 000000000..290a86aac
--- /dev/null
+++ b/keyboards/handwired/k_numpad17/k_numpad17.c
@@ -0,0 +1 @@
#include "k_numpad17.h" \ No newline at end of file
diff --git a/keyboards/handwired/k_numpad17/k_numpad17.h b/keyboards/handwired/k_numpad17/k_numpad17.h
new file mode 100644
index 000000000..1fc99794d
--- /dev/null
+++ b/keyboards/handwired/k_numpad17/k_numpad17.h
@@ -0,0 +1,35 @@
1#pragma once
2#include "quantum.h"
3
4// The first section contains all of the arguments
5// The second converts the arguments into a two-dimensional array
6#define LAYOUT_numpad_5x4( \
7 k00, k01, k02, k03, \
8 k10, k11, k12, \
9 k20, k21, k22, k13, \
10 k30, k31, k32, \
11 k40, k41, k33 \
12) \
13{ \
14 {k00, k01, k02, k03}, \
15 {k10, k11, k12, k13}, \
16 {k20, k21, k22, KC_NO}, \
17 {k30, k31, k32, k33}, \
18 {k40, KC_NO, k41, KC_NO} \
19}
20
21/* matrix layout
22 * ,-------------------.
23 * | 00 | 01 | 02 | 03 |
24 * |----|----|----|----|
25 * | 10 | 11 | 12 | |
26 * |----|----|----| 13 |
27 * | 20 | 21 | 22 | |
28 * |----|----|----|----|
29 * | 30 | 31 | 32 | |
30 * |----|----|----| 33 |
31 * | 40 | 41 | |
32 * `-------------------'
33 */
34
35
diff --git a/keyboards/handwired/k_numpad17/keymaps/default/keymap.c b/keyboards/handwired/k_numpad17/keymaps/default/keymap.c
new file mode 100644
index 000000000..2f383eea9
--- /dev/null
+++ b/keyboards/handwired/k_numpad17/keymaps/default/keymap.c
@@ -0,0 +1,24 @@
1#include QMK_KEYBOARD_H
2const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
3 /*
4 * ,-------------------.
5 * | NL | / | * | - |
6 * |----|----|----|----|
7 * | 7 | 8 | 9 | |
8 * |----|----|----| + |
9 * | 4 | 5 | 6 | |
10 * |----|----|----|----|
11 * | 1 | 2 | 3 | |
12 * |----|----|----| En |
13 * | 0 | . | |
14 * `-------------------'
15 */
16
17 [0] = LAYOUT_numpad_5x4(
18 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
19 KC_P7, KC_P8, KC_P9,
20 KC_P4, KC_P5, KC_P6, KC_PPLS,
21 KC_P1, KC_P2, KC_P3,
22 KC_P0, KC_PDOT, KC_PENT
23 ),
24};
diff --git a/keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c b/keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c
new file mode 100644
index 000000000..c2f314116
--- /dev/null
+++ b/keyboards/handwired/k_numpad17/keymaps/karlssn/keymap.c
@@ -0,0 +1,61 @@
1#include QMK_KEYBOARD_H
2
3//Tap Dance Declarations
4enum {
5 TD_DOT_COMMAS = 0
6};
7
8//Tap Dance Definitions
9qk_tap_dance_action_t tap_dance_actions[] = {
10 //Tap once for Esc, twice for Caps Lock
11 [TD_DOT_COMMAS] = ACTION_TAP_DANCE_DOUBLE(KC_DOT, KC_COMMA)
12// Other declarations would go here, separated by commas, if you have them
13};
14
15//In Layer declaration, add tap dance item in place of a key code
16
17
18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 /*
21 * ,-------------------.
22 * |bcsp| / | * | - |
23 * |----|----|----|----|
24 * | 7 | 8 | 9 | |
25 * |----|----|----| + |
26 * | 4 | 5 | 6 | |
27 * |----|----|----|----|
28 * | 1 | 2 | 3 | |
29 * |----|----|----| En |
30 * | FN/0 | . | |
31 * `-------------------'
32 */
33
34 [0] = LAYOUT_numpad_5x4(
35 KC_BSPC, KC_PSLS, KC_PAST, KC_PMNS,
36 KC_P7, KC_P8, KC_P9,
37 KC_P4, KC_P5, KC_P6, KC_PPLS,
38 KC_P1, KC_P2, KC_P3,
39 LT(1, KC_P0), TD(TD_DOT_COMMAS), KC_PENT
40 ),
41 /*
42 * ,-------------------.
43 * | F10| F11| F12| - |
44 * |----|----|----|----|
45 * | F7 | F8 | F9 | |
46 * |----|----|----| vol|
47 * | F4 | F5 | F6 | + |
48 * |----|----|----|----|
49 * | F1 | F2 | F3 | vol|
50 * |----|----|----| - |
51 * | FN | . | |
52 * `-------------------'
53 */
54 [1] = LAYOUT_numpad_5x4(
55 KC_F10, KC_F11, KC_F12, KC_NO,
56 KC_F7, KC_F8, KC_F9,
57 KC_F4, KC_F5, KC_F6, KC_VOLU,
58 KC_F1, KC_F2, KC_F3,
59 KC_NO, KC_PDOT, KC_VOLD
60 )
61};
diff --git a/keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk b/keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk
new file mode 100644
index 000000000..e5ddcae8d
--- /dev/null
+++ b/keyboards/handwired/k_numpad17/keymaps/karlssn/rules.mk
@@ -0,0 +1 @@
TAP_DANCE_ENABLE = yes
diff --git a/keyboards/handwired/k_numpad17/readme.md b/keyboards/handwired/k_numpad17/readme.md
new file mode 100644
index 000000000..76bbaf439
--- /dev/null
+++ b/keyboards/handwired/k_numpad17/readme.md
@@ -0,0 +1,25 @@
1# K-Numpad17
2<img src="https://i.imgur.com/MasSa71.jpg" alt="k-numpad" width="400"/>
3
4### Arduino Pro Micro Pinout
5| rows | 0 | 1 | 2 | 3 | 4 |
6| ----------- | --- | --- | --- | --- | --- |
7| arduino pin | 2 | 4 | 5 | 6 | 7 |
8| qmk pin | D1 | D4 | C6 | D7 | E6 |
9
10| columns | 0 | 1 | 2 | 3 |
11| ----------- | --- | --- | --- | --- |
12| arduino pin | 16 | 15 | A1 | A3 |
13| qmk pin | B5 | B4 | B3 | C3 |
14
15
16Make example for this keyboard (after setting up your build environment):
17
18 make handwired/k_numpad17:default
19
20Bootmagic is enabled. Press the key at (0,0) while plugging the keyboard in to jump to bootloader. This is numlock in the default keymap.
21
22* Keyboard Maintainer: [Karlssn](https://github.com/Karlssn)
23* Hardware Availability: [Casefile](https://www.thingiverse.com/thing:4062409)
24
25See 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). \ No newline at end of file
diff --git a/keyboards/handwired/k_numpad17/rules.mk b/keyboards/handwired/k_numpad17/rules.mk
new file mode 100644
index 000000000..e1f2d2a14
--- /dev/null
+++ b/keyboards/handwired/k_numpad17/rules.mk
@@ -0,0 +1,31 @@
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 = caterina
13
14# Build Options
15# comment out to disable the options.
16#
17BOOTMAGIC_ENABLE = lite # Key at 0,0 makes the keyboard go into bootloader
18MOUSEKEY_ENABLE = no # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = yes # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration
22NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
23RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality
24BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
25MIDI_ENABLE = no # MIDI controls
26AUDIO_ENABLE = no
27UNICODE_ENABLE = no # Unicode
28BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
29TAP_DANCE_ENABLE = no
30
31LAYOUTS = numpad_5x4