summary refs log tree commit diff
diff options
context:
space:
mode:
authorJaehee <ljh34210329@gmail.com>2021-04-20 01:39:54 +0900
committerGitHub <noreply@github.com>2021-04-19 09:39:54 -0700
commit3990c0f43d9048b10097487595e969bfeb5bc859 (patch)
treecdf9876e30811b4472f8f172d4540b90f0e627bf
parent20f35afd53d6a8851d5809e082344134c0e79470 (diff)
[Keyboard] Add jkdlab/binary_monkey (#12374)
Co-authored-by: Ryan <fauxpark@gmail.com>
-rw-r--r--keyboards/jkdlab/binary_monkey/binary_monkey.c19
-rw-r--r--keyboards/jkdlab/binary_monkey/binary_monkey.h28
-rw-r--r--keyboards/jkdlab/binary_monkey/config.h42
-rw-r--r--keyboards/jkdlab/binary_monkey/info.json16
-rw-r--r--keyboards/jkdlab/binary_monkey/keymaps/ascii/keymap.c70
-rw-r--r--keyboards/jkdlab/binary_monkey/keymaps/default/keymap.c30
-rw-r--r--keyboards/jkdlab/binary_monkey/readme.md21
-rw-r--r--keyboards/jkdlab/binary_monkey/rules.mk22
8 files changed, 248 insertions, 0 deletions
diff --git a/keyboards/jkdlab/binary_monkey/binary_monkey.c b/keyboards/jkdlab/binary_monkey/binary_monkey.c
new file mode 100644
index 0000000000..bdbcac18ee
--- /dev/null
+++ b/keyboards/jkdlab/binary_monkey/binary_monkey.c
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2021 JKDLAB. <jkdlab.co@gmail.com>
+ * Copyright 2021 Jaehee <ljh34210329@gmail.com>
+ * 
+ * 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 3 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 https://www.gnu.org/licenses/.
+ */
+ 
+#include "binary_monkey.h"
diff --git a/keyboards/jkdlab/binary_monkey/binary_monkey.h b/keyboards/jkdlab/binary_monkey/binary_monkey.h
new file mode 100644
index 0000000000..598886b781
--- /dev/null
+++ b/keyboards/jkdlab/binary_monkey/binary_monkey.h
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2021 JKDLAB. <jkdlab.co@gmail.com>
+ * Copyright 2021 Jaehee <ljh34210329@gmail.com>
+ * 
+ * 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 3 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 https://www.gnu.org/licenses/.
+ */
+ 
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT( \
+    K00, K01, \
+       K10 \
+) { \
+    { K10, K00, K01 } \
+}
diff --git a/keyboards/jkdlab/binary_monkey/config.h b/keyboards/jkdlab/binary_monkey/config.h
new file mode 100644
index 0000000000..ba8bfcd8d1
--- /dev/null
+++ b/keyboards/jkdlab/binary_monkey/config.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2021 JKDLAB. <jkdlab.co@gmail.com>
+ * Copyright 2021 Jaehee <ljh34210329@gmail.com>
+ * 
+ * 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 3 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 https://www.gnu.org/licenses/.
+ */
+ 
+#pragma once
+
+#include "config_common.h"
+
+#define VENDOR_ID       0x4934
+#define PRODUCT_ID      0x0101 
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    JKDLAB.
+#define PRODUCT         Binary_Monkey
+
+#define MATRIX_ROWS 1
+#define MATRIX_COLS 3
+#define MATRIX_ROW_PINS { D0 }
+#define MATRIX_COL_PINS { D1, D2, D3 }
+
+#define DIODE_DIRECTION COL2ROW
+
+#define DEBOUNCE 5
+
+#define USB_MAX_POWER_CONSUMPTION 100
+
+/* Bootmagic Lite key configuration */
+#define BOOTMAGIC_LITE_ROW 0
+#define BOOTMAGIC_LITE_COLUMN 2
diff --git a/keyboards/jkdlab/binary_monkey/info.json b/keyboards/jkdlab/binary_monkey/info.json
new file mode 100644
index 0000000000..e15b43e70c
--- /dev/null
+++ b/keyboards/jkdlab/binary_monkey/info.json
@@ -0,0 +1,16 @@
+{
+    "keyboard_name": "Binary_Monkey",
+    "url": "https://gumroad.com/jkdlab",
+    "maintainer": "JKDLAB.",
+    "width": 3,
+    "height": 1,
+    "layouts": {
+        "LAYOUT": {
+            "layout": [
+                {"label": "0", "x": 0, "y": 0},
+                {"label": "1", "x": 1, "y": 0},
+                {"label": "ENTER", "x": 0, "y": 1, "w" : 2}
+            ]
+        }
+    }
+}
diff --git a/keyboards/jkdlab/binary_monkey/keymaps/ascii/keymap.c b/keyboards/jkdlab/binary_monkey/keymaps/ascii/keymap.c
new file mode 100644
index 0000000000..e10df7ce08
--- /dev/null
+++ b/keyboards/jkdlab/binary_monkey/keymaps/ascii/keymap.c
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2021 JKDLAB. <jkdlab.co@gmail.com>
+ * Copyright 2021 Jaehee <ljh34210329@gmail.com>
+ * 
+ * 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 3 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 https://www.gnu.org/licenses/.
+ */
+ 
+#include QMK_KEYBOARD_H
+
+char ascii = 0;
+
+enum custom_keycodes {
+    BIN_0 = SAFE_RANGE,
+    BIN_1,
+    BIN_RETURN
+};
+
+enum layers {
+    _BASE = 0
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [_BASE] = LAYOUT(
+        BIN_0,   BIN_1,
+          BIN_RETURN
+    )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t* record) {
+    switch (keycode) {
+        case BIN_0:
+            if (record->event.pressed) {   
+                ascii = ascii << 1;
+            }
+
+            return true;
+        case BIN_1:
+            if (record->event.pressed) {
+                    ascii = ascii << 1;
+                    ++ascii;
+                }
+
+            return true;
+        case BIN_RETURN:
+            if (record->event.pressed) {
+                char str[2] = { ascii & 127, '\0' };
+
+                send_string(str);
+
+                ascii = 0;
+            }
+
+            return true;
+        default:
+            return true;
+    }
+
+    return true;
+}
diff --git a/keyboards/jkdlab/binary_monkey/keymaps/default/keymap.c b/keyboards/jkdlab/binary_monkey/keymaps/default/keymap.c
new file mode 100644
index 0000000000..629dfd3b2f
--- /dev/null
+++ b/keyboards/jkdlab/binary_monkey/keymaps/default/keymap.c
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2021 JKDLAB. <jkdlab.co@gmail.com>
+ * Copyright 2021 Jaehee <ljh34210329@gmail.com>
+ * 
+ * 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 3 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 https://www.gnu.org/licenses/.
+ */
+ 
+#include QMK_KEYBOARD_H
+
+enum layers {
+    _BASE = 0
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    [_BASE] = LAYOUT(
+        KC_0,   KC_1,
+          KC_ENTER
+    )
+};
diff --git a/keyboards/jkdlab/binary_monkey/readme.md b/keyboards/jkdlab/binary_monkey/readme.md
new file mode 100644
index 0000000000..7a787c76d9
--- /dev/null
+++ b/keyboards/jkdlab/binary_monkey/readme.md
@@ -0,0 +1,21 @@
+# Binary_Monkey
+
+![Binary_Monkey](https://i.imgur.com/0meBVKTh.png)
+
+It is 3-Key macropad, inspired by a monkey. 🐵
+
+* Keyboard Maintainer: [JKDLAB.](https://github.com/jkdlab) [yikolden](https://github.com/LDobac)
+* Hardware Supported: atmega32u4
+* Hardware Availability: [Gumroad](https://gumroad.com/jkdlab)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make jkdlab/binary_monkey:default
+    
+If you want switch to bootloader, unplug the keyboard and plug it back while pressing right upper key(Key 1). 
+    
+Flashing example for this keyboard (You need to keyboard has in bootloader mode) :
+
+    make jkdlab/binary_monkey:default:flash
+
+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).
diff --git a/keyboards/jkdlab/binary_monkey/rules.mk b/keyboards/jkdlab/binary_monkey/rules.mk
new file mode 100644
index 0000000000..a90eef1fc6
--- /dev/null
+++ b/keyboards/jkdlab/binary_monkey/rules.mk
@@ -0,0 +1,22 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = no        # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no         # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no            # USB Nkey Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no       # Enable Bluetooth
+AUDIO_ENABLE = no           # Audio output