aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ.Flanagan <jrfhoutx@comcast.net>2019-10-28 12:57:15 -0500
committerJoel Challis <git@zvecr.com>2019-10-28 17:57:15 +0000
commit84ac03bbab7cfc6cef6aa4e22360b92bdf044c6c (patch)
tree32baa20f72764ad3b43835ff54e94eb4648ad356
parent5777177cec2c76f79b4930dacb390b0f4681bc85 (diff)
downloadqmk_firmware-84ac03bbab7cfc6cef6aa4e22360b92bdf044c6c.tar.gz
qmk_firmware-84ac03bbab7cfc6cef6aa4e22360b92bdf044c6c.zip
[Keyboard] Add NEISO Macro Pad (#7163)
* Initial Commit Initial commit of the N-E-ISO Pad * Changes to keymap.c Minor Changes to keymap.c * Major Changes Changes to config.h, neiso.c, neiso.h, readme.md, rules.mk, info.json * Updated readme.md Changed wording of redme.md * Initial Commit Initial commit of the N-E-ISO Pad * Changes to keymap.c Minor Changes to keymap.c * Major Changes Changes to config.h, neiso.c, neiso.h, readme.md, rules.mk, info.json * Updated readme.md Changed wording of redme.md * Update keyboards/sck/neiso/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/neiso/info.json Co-Authored-By: noroadsleft <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/sck/neiso/keymaps/default/keymap.c Co-Authored-By: fauxpark <fauxpark@gmail.com> * Update keyboards/sck/neiso/neiso.h Co-Authored-By: fauxpark <fauxpark@gmail.com> * Changes per request Removed lines 55-60 from default/keymap.c per request
-rw-r--r--keyboards/sck/neiso/config.h170
-rw-r--r--keyboards/sck/neiso/info.json12
-rw-r--r--keyboards/sck/neiso/keymaps/default/config.h19
-rw-r--r--keyboards/sck/neiso/keymaps/default/keymap.c54
-rw-r--r--keyboards/sck/neiso/keymaps/default/readme.md1
-rw-r--r--keyboards/sck/neiso/neiso.c30
-rw-r--r--keyboards/sck/neiso/neiso.h34
-rw-r--r--keyboards/sck/neiso/readme.md16
-rw-r--r--keyboards/sck/neiso/rules.mk33
9 files changed, 369 insertions, 0 deletions
diff --git a/keyboards/sck/neiso/config.h b/keyboards/sck/neiso/config.h
new file mode 100644
index 000000000..43530f2c0
--- /dev/null
+++ b/keyboards/sck/neiso/config.h
@@ -0,0 +1,170 @@
1/*
2Copyright 2019 jrfhoutx
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 0x0000
25#define DEVICE_VER 0x0001
26#define MANUFACTURER Space City Keyboards
27#define PRODUCT NEISO
28#define DESCRIPTION A five key ISO Macropad
29
30/* key matrix size */
31#define MATRIX_ROWS 1
32#define MATRIX_COLS 5
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_ROW_PINS \
45 { F4 }
46#define MATRIX_COL_PINS \
47 { B3, D2, F5, F7, B4 }
48#define UNUSED_PINS
49
50/* COL2ROW, ROW2COL*/
51#define DIODE_DIRECTION COL2ROW
52
53/*
54 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
55 */
56// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
57
58// #define BACKLIGHT_PIN B7
59// #define BACKLIGHT_BREATHING
60// #define BACKLIGHT_LEVELS 3
61
62// #define RGB_DI_PIN E2
63// #ifdef RGB_DI_PIN
64// #define RGBLED_NUM 4
65// #define RGBLIGHT_HUE_STEP 8
66// #define RGBLIGHT_SAT_STEP 8
67// #define RGBLIGHT_VAL_STEP 8
68// #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
69// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
70// /*== all animations enable ==*/
71// #define RGBLIGHT_ANIMATIONS
72// /*== or choose animations ==*/
73// #define RGBLIGHT_EFFECT_BREATHING
74// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
75// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
76// #define RGBLIGHT_EFFECT_SNAKE
77// #define RGBLIGHT_EFFECT_KNIGHT
78// #define RGBLIGHT_EFFECT_CHRISTMAS
79// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
80// #define RGBLIGHT_EFFECT_RGB_TEST
81// #define RGBLIGHT_EFFECT_ALTERNATING
82// /*== customize breathing effect ==*/
83// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
84// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
85// /*==== use exp() and sin() ====*/
86// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
87// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
88// #endif
89
90/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
91#define DEBOUNCE 5
92
93/* define if matrix has ghost (lacks anti-ghosting diodes) */
94//#define MATRIX_HAS_GHOST
95
96/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
97#define LOCKING_SUPPORT_ENABLE
98/* Locking resynchronize hack */
99#define LOCKING_RESYNC_ENABLE
100
101/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
102 * This is userful for the Windows task manager shortcut (ctrl+shift+esc).
103 */
104// #define GRAVE_ESC_CTRL_OVERRIDE
105
106/*
107 * Force NKRO
108 *
109 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
110 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
111 * makefile for this to work.)
112 *
113 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
114 * until the next keyboard reset.
115 *
116 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
117 * fully operational during normal computer usage.
118 *
119 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
120 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
121 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
122 * power-up.
123 *
124 */
125//#define FORCE_NKRO
126
127/*
128 * Feature disable options
129 * These options are also useful to firmware size reduction.
130 */
131
132/* disable debug print */
133//#define NO_DEBUG
134
135/* disable print */
136//#define NO_PRINT
137
138/* disable action features */
139//#define NO_ACTION_LAYER
140//#define NO_ACTION_TAPPING
141//#define NO_ACTION_ONESHOT
142//#define NO_ACTION_MACRO
143//#define NO_ACTION_FUNCTION
144
145/*
146 * MIDI options
147 */
148
149/* Prevent use of disabled MIDI features in the keymap */
150//#define MIDI_ENABLE_STRICT 1
151
152/* enable basic MIDI features:
153 - MIDI notes can be sent when in Music mode is on
154*/
155//#define MIDI_BASIC
156
157/* enable advanced MIDI features:
158 - MIDI notes can be added to the keymap
159 - Octave shift and transpose
160 - Virtual sustain, portamento, and modulation wheel
161 - etc.
162*/
163//#define MIDI_ADVANCED
164
165/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
166//#define MIDI_TONE_KEYCODE_OCTAVES 1
167
168/* Bootmagic Lite key configuration */
169// #define BOOTMAGIC_LITE_ROW 0
170// #define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/sck/neiso/info.json b/keyboards/sck/neiso/info.json
new file mode 100644
index 000000000..1484cd7f2
--- /dev/null
+++ b/keyboards/sck/neiso/info.json
@@ -0,0 +1,12 @@
1{
2 "keyboard_name": "NEISO",
3 "url": "",
4 "maintainer": "jrfhoutx",
5 "width": 9.25,
6 "height": 14.25,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [{"x":0.25, "y":0, "w":2, "h":1.25}, {"x":2.75, "y":0.25, "w":1.25, "h":2}, {"x":1.5, "y":1.5}, {"x":0, "y":1.75, "w":1.25, "h":2}, {"x":1.75, "y":2.75, "w":2, "h":1.25}]
10 }
11 }
12}
diff --git a/keyboards/sck/neiso/keymaps/default/config.h b/keyboards/sck/neiso/keymaps/default/config.h
new file mode 100644
index 000000000..499a4753f
--- /dev/null
+++ b/keyboards/sck/neiso/keymaps/default/config.h
@@ -0,0 +1,19 @@
1/* Copyright 2019 jrfhoutx
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// place overrides here
diff --git a/keyboards/sck/neiso/keymaps/default/keymap.c b/keyboards/sck/neiso/keymaps/default/keymap.c
new file mode 100644
index 000000000..05335947b
--- /dev/null
+++ b/keyboards/sck/neiso/keymaps/default/keymap.c
@@ -0,0 +1,54 @@
1/* Copyright 2019 jrfhoutx
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
18// Defines the keycodes used by our macros in process_record_user
19enum custom_keycodes { QMKBEST = SAFE_RANGE, QMKURL };
20
21const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
22 [0] = LAYOUT(/* Base */
23 KC_1, KC_2,
24 KC_3,
25 KC_4, KC_5
26),
27 [1] = LAYOUT(/* Base */
28 KC_1, KC_2,
29 QMKBEST,
30 KC_4, KC_5
31),
32};
33
34bool process_record_user(uint16_t keycode, keyrecord_t *record) {
35 switch (keycode) {
36 case QMKBEST:
37 if (record->event.pressed) {
38 // when keycode QMKBEST is pressed
39 SEND_STRING("QMK is the best thing ever!");
40 } else {
41 // when keycode QMKBEST is released
42 }
43 break;
44 case QMKURL:
45 if (record->event.pressed) {
46 // when keycode QMKURL is pressed
47 SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
48 } else {
49 // when keycode QMKURL is released
50 }
51 break;
52 }
53 return true;
54}
diff --git a/keyboards/sck/neiso/keymaps/default/readme.md b/keyboards/sck/neiso/keymaps/default/readme.md
new file mode 100644
index 000000000..af2175619
--- /dev/null
+++ b/keyboards/sck/neiso/keymaps/default/readme.md
@@ -0,0 +1 @@
# The default keymap for the NEISO Macropad
diff --git a/keyboards/sck/neiso/neiso.c b/keyboards/sck/neiso/neiso.c
new file mode 100644
index 000000000..4b817bdd5
--- /dev/null
+++ b/keyboards/sck/neiso/neiso.c
@@ -0,0 +1,30 @@
1/* Copyright 2019 jrfhoutx
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 "neiso.h"
17
18// Optional override functions below.
19// You can leave any or all of these undefined.
20// These are only required if you want to perform custom actions.
21
22/*
23
24void led_set_kb(uint8_t usb_led) {
25 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
26
27 led_set_user(usb_led);
28}
29
30*/
diff --git a/keyboards/sck/neiso/neiso.h b/keyboards/sck/neiso/neiso.h
new file mode 100644
index 000000000..7058fab5b
--- /dev/null
+++ b/keyboards/sck/neiso/neiso.h
@@ -0,0 +1,34 @@
1/* Copyright 2019 jrfhoutx
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#pragma once
17
18#include "quantum.h"
19
20/* This a shortcut to help you visually see your layout.
21 *
22 * The first section contains all of the arguments representing the physical
23 * layout of the board and position of the keys.
24 *
25 * The second converts the arguments into a two-dimensional array which
26 * represents the switch matrix.
27 */
28
29#define LAYOUT( \
30 k01, k02, \
31 k00, \
32 k03, k04 \
33) \
34 { {k00, k01, k02, k03, k04} }
diff --git a/keyboards/sck/neiso/readme.md b/keyboards/sck/neiso/readme.md
new file mode 100644
index 000000000..c21897b06
--- /dev/null
+++ b/keyboards/sck/neiso/readme.md
@@ -0,0 +1,16 @@
1# neiso
2
3![neiso](https://i.imgur.com/8uj89kN.jpg)
4
5A ProMicro/Teensy 2.0/Elite C controlled 5 key macropad using 4 ISO enter keys. Initially based on the I-S-hOle macropad.
6
7Keyboard Maintainer: jrfhoutx
8Keyboard Designer: [jrfhoutx](https://github.com/jrfhoutx)
9Hardware Supported: N-E-ISO PCB; ProMicro, Teensy 2.0, Elite C, Proton C
10Hardware Availability: Space City Keyboards
11
12Make example for this keyboard (after setting up your build environment):
13
14 make sck/neiso: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/neiso/rules.mk b/keyboards/sck/neiso/rules.mk
new file mode 100644
index 000000000..becaf5e1e
--- /dev/null
+++ b/keyboards/sck/neiso/rules.mk
@@ -0,0 +1,33 @@
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# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = yes # 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
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 = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support (+2400 to 4200, depending on config)
29UNICODE_ENABLE = no # Unicode
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = yes # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
33HD44780_ENABLE = no # Enable support for HD44780 based LCDs