diff options
author | Alex Ong <the.onga@gmail.com> | 2018-08-29 10:08:07 +1000 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2018-08-28 17:08:07 -0700 |
commit | 9bd6d6112d698ea5823b268983809fe3b8d98b26 (patch) | |
tree | a47b90c36bc7c976bd57b5d69bdba0e905bcfd66 /keyboards/handwired/xealous/rev1 | |
parent | af5f59636eea83f66db6510f61510d31ee9dade4 (diff) | |
download | qmk_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.h | 90 | ||||
-rw-r--r-- | keyboards/handwired/xealous/rev1/rev1.c | 6 | ||||
-rw-r--r-- | keyboards/handwired/xealous/rev1/rev1.h | 32 | ||||
-rw-r--r-- | keyboards/handwired/xealous/rev1/rules.mk | 0 |
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 |