* 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
 |