aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/nafuda
diff options
context:
space:
mode:
authorSalicylic-acid3 <46864619+Salicylic-acid3@users.noreply.github.com>2019-11-16 03:20:57 +0900
committerJames Young <18669334+noroadsleft@users.noreply.github.com>2019-11-15 10:20:57 -0800
commitad36bb37dd775de5132a68fbd6ad9cdf73b0c070 (patch)
tree25e68a9a00e4958d77e8f7537f723bef2c79b57f /keyboards/nafuda
parent1c9e4502181dc36ed9853dec4341765c87530240 (diff)
downloadfirmware-ad36bb37dd775de5132a68fbd6ad9cdf73b0c070.tar.gz
firmware-ad36bb37dd775de5132a68fbd6ad9cdf73b0c070.tar.bz2
firmware-ad36bb37dd775de5132a68fbd6ad9cdf73b0c070.zip
[Keyboard] Add keyboard Nafuda (#7367)
* [Keyboard] Add keyboard Nafuda Add Nafuda keyboard. A 7 keys keyboard. Salicylic-acid3 * Update keyboards/nafuda/info.json * Update keyboards/nafuda/readme.md * Update keyboards/nafuda/readme.md * Update keyboards/nafuda/nafuda.h * Update keyboards/nafuda/readme.md * Update keyboards/nafuda/rules.mk * Update keyboards/nafuda/rules.mk * Update keyboards/nafuda/rules.mk * Update keyboards/nafuda/rules.mk * info.json Update * Update keyboards/nafuda/rules.mk
Diffstat (limited to 'keyboards/nafuda')
-rw-r--r--keyboards/nafuda/config.h69
-rw-r--r--keyboards/nafuda/info.json20
-rw-r--r--keyboards/nafuda/keymaps/default/config.h23
-rw-r--r--keyboards/nafuda/keymaps/default/keymap.c61
-rw-r--r--keyboards/nafuda/keymaps/default/readme.md34
-rw-r--r--keyboards/nafuda/nafuda.c5
-rw-r--r--keyboards/nafuda/nafuda.h24
-rw-r--r--keyboards/nafuda/readme.md17
-rw-r--r--keyboards/nafuda/rules.mk33
9 files changed, 286 insertions, 0 deletions
diff --git a/keyboards/nafuda/config.h b/keyboards/nafuda/config.h
new file mode 100644
index 000000000..3db4401d4
--- /dev/null
+++ b/keyboards/nafuda/config.h
@@ -0,0 +1,69 @@
+/*
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x3060
+#define DEVICE_VER 0x0012
+#define MANUFACTURER Salicylic_Acid
+#define PRODUCT nafuda
+#define DESCRIPTION A custom cursorpad
+
+/* key matrix size */
+#define MATRIX_ROWS 3
+#define MATRIX_COLS 3
+
+// wiring of each half
+#define MATRIX_ROW_PINS { D1, D0, D4 }
+#define MATRIX_COL_PINS { F4, F5, F6 }
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
+#define LOCKING_SUPPORT_ENABLE
+/* Locking resynchronize hack */
+#define LOCKING_RESYNC_ENABLE
+
+/* ws2812 RGB LED */
+#define RGB_DI_PIN D3
+
+#define RGBLED_NUM 7 // Number of LEDs
+#define RGBLIGHT_ANIMATIONS
+
+#ifndef IOS_DEVICE_ENABLE
+ #define RGBLIGHT_LIMIT_VAL 180
+ #define RGBLIGHT_VAL_STEP 17
+#else
+ #define RGBLIGHT_LIMIT_VAL 50
+ #define RGBLIGHT_VAL_STEP 4
+#endif
+#define RGBLIGHT_HUE_STEP 10
+#define RGBLIGHT_SAT_STEP 17
+
+#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
+ #define USB_MAX_POWER_CONSUMPTION 400
+#else
+ // fix iPhone and iPad power adapter issue
+ // iOS device need lessthan 100
+ #define USB_MAX_POWER_CONSUMPTION 100
+#endif
diff --git a/keyboards/nafuda/info.json b/keyboards/nafuda/info.json
new file mode 100644
index 000000000..d5bf2b055
--- /dev/null
+++ b/keyboards/nafuda/info.json
@@ -0,0 +1,20 @@
+{
+ "keyboard_name": "nafuda",
+ "url": "https://salicylic-acid3.hatenablog.com/",
+ "maintainer": "Salicylic_acid3",
+ "width": 3,
+ "height": 3,
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label":"Mouse", "x":1, "y":0},
+ {"label":"Backspace", "x":0, "y":0.5},
+ {"label":"\u2191", "x":1, "y":1},
+ {"label":"Browser", "x":2, "y":0.5},
+ {"label":"\u2190", "x":0, "y":1.5},
+ {"label":"\u2193", "x":1, "y":2},
+ {"label":"\u2192", "x":2, "y":1.5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/nafuda/keymaps/default/config.h b/keyboards/nafuda/keymaps/default/config.h
new file mode 100644
index 000000000..e35fe2ccd
--- /dev/null
+++ b/keyboards/nafuda/keymaps/default/config.h
@@ -0,0 +1,23 @@
+/* Copyright 2018 Salicylic_acid3
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+
+/* Select hand configuration */
+
+#define TAPPING_FORCE_HOLD
+#define TAPPING_TERM 180
+
diff --git a/keyboards/nafuda/keymaps/default/keymap.c b/keyboards/nafuda/keymaps/default/keymap.c
new file mode 100644
index 000000000..f0baff6c2
--- /dev/null
+++ b/keyboards/nafuda/keymaps/default/keymap.c
@@ -0,0 +1,61 @@
+#include QMK_KEYBOARD_H
+
+#ifdef RGBLIGHT_ENABLE
+//Following line allows macro to read current RGB settings
+extern rgblight_config_t rgblight_config;
+#endif
+
+extern uint8_t is_master;
+
+// Each layer gets a name for readability, which is then used in the keymap matrix below.
+// The underscores don't mean anything - you can have a layer called STUFF or any other name.
+// Layer names don't all need to be of the same length, obviously, and you can also skip them
+// entirely and just use numbers.
+enum layer_number {
+ _BASE,
+ _MOUSE,
+ _BROWSER,
+ _ADJUST,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT(
+ //|-------------------------------------------|
+ TG(_MOUSE),
+ //|---------------+---------------+-----------|
+LT(_ADJUST, KC_BSPC), KC_UP,TG(_BROWSER),
+ //|---------------+---------------+-----------|
+ KC_LEFT, KC_DOWN, KC_RIGHT
+ //|-------------------------------------------|
+ ),
+
+ [_MOUSE] = LAYOUT(
+ //|-------------------------------------------|
+ TG(_MOUSE),
+ //|---------------+---------------+-----------|
+ KC_BTN1, KC_MS_U, KC_BTN2,
+ //|---------------+---------------+-----------|
+ KC_MS_L, KC_MS_D, KC_MS_R
+ //|-------------------------------------------|
+ ),
+
+ [_BROWSER] = LAYOUT(
+ //|-------------------------------------------|
+ LCTL(KC_W),
+ //|---------------+---------------+-----------|
+ LCTL(LSFT(KC_T)), KC_WH_U,TG(_BROWSER),
+ //|---------------+---------------+-----------|
+ LCTL(LSFT(KC_TAB)), KC_WH_D,LCTL(KC_TAB)
+ //|-------------------------------------------|
+ ),
+
+ [_ADJUST] = LAYOUT( /* Base */
+ //|-------------------------------------------|
+ RGB_VAD,
+ //|---------------+---------------+-----------|
+ MO(_ADJUST), RGB_SAD, RGB_VAI,
+ //|---------------+---------------+-----------|
+ RGB_MOD, RGB_TOG, RGB_SAI
+ //|-------------------------------------------|
+ )
+};
diff --git a/keyboards/nafuda/keymaps/default/readme.md b/keyboards/nafuda/keymaps/default/readme.md
new file mode 100644
index 000000000..b84276bf8
--- /dev/null
+++ b/keyboards/nafuda/keymaps/default/readme.md
@@ -0,0 +1,34 @@
+# The default keymap for nafuda
+
+## Base
+| 1 | 2 | 3 |
+|:--------------:|:--------:|:-----:|
+| | MOUSE | |
+| ADJUST or BSPC | UP |BROWSER|
+| LEFT | DOWN | RIGHT|
+
+
+## MOUSE
+| 1 | 2 | 3 |
+|:--------:|:--------:|:---------:|
+| | BASE | |
+| Btn 1 | MOUSE_UP | Btn2 |
+|MOUSE_LEFT|MOUSE_DOWN|MOUSE_RIGHT|
+
+
+## BROWSER
+| 1 | 2 | 3 |
+|:-----------:|:--------:|:-------:|
+| | LCTL(W) | |
+| LCTL+LSFT(T)| WHEEL_UP | BROWSER |
+|LCTL+SFT(TAB)|WHEEL_DOWN|LCTL(TAB)|
+
+
+## Adjust
+| 1 | 2 | 3 |
+|:-------:|:-------:|:------:|
+| | RGB_VAD | |
+| Adjust | RGB_SAD | RGB_VAI|
+| RGB_MOD | RGB_TOG | RGB_SAI|
+
+
diff --git a/keyboards/nafuda/nafuda.c b/keyboards/nafuda/nafuda.c
new file mode 100644
index 000000000..d2061181e
--- /dev/null
+++ b/keyboards/nafuda/nafuda.c
@@ -0,0 +1,5 @@
+#include "nafuda.h"
+
+void matrix_init_kb(void) {
+ matrix_init_user();
+};
diff --git a/keyboards/nafuda/nafuda.h b/keyboards/nafuda/nafuda.h
new file mode 100644
index 000000000..008a9c16f
--- /dev/null
+++ b/keyboards/nafuda/nafuda.h
@@ -0,0 +1,24 @@
+#pragma once
+
+#include "quantum.h"
+
+/*
+ * ,-----------------.
+ * | | L01 | |
+ * |-----------------+
+ * | L10 | L11 | L12 |
+ * |-----------------+
+ * | L20 | L21 | L22 |
+ * |-----------------'
+ */
+
+#define LAYOUT( \
+ L01, \
+ L10, L11, L12, \
+ L20, L21, L22 \
+ ) \
+ { \
+ {KC_NO, L01,KC_NO }, \
+ { L10, L11, L12 }, \
+ { L20, L21, L22 } \
+ }
diff --git a/keyboards/nafuda/readme.md b/keyboards/nafuda/readme.md
new file mode 100644
index 000000000..73007ed01
--- /dev/null
+++ b/keyboards/nafuda/readme.md
@@ -0,0 +1,17 @@
+# nafuda
+
+![nafuda](https://cdn-ak.f.st-hatena.com/images/fotolife/S/Salicylic_acid3/20190608/20190608024901.jpg)
+
+This is 7 keys cursor macropad.
+
+* Keyboard Maintainer: [Salicylic_acid3](https://github.com/Salicylic-acid3)
+* Hardware Supported: Nafuda PCB, Pro Micro
+* Hardware Availability: [PCB & Case Data](https://github.com/Salicylic-acid3/PCB_Data), [Booth Shop](https://salicylic-acid3.booth.pm/items/1271706)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make nafuda:default
+
+See 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).
+
+[Build guide](https://salicylic-acid3.hatenablog.com/entry/nafuda-build-guide)
diff --git a/keyboards/nafuda/rules.mk b/keyboards/nafuda/rules.mk
new file mode 100644
index 000000000..bdc863464
--- /dev/null
+++ b/keyboards/nafuda/rules.mk
@@ -0,0 +1,33 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
+BOOTLOADER = caterina
+
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = yes # Commands for debug and configuration
+NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+MIDI_ENABLE = no # MIDI controls
+AUDIO_ENABLE = no # Audio output on port C6
+UNICODE_ENABLE = no # Unicode
+BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
+RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
+TAP_DANCE_ENABLE = no
+OLED_DRIVER_ENABLE = no
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
+