be227b43174f6ec9effbbfc25eb9a853b42cbf2f
- Author
- captsis <34025500+captsis@users.noreply.github.com>
- Committer
- Drashna Jaelre <drashna@live.com>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/keyboards/orange75/config.h b/keyboards/orange75/config.h
2new file mode 100644
3index 0000000000000000000000000000000000000000..7d1b497be0fc856a390c35257b8f6e0082442ac1
4--- /dev/null
5+++ b/keyboards/orange75/config.h
6@@ -0,0 +1,35 @@
7+#pragma once
8+
9+/* USB Device descriptor parameter */
10+#define VENDOR_ID 0xFEEB
11+#define PRODUCT_ID 0x6060
12+#define DEVICE_VER 0x0001
13+#define MANUFACTURER Fox-Lab
14+#define PRODUCT Orange75
15+#define DESCRIPTION Keyboard
16+
17+/* key matrix size */
18+#define MATRIX_ROWS 15
19+#define MATRIX_COLS 6
20+
21+/* key matrix pins */
22+#define MATRIX_ROW_PINS { E6,F0, F1, F4, F5, F6, F7, C7, C6, B6, B4, D7, D4, D5, D6 }
23+#define MATRIX_COL_PINS { D3, D2, D1, D0, B7, B3 }
24+#define UNUSED_PINS
25+
26+/* COL2ROW or ROW2COL */
27+#define DIODE_DIRECTION COL2ROW
28+
29+/* number of backlight levels */
30+#define BACKLIGHT_PIN B5
31+#define BACKLIGHT_LEVELS 3
32+
33+
34+/* Set 0 if debouncing isn't needed */
35+#define DEBOUNCING_DELAY 5
36+
37+/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
38+#define LOCKING_SUPPORT_ENABLE
39+
40+/* Locking resynchronize hack */
41+#define LOCKING_RESYNC_ENABLE
42diff --git a/keyboards/orange75/info.json b/keyboards/orange75/info.json
43new file mode 100644
44index 0000000000000000000000000000000000000000..093b4cd4ec40b9ee67bbc723bf2a335c7b29dfc0
45--- /dev/null
46+++ b/keyboards/orange75/info.json
47@@ -0,0 +1,12 @@
48+{
49+ "keyboard_name": "Orange75",
50+ "url": "",
51+ "maintainer": "qmk",
52+ "width": 16,
53+ "height": 6.25,
54+ "layouts": {
55+ "LAYOUT": {
56diff --git a/keyboards/orange75/keymaps/default/keymap.c b/keyboards/orange75/keymaps/default/keymap.c
57new file mode 100644
58index 0000000000000000000000000000000000000000..50aaf718eccc4fe627e2e4f1721945af8599c977
59--- /dev/null
60+++ b/keyboards/orange75/keymaps/default/keymap.c
61@@ -0,0 +1,53 @@
62+
63+#include QMK_KEYBOARD_H
64+
65+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
66+
67+ LAYOUT(
68+ KC_ESC, KC_F1,KC_F2,KC_F3,KC_F4,KC_F5,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10,KC_F11, KC_F12, KC_DEL,
69+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
70+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
71+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
72+ KC_LSFT, LT(1, KC_NO), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
73+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, LT(1, KC_NO), KC_LEFT, KC_DOWN, KC_RGHT),
74+
75+ LAYOUT(
76+ RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
77+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_TOGG,
78+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP,
79+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_INC,
80+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BL_DEC,
81+ _______, _______, _______, _______, _______, _______, _______, _______, _______)
82+};
83+
84+
85+void matrix_init_user(void) {
86+}
87+
88+void matrix_scan_user(void) {
89+}
90+
91+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
92+ return true;
93+}
94+
95+void led_set_user(uint8_t usb_led) {
96+
97+ if (usb_led & (1 << USB_LED_NUM_LOCK)) {
98+ DDRB |= (1 << 0); PORTB &= ~(1 << 0);
99+ } else {
100+ DDRB &= ~(1 << 0); PORTB &= ~(1 << 0);
101+ }
102+
103+ if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
104+ DDRB |= (1 << 1); PORTB &= ~(1 << 1);
105+ } else {
106+ DDRB &= ~(1 << 1); PORTB &= ~(1 << 1);
107+ }
108+
109+ if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
110+ DDRB |= (1 << 2); PORTB &= ~(1 << 2);
111+ } else {
112+ DDRB &= ~(1 << 2); PORTB &= ~(1 << 2);
113+ }
114+}
115diff --git a/keyboards/orange75/orange75.c b/keyboards/orange75/orange75.c
116new file mode 100644
117index 0000000000000000000000000000000000000000..2d5f73048a7262ac20e0bc380b70f854ac9d9e22
118--- /dev/null
119+++ b/keyboards/orange75/orange75.c
120@@ -0,0 +1 @@
121+#include "orange75.h"
122diff --git a/keyboards/orange75/orange75.h b/keyboards/orange75/orange75.h
123new file mode 100644
124index 0000000000000000000000000000000000000000..1b351a595cc3a0d923406c723281c983091fe8f8
125--- /dev/null
126+++ b/keyboards/orange75/orange75.h
127@@ -0,0 +1,29 @@
128+#pragma once
129+
130+#include "quantum.h"
131+
132+#define LAYOUT( \
133+ K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, \
134+ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
135+ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, \
136+ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K314, \
137+ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, \
138+ K500, K501, K502, K506, K510, K511, K512, K513, K514 \
139+) { \
140+ { K000, K100, K200, K300, K400, K500 }, \
141+ { KC_NO, K101, K201, K301, K401, K501 }, \
142+ { K002, K102, K202, K302, K402, K502 }, \
143+ { K003, K103, K203, K303, K403, KC_NO}, \
144+ { K004, K104, K204, K304, K404, KC_NO}, \
145+ { K005, K105, K205, K305, K405, KC_NO}, \
146+ { K006, K106, K206, K306, K406, K506 }, \
147+ { K007, K107, K207, K307, K407, KC_NO}, \
148+ { K008, K108, K208, K308, K408, KC_NO}, \
149+ { K009, K109, K209, K309, K409, KC_NO}, \
150+ { K010, K110, K210, K310, K410, K510 }, \
151+ { K011, K111, K211, K311, K411, K511 }, \
152+ { K012, K112, K212, K312, K412, K512 }, \
153+ { K013, K113, K213, KC_NO,K413, K513 }, \
154+ { K014, K114, K214, K314, K414, K514 } \
155+}
156+
157diff --git a/keyboards/orange75/readme.md b/keyboards/orange75/readme.md
158new file mode 100644
159index 0000000000000000000000000000000000000000..910674406297d81842bbb93c45b20496a6c171fc
160--- /dev/null
161+++ b/keyboards/orange75/readme.md
162@@ -0,0 +1,16 @@
163+# Orange75
164+
165+
166+
167+A 75% made by Fox Lab.
168+
169+Keyboard Maintainer: [captsis](https://github.com/captsis), [fox-lab](https://github.com/fox-lab)
170+Hardware Supported: Orange75 powered by the ATmega32U4
171+Hardware Availability: [zFrontier](https://en.zfrontier.com/collections/keyboards/products/foxlab-orange75), [Geekhack GB](https://geekhack.org/index.php?topic=95080.0)
172+
173+
174+Make example for this keyboard (after setting up your build environment):
175+
176+ make orange75:default
177+
178diff --git a/keyboards/orange75/rules.mk b/keyboards/orange75/rules.mk
179new file mode 100644
180index 0000000000000000000000000000000000000000..0f9672a51c81f6bb7105877f324ea6c2aa73d584
181--- /dev/null
182+++ b/keyboards/orange75/rules.mk
183@@ -0,0 +1,73 @@
184+# MCU name
185+MCU = atmega32u4
186+
187+# Processor frequency.
188+# This will define a symbol, F_CPU, in all source code files equal to the
189+# processor frequency in Hz. You can then use this symbol in your source code to
190+# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
191+# automatically to create a 32-bit value in your source code.
192+#
193+# This will be an integer division of F_USB below, as it is sourced by
194+# F_USB after it has run through any CPU prescalers. Note that this value
195+# does not *change* the processor frequency - it should merely be updated to
196+# reflect the processor speed set externally so that the code can use accurate
197+# software delays.
198+F_CPU = 16000000
199+
200+#
201+# LUFA specific
202+#
203+# Target architecture (see library "Board Types" documentation).
204+ARCH = AVR8
205+
206+# Input clock frequency.
207+# This will define a symbol, F_USB, in all source code files equal to the
208+# input clock frequency (before any prescaling is performed) in Hz. This value may
209+# differ from F_CPU if prescaling is used on the latter, and is required as the
210+# raw input clock is fed directly to the PLL sections of the AVR for high speed
211+# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
212+# at the end, this will be done automatically to create a 32-bit value in your
213+# source code.
214+#
215+# If no clock division is performed on the input clock inside the AVR (via the
216+# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
217+F_USB = $(F_CPU)
218+
219+# Interrupt driven control endpoint task(+60)
220+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
221+
222+
223+
224+# Bootloader selection
225+# Teensy halfkay
226+# Pro Micro caterina
227+# Atmel DFU atmel-dfu
228+# LUFA DFU lufa-dfu
229+# QMK DFU qmk-dfu
230+# atmega32a bootloadHID
231+BOOTLOADER = atmel-dfu
232+
233+
234+# If you don't know the bootloader type, then you can specify the
235+# Boot Section Size in *bytes* by uncommenting out the OPT_DEFS line
236+# Teensy halfKay 512
237+# Teensy++ halfKay 1024
238+# Atmel DFU loader 4096
239+# LUFA bootloader 4096
240+# USBaspLoader 2048
241+# OPT_DEFS += -DBOOTLOADER_SIZE=4096
242+
243+
244+# Build Options
245+# comment out to disable the options.
246+#
247+BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
248+MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
249+EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
250+CONSOLE_ENABLE = no # Console for debug(+400)
251+COMMAND_ENABLE = no # Commands for debug and configuration
252+SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
253+NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
254+BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
255+AUDIO_ENABLE = no
256+RGBLIGHT_ENABLE = no