aboutsummaryrefslogtreecommitdiff
path: root/keyboards/9key
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/9key')
-rw-r--r--keyboards/9key/9key.c1
-rw-r--r--keyboards/9key/9key.h13
-rw-r--r--keyboards/9key/config.h46
-rw-r--r--keyboards/9key/info.json10
-rw-r--r--keyboards/9key/keymaps/bcat/keymap.c39
-rw-r--r--keyboards/9key/keymaps/bcat/readme.md5
-rw-r--r--keyboards/9key/keymaps/default/keymap.c35
-rw-r--r--keyboards/9key/keymaps/tap_dance/keymap.c69
-rw-r--r--keyboards/9key/keymaps/tap_dance/rules.mk1
-rw-r--r--keyboards/9key/readme.md17
-rw-r--r--keyboards/9key/rules.mk19
11 files changed, 255 insertions, 0 deletions
diff --git a/keyboards/9key/9key.c b/keyboards/9key/9key.c
new file mode 100644
index 000000000..bbbabb81c
--- /dev/null
+++ b/keyboards/9key/9key.c
@@ -0,0 +1 @@
#include "9key.h"
diff --git a/keyboards/9key/9key.h b/keyboards/9key/9key.h
new file mode 100644
index 000000000..ad809da4b
--- /dev/null
+++ b/keyboards/9key/9key.h
@@ -0,0 +1,13 @@
1#pragma once
2
3#include "quantum.h"
4
5#define LAYOUT( \
6 k00, k01, k02, \
7 k10, k11, k12, \
8 k20, k21, k22 \
9) { \
10 { k00, k01, k02 }, \
11 { k10, k11, k12 }, \
12 { k20, k21, k22 } \
13}
diff --git a/keyboards/9key/config.h b/keyboards/9key/config.h
new file mode 100644
index 000000000..b0462eb50
--- /dev/null
+++ b/keyboards/9key/config.h
@@ -0,0 +1,46 @@
1/*
2Copyright 2012 Jun Wako <[email protected]>
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 0xFEED
24#define PRODUCT_ID 0x0007
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Bishop Keyboards
27#define PRODUCT 9Key
28
29/* key matrix size */
30#define MATRIX_ROWS 3
31#define MATRIX_COLS 3
32
33/* 9Key PCB default pin-out */
34#define MATRIX_ROW_PINS { D1, D0, D4 }
35#define MATRIX_COL_PINS { F4, F5, F6 }
36#define UNUSED_PINS
37
38/* ws2812 RGB LED */
39#define RGB_DI_PIN F7
40
41#define RGBLED_NUM 1 // Number of LEDs
42
43/* COL2ROW or ROW2COL */
44#define DIODE_DIRECTION COL2ROW
45
46#define TAPPING_TERM 200
diff --git a/keyboards/9key/info.json b/keyboards/9key/info.json
new file mode 100644
index 000000000..326a63b12
--- /dev/null
+++ b/keyboards/9key/info.json
@@ -0,0 +1,10 @@
1{
2 "keyboard_name": "9key",
3 "url": "",
4 "maintainer": "qmk",
5 "layouts": {
6 "LAYOUT": {
7 "layout": [{"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k10", "x":0, "y":1}, {"label":"k11", "x":1, "y":1}, {"label":"k12", "x":2, "y":1}, {"label":"k20", "x":0, "y":2}, {"label":"k21", "x":1, "y":2}, {"label":"k22", "x":2, "y":2}]
8 }
9 }
10}
diff --git a/keyboards/9key/keymaps/bcat/keymap.c b/keyboards/9key/keymaps/bcat/keymap.c
new file mode 100644
index 000000000..944a48c0d
--- /dev/null
+++ b/keyboards/9key/keymaps/bcat/keymap.c
@@ -0,0 +1,39 @@
1/* Copyright 2021 Jonathan Rascher
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 QMK_KEYBOARD_H
18
19#include "bcat.h"
20
21#define KY_LOCK LGUI(KC_L) /* Chrome OS: Lock screen */
22#define KY_MICM LSG(KC_1) /* Meet Shortcuts: Mute mic */
23#define KY_MICU LSG(KC_2) /* Meet Shortcuts: Unmute mic */
24#define KY_RHAND LSG(KC_3) /* Meet Shortcuts: Raise/lower hand */
25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 // clang-format off
28 [LAYER_DEFAULT] = LAYOUT(
29 KC_MPLY, KC_VOLU, KY_RHAND,
30 KY_LOCK, KC_VOLD, KY_MICU,
31 LY_FN1, KC_MUTE, KY_MICM
32 ),
33 [LAYER_FUNCTION_1] = LAYOUT(
34 EEP_RST, _______, RESET,
35 _______, _______, _______,
36 _______, _______, _______
37 ),
38 // clang-format on
39};
diff --git a/keyboards/9key/keymaps/bcat/readme.md b/keyboards/9key/keymaps/bcat/readme.md
new file mode 100644
index 000000000..d38ae5463
--- /dev/null
+++ b/keyboards/9key/keymaps/bcat/readme.md
@@ -0,0 +1,5 @@
1# bcat's 9-Key layout
2
3This is a super simple PCB-mount macropad with nine keys, used on my
4work-from-home Chromebox for media/volume control and to activate some global
5shortcuts for Google Meet.
diff --git a/keyboards/9key/keymaps/default/keymap.c b/keyboards/9key/keymaps/default/keymap.c
new file mode 100644
index 000000000..0d8e4c690
--- /dev/null
+++ b/keyboards/9key/keymaps/default/keymap.c
@@ -0,0 +1,35 @@
1#include QMK_KEYBOARD_H
2
3const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
4
5/* LAYER 0
6 * ,-----------------------.
7 * | 1 | 2 | 3 |
8 * |-------+-------+-------|
9 * | 4 | 5/ENT | 6 | Dbl Tap 5 for Enter
10 * |-------+-------+-------|
11 * | 7/0 | 8 | 9/FN | 7/0 = Dbl Tap 7 for 0 - 9/FN = Hold 9 for FN
12 * `-----------------------'
13 */
14[0] = LAYOUT(
15 KC_1, KC_2, KC_3,
16 KC_4, KC_5, KC_6,
17 KC_7, KC_8, LT(1, KC_9)
18),
19
20/* LAYER 1
21 * ,-----------------------.
22 * | ESC | + | - |
23 * |-------+-------+-------|
24 * | BSPC | * | / |
25 * |-------+-------+-------|
26 * | 00 | . | |
27 * `-----------------------'
28 */
29[1] = LAYOUT(
30 KC_ESC, KC_PLUS, KC_MINS,
31 KC_ENTER, KC_ASTR, KC_SLSH,
32 KC_0, KC_DOT, KC_TRNS
33)
34
35};
diff --git a/keyboards/9key/keymaps/tap_dance/keymap.c b/keyboards/9key/keymaps/tap_dance/keymap.c
new file mode 100644
index 000000000..dc9b49f9a
--- /dev/null
+++ b/keyboards/9key/keymaps/tap_dance/keymap.c
@@ -0,0 +1,69 @@
1#include QMK_KEYBOARD_H
2
3// Tap Dance Declarations
4enum tap_dances {
5 ENT_5 = 0,
6 ZERO_7,
7};
8
9// Macro Declarations
10enum custom_keycodes {
11 DBL_0 = SAFE_RANGE,
12};
13
14const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
15
16/* LAYER 0
17 * ,-----------------------.
18 * | 1 | 2 | 3 |
19 * |-------+-------+-------|
20 * | 4 | 5/ENT | 6 | Dbl Tap 5 for Enter
21 * |-------+-------+-------|
22 * | 7/0 | 8 | 9/FN | 7/0 = Dbl Tap 7 for 0 - 9/FN = Hold 9 for FN
23 * `-----------------------'
24 */
25[0] = LAYOUT(
26 KC_1, KC_2, KC_3,
27 KC_4, TD(ENT_5), KC_6,
28 TD(ZERO_7), KC_8, LT(1, KC_9)
29),
30
31/* LAYER 1
32 * ,-----------------------.
33 * | ESC | + | - |
34 * |-------+-------+-------|
35 * | BSPC | * | / |
36 * |-------+-------+-------|
37 * | 00 | . | |
38 * `-----------------------'
39 */
40[1] = LAYOUT(
41 KC_ESC, KC_PLUS, KC_MINS,
42 KC_BSPC, KC_ASTR, KC_SLSH,
43 DBL_0, KC_DOT, KC_TRNS
44)
45
46};
47
48qk_tap_dance_action_t tap_dance_actions[] = {
49 [ENT_5] = ACTION_TAP_DANCE_DOUBLE(KC_5, KC_ENT),
50 [ZERO_7] = ACTION_TAP_DANCE_DOUBLE(KC_7, KC_0)
51};
52
53bool process_record_user(uint16_t keycode, keyrecord_t *record) {
54 switch (keycode) {
55 case DBL_0:
56 if (record->event.pressed) {
57 // when keycode QMKBEST is pressed
58 tap_code(KC_P0);
59 tap_code(KC_P0);
60 }
61 break;
62
63 }
64 return true;
65};
66
67
68void matrix_init_user(void) {
69}
diff --git a/keyboards/9key/keymaps/tap_dance/rules.mk b/keyboards/9key/keymaps/tap_dance/rules.mk
new file mode 100644
index 000000000..e5ddcae8d
--- /dev/null
+++ b/keyboards/9key/keymaps/tap_dance/rules.mk
@@ -0,0 +1 @@
TAP_DANCE_ENABLE = yes
diff --git a/keyboards/9key/readme.md b/keyboards/9key/readme.md
new file mode 100644
index 000000000..89629cc8c
--- /dev/null
+++ b/keyboards/9key/readme.md
@@ -0,0 +1,17 @@
19key
2===
3
4![9key](http://i.imgur.com/a3wWc7h.jpg)
5![9KeyBehind](http://i.imgur.com/2PWf5wu.jpg)
6
7A compact minipad (3x3) keyboard made and sold by Bishop Keyboards.
8
9Keyboard Maintainer: QMK Community
10Hardware Supported: 9key PCB, Pro Micro ATmega32U4
11Hardware Availability: [BishopKeyboards.com](http://bishopkeyboards.com/)
12
13Make example for this keyboard (after setting up your build environment):
14
15 make 9key:default
16
17See [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. \ No newline at end of file
diff --git a/keyboards/9key/rules.mk b/keyboards/9key/rules.mk
new file mode 100644
index 000000000..003c95c69
--- /dev/null
+++ b/keyboards/9key/rules.mk
@@ -0,0 +1,19 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = caterina
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15NKRO_ENABLE = yes # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17AUDIO_ENABLE = no # Audio output
18UNICODE_ENABLE = yes # Unicode
19RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.