mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-23 17:06:52 +06:00
9bd6d6112d
* 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
91 lines
2.6 KiB
C
91 lines
2.6 KiB
C
/*
|
|
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
|