summaryrefslogtreecommitdiff
path: root/keyboards/handwired/xealous/rev1
diff options
context:
space:
mode:
authorAlex Ong <the.onga@gmail.com>2018-08-29 10:08:07 +1000
committerDrashna Jaelre <drashna@live.com>2018-08-28 17:08:07 -0700
commit9bd6d6112d698ea5823b268983809fe3b8d98b26 (patch)
treea47b90c36bc7c976bd57b5d69bdba0e905bcfd66 /keyboards/handwired/xealous/rev1
parentaf5f59636eea83f66db6510f61510d31ee9dade4 (diff)
downloadqmk_firmware-9bd6d6112d698ea5823b268983809fe3b8d98b26.tar.gz
qmk_firmware-9bd6d6112d698ea5823b268983809fe3b8d98b26.zip
Keyboard: xealous (#3731)
* Keyboard: HandWired/XeaL60 * Updated rules.mk * Mapping for layout was flipped * Figured out how to re-map bad pins. * Updated Keymap * Enabled audio, Forced NKRO * Added QMK_KEYS_PER_SCAN * Removed more unnecessary files, since split_keyboards are in main QMK branch already. * Simplified rules.mk in rev1 * Removed i2c from matrix.c * Re-formatted to 4 spaces per tab, * Changed note for NUMPAD * Added I2C support back! * Fixed keyboard mappings. Both sides work * Moved i2c configuration from keymaps/default/config.h to config.h * Changed SCL_CLOCK to 400000L * Added DEBUG_MATRIX_SCAN_RATE for future optimization efforts * Removed row2col code to clean up matrix.c * Scan rate from 2100 -> 4200 by using Nop instead of waiting 30us between columns. * Further optimized column reading via optimized_col_reader. * Immediate key-recognition * Switched back to own implementation of SPLIT_KEYBOARD. Will optimize so that slave interrupts master. * Moved scanrate debug messages to another file. * Made matrix_scanrate.c compile if CONSOLE_ENABLE is off. Updated to latest i2c.c * Latest i2c uses a few bytes for lighting information * Optimizations in i2c.h to determine buffer size. * Disabled a whole bunch of features. TODO: Test that keyboard still works fine. * Minimum #define NO_ACTION's with still working keyboard * Fixed matrix not working due to offsets not being respected * Added numlock button for keymap. * Use I2C_KEYMAP_START offset * Removed serial, Backlight and RGB support * Removed need for split_flags. * Added audio on and off for numlock. * Renamed from xeal60 to xealous, simplified build system. * Used more shared split_common code. * Updated audio code. * moved tone_qwerty and tone_numpad to config.h. Removed keymaps/default/config.h * Added more shortcut keys in _FN layer. Increased debounce to 6ms due to fencepost error. * DF used with incorrect argument. Custom_keycodes no longer required. * Fixed bug in update_debounce_counters which was resulting in no debouncing! * Removed unnecessary #include
Diffstat (limited to 'keyboards/handwired/xealous/rev1')
-rw-r--r--keyboards/handwired/xealous/rev1/config.h90
-rw-r--r--keyboards/handwired/xealous/rev1/rev1.c6
-rw-r--r--keyboards/handwired/xealous/rev1/rev1.h32
-rw-r--r--keyboards/handwired/xealous/rev1/rules.mk0
4 files changed, 128 insertions, 0 deletions
diff --git a/keyboards/handwired/xealous/rev1/config.h b/keyboards/handwired/xealous/rev1/config.h
new file mode 100644
index 0000000000..6fc769b5f2
--- /dev/null
+++ b/keyboards/handwired/xealous/rev1/config.h
@@ -0,0 +1,90 @@
+/*
+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/>.
+*/
+
+#ifndef REV1_CONFIG_H
+#define REV1_CONFIG_H
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0x4131
+#define PRODUCT_ID 0x5141
+#define DEVICE_VER 0x0001
+#define MANUFACTURER XeaLouS
+#define PRODUCT XeaL60
+#define DESCRIPTION A split keyboard
+
+/* key matrix size */
+// Rows are doubled-up
+#define MATRIX_ROWS 10
+#define MATRIX_COLS 8
+
+// wiring of each half
+// Ascii art of pro micro. Pin names PD3, PD2, etc.
+//Usage| Name | Label Label| Name | Usage
+// PORT
+// | PD3 TX0 RAW |
+// | PD2 RX1 GND |SerGnd
+// | GND RESET |
+// | GND VCC |SerVCc
+// | PD1 2 A3 PF4 | Col7
+//Ser | PD0 3 A2 PF5 | Col6
+//Row4 | PD4 4 A1 PF6 | Col5
+//AUDIO| PC6 5 A0 PF7 | Col4
+//Row3 | PD7 6 15 PB1 | Col3
+//Row2 | PE6 7 14 PB3 | Col2
+//Row1 | PB4 8 13 PB2 | Col1
+//Row0 | PB5 9 10 PB6 | Col0
+
+// Note reservation of C6 for audio
+#define MATRIX_ROW_PINS { B5, B4, E6, D7, D4 }
+#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 }
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* number of backlight levels */
+// #define BACKLIGHT_LEVELS 3
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/*
+ * Feature disable options
+ * These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+// #define NO_DEBUG
+
+/* disable print */
+// #define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+#define NO_ACTION_ONESHOT
+#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+#define IGNORE_MOD_TAP_INTERRUPT
+#endif
diff --git a/keyboards/handwired/xealous/rev1/rev1.c b/keyboards/handwired/xealous/rev1/rev1.c
new file mode 100644
index 0000000000..3e51421d85
--- /dev/null
+++ b/keyboards/handwired/xealous/rev1/rev1.c
@@ -0,0 +1,6 @@
+#include "quantum.h"
+#include "rev1.h"
+
+void matrix_init_kb(void) {
+ matrix_init_user();
+}
diff --git a/keyboards/handwired/xealous/rev1/rev1.h b/keyboards/handwired/xealous/rev1/rev1.h
new file mode 100644
index 0000000000..d195af49de
--- /dev/null
+++ b/keyboards/handwired/xealous/rev1/rev1.h
@@ -0,0 +1,32 @@
+#ifndef REV1_H
+#define REV1_H
+
+//void promicro_bootloader_jmp(bool program);
+#include "quantum.h"
+
+//void promicro_bootloader_jmp(bool program);
+#define XXX KC_NO
+
+#define LAYOUT( \
+ L00, L01, L02, L03, L04, L05, L06, R06, R05, R04, R03, R02, R01, R00, \
+ L10, L11, L12, L13, L14, L15, R17, R16, R15, R14, R13, R12, R11, R10, \
+ L20, L21, L22, L23, L24, L25, R26, R25, R24, R23, R22, R21, R20, \
+ L30, L31, L32, L33, L34, L35, R35, R34, R33, R32, R31, R30, \
+ L40, L41, L42, L43, L44, R44, R43, R42, R41, R40 \
+ ) \
+ { \
+ { XXX, L06, L05, L04, L03, L02, L01, L00 }, \
+ { XXX, XXX, L15, L14, L13, L12, L11, L10 }, \
+ { XXX, XXX, L25, L24, L23, L22, L21, L20 }, \
+ { XXX, XXX, L35, L34, L33, L32, L31, L30 }, \
+ { XXX, XXX, XXX, L44, L43, L42, L41, L40 }, \
+ { R00, R01, R02, R03, R04, R05, R06, XXX }, \
+ { R10, R11, R12, R13, R14, R15, R16, R17 }, \
+ { R20, R21, R22, R23, R24, R25, R26, XXX }, \
+ { R30, R31, R32, R33, R34, R35, XXX, XXX }, \
+ { R40, R41, R42, R43, R44, XXX, XXX, XXX } \
+ }
+
+#define LAYOUT_split60 LAYOUT
+
+#endif
diff --git a/keyboards/handwired/xealous/rev1/rules.mk b/keyboards/handwired/xealous/rev1/rules.mk
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/keyboards/handwired/xealous/rev1/rules.mk