[Keyboard] Add xdboards/recon keyboard (#24135)
Co-authored-by: Drashna Jaelre <drashna@live.com>
This commit is contained in:
		
							parent
							
								
									453ec007c1
								
							
						
					
					
						commit
						3b874ee434
					
				
							
								
								
									
										19
									
								
								keyboards/xdboards/recon/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								keyboards/xdboards/recon/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,19 @@ | ||||
| /* Copyright 2024 XD Boards <copyright@xdboards.xyz>
 | ||||
| * | ||||
| * 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/>.
 | ||||
|  */ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #define OLED_DISPLAY_128X64 | ||||
							
								
								
									
										201
									
								
								keyboards/xdboards/recon/keyboard.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								keyboards/xdboards/recon/keyboard.json
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,201 @@ | ||||
| { | ||||
|     "manufacturer": "XD Boards", | ||||
|     "keyboard_name": "xdboards/recon", | ||||
|     "maintainer": "Xanimos", | ||||
|     "development_board": "promicro", | ||||
|     "diode_direction": "COL2ROW", | ||||
|     "features": { | ||||
|         "bootmagic": true, | ||||
|         "extrakey": true, | ||||
|         "nkro": true, | ||||
|         "rgb_matrix": true, | ||||
|         "oled": true | ||||
|     }, | ||||
|     "matrix_pins": { | ||||
|         "cols": ["D4", "C6", "D7", "E6", "B4", "B5"], | ||||
|         "rows": ["F4", "F5", "F6", "F7", "B1"] | ||||
|     }, | ||||
|     "url": "https://xdboards.xyz", | ||||
|     "tags": ["columnar", "split", "thumb cluster", "rgb", "encoder"], | ||||
|     "usb": { | ||||
|         "device_version": "1.0.0", | ||||
|         "pid": "0x02F7", | ||||
|         "vid": "0xFEED" | ||||
|     }, | ||||
|     "encoder": { | ||||
|         "rotary": [ | ||||
|             { "pin_a": "B6","pin_b": "B2" } | ||||
|         ] | ||||
|     }, | ||||
|     "split": { | ||||
|         "enabled": true, | ||||
|         "serial": { | ||||
|             "pin": "D3" | ||||
|         }, | ||||
|         "handedness": { | ||||
|             "pin": "D2" | ||||
|         }, | ||||
|         "transport": { | ||||
|             "sync": { | ||||
|                 "layer_state": true, | ||||
|                 "oled": true, | ||||
|                 "matrix_state": true, | ||||
|                 "modifiers": true | ||||
|             } | ||||
|         } | ||||
|     }, | ||||
|     "layouts": { | ||||
|         "LAYOUT": { | ||||
|             "layout": [ | ||||
|                 {"label": "L01", "matrix": [0, 0], "x": 0, "y": 0.75}, | ||||
|                 {"label": "L02", "matrix": [0, 1], "x": 1, "y": 0.75}, | ||||
|                 {"label": "L03", "matrix": [0, 2], "x": 2, "y": 0.25}, | ||||
|                 {"label": "L04", "matrix": [0, 3], "x": 3, "y": 0}, | ||||
|                 {"label": "L05", "matrix": [0, 4], "x": 4, "y": 0.25}, | ||||
|                 {"label": "L06", "matrix": [0, 5], "x": 5, "y": 0.5}, | ||||
| 
 | ||||
|                 {"label": "R06", "matrix": [5, 5], "x": 10.5, "y": 0.5}, | ||||
|                 {"label": "R05", "matrix": [5, 4], "x": 11.5, "y": 0.25}, | ||||
|                 {"label": "R04", "matrix": [5, 3], "x": 12.5, "y": 0}, | ||||
|                 {"label": "R03", "matrix": [5, 2], "x": 13.5, "y": 0.25}, | ||||
|                 {"label": "R02", "matrix": [5, 1], "x": 14.5, "y": 0.75}, | ||||
|                 {"label": "R01", "matrix": [5, 0], "x": 15.5, "y": 0.75}, | ||||
| 
 | ||||
|                 {"label": "L07", "matrix": [1, 0], "x": 0, "y": 1.75}, | ||||
|                 {"label": "L08", "matrix": [1, 1], "x": 1, "y": 1.75}, | ||||
|                 {"label": "L09", "matrix": [1, 2], "x": 2, "y": 1.25}, | ||||
|                 {"label": "L10", "matrix": [1, 3], "x": 3, "y": 1}, | ||||
|                 {"label": "L11", "matrix": [1, 4], "x": 4, "y": 1.25}, | ||||
|                 {"label": "L12", "matrix": [1, 5], "x": 5, "y": 1.5}, | ||||
| 
 | ||||
|                 {"label": "R12", "matrix": [6, 5], "x": 10.5, "y": 1.5}, | ||||
|                 {"label": "R11", "matrix": [6, 4], "x": 11.5, "y": 1.25}, | ||||
|                 {"label": "R10", "matrix": [6, 3], "x": 12.5, "y": 1}, | ||||
|                 {"label": "R09", "matrix": [6, 2], "x": 13.5, "y": 1.25}, | ||||
|                 {"label": "R08", "matrix": [6, 1], "x": 14.5, "y": 1.75}, | ||||
|                 {"label": "R07", "matrix": [6, 0], "x": 15.5, "y": 1.75}, | ||||
| 
 | ||||
|                 {"label": "L13", "matrix": [2, 0], "x": 0, "y": 2.75}, | ||||
|                 {"label": "L14", "matrix": [2, 1], "x": 1, "y": 2.75}, | ||||
|                 {"label": "L15", "matrix": [2, 2], "x": 2, "y": 2.25}, | ||||
|                 {"label": "L16", "matrix": [2, 3], "x": 3, "y": 2}, | ||||
|                 {"label": "L17", "matrix": [2, 4], "x": 4, "y": 2.25}, | ||||
|                 {"label": "L18", "matrix": [2, 5], "x": 5, "y": 2.5}, | ||||
| 
 | ||||
|                 {"label": "R18", "matrix": [7, 5], "x": 10.5, "y": 2.5}, | ||||
|                 {"label": "R17", "matrix": [7, 4], "x": 11.5, "y": 2.25}, | ||||
|                 {"label": "R16", "matrix": [7, 3], "x": 12.5, "y": 2}, | ||||
|                 {"label": "R15", "matrix": [7, 2], "x": 13.5, "y": 2.25}, | ||||
|                 {"label": "R14", "matrix": [7, 1], "x": 14.5, "y": 2.75}, | ||||
|                 {"label": "R13", "matrix": [7, 0], "x": 15.5, "y": 2.75}, | ||||
| 
 | ||||
|                 {"label": "L27", "encoder": 0, "matrix": [3, 0], "x": 6, "y": 2.7}, | ||||
| 
 | ||||
|                 {"label": "R27", "encoder": 1, "matrix": [8, 0], "x": 9.5, "y": 2.7}, | ||||
| 
 | ||||
|                 {"label": "L19", "matrix": [3, 2], "x": 4.25, "y": 3.5}, | ||||
|                 {"label": "L20", "matrix": [3, 3], "x": 5.25, "y": 3.75}, | ||||
|                 {"label": "L21", "matrix": [3, 4], "x": 6.25, "y": 4}, | ||||
|                 {"label": "L22", "matrix": [3, 5], "x": 7.25, "y": 4.25}, | ||||
| 
 | ||||
|                 {"label": "R22", "matrix": [8, 5], "x": 8, "y": 4.25}, | ||||
|                 {"label": "R21", "matrix": [8, 4], "x": 9, "y": 4}, | ||||
|                 {"label": "R20", "matrix": [8, 3], "x": 10, "y": 3.75}, | ||||
|                 {"label": "R19", "matrix": [8, 2], "x": 11, "y": 3.5}, | ||||
| 
 | ||||
|                 {"label": "L23", "matrix": [4, 2], "x": 4.25, "y": 4.5}, | ||||
|                 {"label": "L24", "matrix": [4, 3], "x": 5.25, "y": 4.75}, | ||||
|                 {"label": "L25", "matrix": [4, 4], "x": 6.25, "y": 5}, | ||||
|                 {"label": "L26", "matrix": [4, 5], "x": 7.25, "y": 5.25}, | ||||
| 
 | ||||
|                 {"label": "R26", "matrix": [9, 5], "x": 8, "y": 5.25}, | ||||
|                 {"label": "R25", "matrix": [9, 4], "x": 9, "y": 5}, | ||||
|                 {"label": "R24", "matrix": [9, 3], "x": 10, "y": 4.75}, | ||||
|                 {"label": "R23", "matrix": [9, 2], "x": 11, "y": 4.5} | ||||
| 
 | ||||
|             ] | ||||
|         } | ||||
|     }, | ||||
|     "rgb_matrix": { | ||||
|         "driver": "ws2812", | ||||
|         "layout": [ | ||||
| 
 | ||||
|             {"flags": 4, "matrix": [0, 0], "x": 13, "y": 16}, | ||||
|             {"flags": 4, "matrix": [0, 1], "x": 21, "y": 16}, | ||||
|             {"flags": 4, "matrix": [0, 2], "x": 30, "y": 11}, | ||||
|             {"flags": 4, "matrix": [0, 3], "x": 38, "y": 6}, | ||||
|             {"flags": 4, "matrix": [0, 4], "x": 46, "y": 11}, | ||||
|             {"flags": 4, "matrix": [0, 5], "x": 55, "y": 12}, | ||||
|             {"flags": 4, "matrix": [1, 0], "x": 13, "y": 24}, | ||||
|             {"flags": 4, "matrix": [1, 1], "x": 21, "y": 24}, | ||||
|             {"flags": 4, "matrix": [1, 2], "x": 30, "y": 19}, | ||||
|             {"flags": 4, "matrix": [1, 3], "x": 38, "y": 14}, | ||||
|             {"flags": 4, "matrix": [1, 4], "x": 46, "y": 19}, | ||||
|             {"flags": 4, "matrix": [1, 5], "x": 55, "y": 20}, | ||||
|             {"flags": 4, "matrix": [2, 0], "x": 13, "y": 32}, | ||||
|             {"flags": 4, "matrix": [2, 1], "x": 21, "y": 32}, | ||||
|             {"flags": 4, "matrix": [2, 2], "x": 30, "y": 26}, | ||||
|             {"flags": 4, "matrix": [2, 3], "x": 38, "y": 22}, | ||||
|             {"flags": 4, "matrix": [2, 4], "x": 46, "y": 27}, | ||||
|             {"flags": 4, "matrix": [2, 5], "x": 55, "y": 28}, | ||||
| 
 | ||||
|             {"flags": 4, "matrix": [3, 2], "x": 42, "y": 35}, | ||||
|             {"flags": 4, "matrix": [3, 3], "x": 54, "y": 37}, | ||||
|             {"flags": 4, "matrix": [3, 4], "x": 65, "y": 40}, | ||||
|             {"flags": 4, "matrix": [3, 5], "x": 76, "y": 45}, | ||||
|             {"flags": 4, "matrix": [4, 2], "x": 42, "y": 44}, | ||||
|             {"flags": 4, "matrix": [4, 3], "x": 52, "y": 45}, | ||||
|             {"flags": 4, "matrix": [4, 4], "x": 62, "y": 47}, | ||||
|             {"flags": 4, "matrix": [4, 5], "x": 71, "y": 52}, | ||||
| 
 | ||||
|             {"flags": 2, "x": 68, "y": 36}, | ||||
|             {"flags": 2, "x": 57, "y": 8}, | ||||
|             {"flags": 2, "x": 31, "y": 6}, | ||||
|             {"flags": 2, "x": 14, "y": 12}, | ||||
|             {"flags": 2, "x": 28, "y": 37}, | ||||
| 
 | ||||
|             {"flags": 4, "matrix": [5, 0], "x": 175, "y": 16}, | ||||
|             {"flags": 4, "matrix": [5, 1], "x": 166, "y": 16}, | ||||
|             {"flags": 4, "matrix": [5, 2], "x": 158, "y": 11}, | ||||
|             {"flags": 4, "matrix": [5, 3], "x": 149, "y": 6}, | ||||
|             {"flags": 4, "matrix": [5, 4], "x": 141, "y": 11}, | ||||
|             {"flags": 4, "matrix": [5, 5], "x": 133, "y": 12}, | ||||
|             {"flags": 4, "matrix": [6, 0], "x": 175, "y": 24}, | ||||
|             {"flags": 4, "matrix": [6, 1], "x": 166, "y": 24}, | ||||
|             {"flags": 4, "matrix": [6, 2], "x": 158, "y": 19}, | ||||
|             {"flags": 4, "matrix": [6, 3], "x": 149, "y": 14}, | ||||
|             {"flags": 4, "matrix": [6, 4], "x": 141, "y": 19}, | ||||
|             {"flags": 4, "matrix": [6, 5], "x": 133, "y": 20}, | ||||
|             {"flags": 4, "matrix": [7, 0], "x": 175, "y": 32}, | ||||
|             {"flags": 4, "matrix": [7, 1], "x": 166, "y": 32}, | ||||
|             {"flags": 4, "matrix": [7, 2], "x": 158, "y": 26}, | ||||
|             {"flags": 4, "matrix": [7, 3], "x": 149, "y": 22}, | ||||
|             {"flags": 4, "matrix": [7, 4], "x": 141, "y": 27}, | ||||
|             {"flags": 4, "matrix": [7, 5], "x": 133, "y": 28}, | ||||
| 
 | ||||
|             {"flags": 4, "matrix": [8, 2], "x": 146, "y": 35}, | ||||
|             {"flags": 4, "matrix": [8, 3], "x": 134, "y": 37}, | ||||
|             {"flags": 4, "matrix": [8, 4], "x": 123, "y": 40}, | ||||
|             {"flags": 4, "matrix": [8, 5], "x": 113, "y": 45}, | ||||
|             {"flags": 4, "matrix": [9, 2], "x": 146, "y": 44}, | ||||
|             {"flags": 4, "matrix": [9, 3], "x": 136, "y": 45}, | ||||
|             {"flags": 4, "matrix": [9, 4], "x": 126, "y": 47}, | ||||
|             {"flags": 4, "matrix": [9, 5], "x": 117, "y": 52}, | ||||
| 
 | ||||
|             {"flags": 2, "x": 121, "y": 36}, | ||||
|             {"flags": 2, "x": 130, "y": 8}, | ||||
|             {"flags": 2, "x": 156, "y": 6}, | ||||
|             {"flags": 2, "x": 172, "y": 12}, | ||||
|             {"flags": 2, "x": 158, "y": 37} | ||||
|         ], | ||||
|         "split_count": [31, 31], | ||||
|         "animations": { | ||||
|             "alphas_mods": true, | ||||
|             "solid_reactive": true | ||||
|         }, | ||||
|         "default": { | ||||
|             "animation": "solid_reactive", | ||||
|             "hue": 126 | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										155
									
								
								keyboards/xdboards/recon/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										155
									
								
								keyboards/xdboards/recon/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,155 @@ | ||||
| /* Copyright 2024 XD Boards <copyright@xdboards.xyz>
 | ||||
| * | ||||
| * 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/>.
 | ||||
|  */ | ||||
| 
 | ||||
| #include QMK_KEYBOARD_H | ||||
| 
 | ||||
| enum layers { | ||||
|     _QWERTY, | ||||
|     _SYMBOLS, | ||||
|     _NUMBERS, | ||||
|     _FUNCTION, | ||||
|     _RGB | ||||
| }; | ||||
| 
 | ||||
| // clang-format off
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|     /*
 | ||||
|     * ┌─────┬─────┬─────┬─────┬─────┬─────┐                                      ┌─────┬─────┬─────┬─────┬─────┬─────┐ | ||||
|     * │ ESC │  Q  │  W  │  E  │  R  │  T  │                                      │  Y  │  U  │  I  │  O  │  P  │ Bsp │ | ||||
|     * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|     * │ Tab │  A  │  S  │  D  │  F  │  G  │                                      │  H  │  J  │  K  │  L  │  ;  │ CTL │ | ||||
|     * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|     * │Shift│  Z  │  X  │  C  │  V  │  B  │                                      │  N  │  M  │  ,  │  .  │  /  │Shift│ | ||||
|     * └─────┴─────┴─────┴─────┴─────┴─────┘    ┌─────┐                 ┌─────┐   └─────┴─────┴─────┴─────┴─────┴─────┘ | ||||
|     *               ┌─────┐                    │Mute │                 │P Scr│                   ┌─────┐ | ||||
|     *               │ ALT ├─────┐              └─────┘                 └─────┘             ┌─────┤ Alt │ | ||||
|     *               ├─────┤  (  ├─────┐                                              ┌─────┤  )  ├─────┤ | ||||
|     *               │ GUI ├─────┤  {  ├─────┐                                  ┌─────┤  }  ├─────┤ App │ | ||||
|     *               └─────┤Space├─────┤  [  │                                  │  ]  ├─────┤ Ent ├─────┘ | ||||
|     *                     └─────┤ Fnc ├─────┤                                  ├─────┤ Sym ├─────┘ | ||||
|     *                           └─────┤Qwert│                                  │ Num ├─────┘ | ||||
|     *                                 └─────┘                                  └─────┘ | ||||
|     */ | ||||
|     [_QWERTY] = LAYOUT( | ||||
|         KC_ESC,  KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                               KC_Y,    KC_U,    KC_I,    KC_O,    KC_P,    KC_BSPC, | ||||
|         KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                               KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN, KC_RCTL, | ||||
|         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                               KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, | ||||
|                                                         KC_MUTE,                   KC_PSCR, | ||||
|                           KC_LALT, KC_LPRN, KC_LCBR,  KC_LBRC,                        KC_RBRC,  KC_RCBR,  KC_RPRN,  KC_RALT, | ||||
|                           KC_LGUI, KC_SPC,TO(_FUNCTION),TO(_QWERTY),                  TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP | ||||
|     ), | ||||
|     /*
 | ||||
|      * ┌─────┬─────┬─────┬─────┬─────┬─────┐                                      ┌─────┬─────┬─────┬─────┬─────┬─────┐ | ||||
|      * │  `  │  !  │  @  │  #  │  $  │  %  │                                      │  +  │  "  │  '  │  |  │  \  │ Bsp │ | ||||
|      * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|      * │ Tab │  ^  │  &  │  *  │  (  │  )  │                                      │  =  │  <  │  >  │  :  │  ;  │ Ctl │ | ||||
|      * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|      * │Shift│  _  │  [  │  ]  │  {  │  }  │                                      │  -  │  ~  │  ,  │  .  │  ?  │Shift│ | ||||
|      * └─────┴─────┴─────┴─────┴─────┴─────┘    ┌─────┐                 ┌─────┐   └─────┴─────┴─────┴─────┴─────┴─────┘ | ||||
|      *               ┌─────┐                    │Mute │                 │P Scr│                   ┌─────┐ | ||||
|      *               │ ALT ├─────┐              └─────┘                 └─────┘             ┌─────┤ Alt │ | ||||
|      *               ├─────┤  (  ├─────┐                                              ┌─────┤  )  ├─────┤ | ||||
|      *               │ GUI ├─────┤  {  ├─────┐                                  ┌─────┤  }  ├─────┤ App │ | ||||
|      *               └─────┤Space├─────┤  [  │                                  │  ]  ├─────┤ Ent ├─────┘ | ||||
|      *                     └─────┤ Fnc ├─────┤                                  ├─────┤ Sym ├─────┘ | ||||
|      *                           └─────┤Qwert│                                  │ Num ├─────┘ | ||||
|      *                                 └─────┘                                  └─────┘ | ||||
|      */ | ||||
|     [_SYMBOLS] = LAYOUT( | ||||
|        KC_GRAVE, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC,                            KC_PLUS, KC_DQUO, KC_QUOTE,KC_PIPE, KC_BSLS, KC_BSPC, | ||||
|        KC_TAB,   KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,                            KC_EQUAL,KC_LT,   KC_GT,   KC_COLN, KC_SCLN, KC_RCTL, | ||||
|        KC_LSFT,  KC_UNDS, KC_LBRC, KC_RBRC, KC_LCBR, KC_RCBR,                            KC_MINUS,KC_TILD, KC_COMM, KC_DOT,  KC_QUES, KC_NUM, | ||||
|                                                        KC_MUTE,                   KC_PSCR, | ||||
|                          KC_LALT, KC_LPRN, KC_LCBR, KC_LBRC,                          KC_RBRC,  KC_RCBR,  KC_RPRN,  KC_RALT, | ||||
|                          KC_LGUI, KC_SPC,TO(_FUNCTION),TO(_QWERTY),                   TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP | ||||
|     ), | ||||
|     /*
 | ||||
|      * ┌─────┬─────┬─────┬─────┬─────┬─────┐                                      ┌─────┬─────┬─────┬─────┬─────┬─────┐ | ||||
|      * │ Esc │  1  │  2  │  3  │  4  │  5  │                                      │  +  │  7  │  8  │  9  │  *  │ Bsp │ | ||||
|      * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|      * │ Ctl │  6  │  7  │  8  │  9  │  0  │                                      │  =  │  4  │  5  │  6  │  \  │  :  │ | ||||
|      * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|      * │Shift│     │     │     │     │     │                                      │  -  │  1  │  2  │  3  │  /  │Nm Lk│ | ||||
|      * └─────┴─────┴─────┴─────┴─────┴─────┘    ┌─────┐                 ┌─────┐   └─────┴─────┴─────┴─────┴─────┴─────┘ | ||||
|      *               ┌─────┐                    │Mute │                 │P Scr│                   ┌─────┐ | ||||
|      *               │ ALT ├─────┐              └─────┘                 └─────┘             ┌─────┤  0  │ | ||||
|      *               ├─────┤     ├─────┐                                              ┌─────┤  .  ├─────┤ | ||||
|      *               │ GUI ├─────┤     ├─────┐                                  ┌─────┤  ,  ├─────┤ App │ | ||||
|      *               └─────┤Space├─────┤     │                                  │     ├─────┤ Ent ├─────┘ | ||||
|      *                     └─────┤ Fnc ├─────┤                                  ├─────┤ Sym ├─────┘ | ||||
|      *                           └─────┤Qwert│                                  │ Num ├─────┘ | ||||
|      *                                 └─────┘                                  └─────┘ | ||||
|      */ | ||||
|     [_NUMBERS] = LAYOUT( | ||||
|        KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,                               KC_PPLS,  KC_P7,   KC_P8,   KC_P9,   KC_PAST, KC_BSPC, | ||||
|        KC_LCTL, KC_6,    KC_7,    KC_8,    KC_9,    KC_0,                               KC_PEQL,  KC_P4,   KC_P5,   KC_P6,   KC_BSLS, KC_COLN, | ||||
|        KC_LSFT, KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,                              KC_PMNS,  KC_P1,   KC_P2,   KC_P3,   KC_PSLS, KC_NUM, | ||||
|                                                        KC_MUTE,                   KC_PSCR, | ||||
|                          KC_LALT, KC_NO,   KC_NO,   KC_NO,                           KC_NO,  KC_PCMM, KC_PDOT,  KC_P0, | ||||
|                          KC_LGUI, KC_SPC,TO(_FUNCTION),TO(_QWERTY),                   TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP | ||||
|     ), | ||||
|     /*
 | ||||
|      * ┌─────┬─────┬─────┬─────┬─────┬─────┐                                      ┌─────┬─────┬─────┬─────┬─────┬─────┐ | ||||
|      * │  F1 │  F2 │  F3 │  F4 │  F5 │  F6 │                                      │  F7 │  F8 │  F9 │ F10 │ F11 │ F12 │ | ||||
|      * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|      * │Caps │     │     │  ↑  │     │     │                                      │ Ins │ Home│Pg Up│Pause│     │     │ | ||||
|      * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|      * │Shift│     │  ←  │  ↓  │  →  │     │                                      │ Del │ End │Pg Dn│     │     │     │ | ||||
|      * └─────┴─────┴─────┴─────┴─────┴─────┘    ┌─────┐                 ┌─────┐   └─────┴─────┴─────┴─────┴─────┴─────┘ | ||||
|      *               ┌─────┐                    │Mute │                 │P Scr│                   ┌─────┐ | ||||
|      *               │ ALT ├─────┐              └─────┘                 └─────┘             ┌─────┤  0  │ | ||||
|      *               ├─────┤     ├─────┐                                              ┌─────┤  .  ├─────┤ | ||||
|      *               │ GUI ├─────┤     ├─────┐                                  ┌─────┤     ├─────┤ App │ | ||||
|      *               └─────┤Space├─────┤     │                                  │     ├─────┤ Ent ├─────┘ | ||||
|      *                     └─────┤ RGB ├─────┤                                  ├─────┤ Sym ├─────┘ | ||||
|      *                           └─────┤Qwert│                                  │ Num ├─────┘ | ||||
|      *                                 └─────┘                                  └─────┘ | ||||
|      */ | ||||
|     [_FUNCTION] = LAYOUT( | ||||
|        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_CAPS,   KC_NO,   KC_NO,   KC_UP,   KC_NO,   KC_NO,                              KC_INS,  KC_HOME, KC_PGUP, KC_PAUS, KC_NO,   KC_NO, | ||||
|        KC_LSFT, KC_NO,   KC_LEFT, KC_DOWN, KC_RIGHT,KC_NO,                              KC_DEL,  KC_END,  KC_PGDN, KC_NO,   KC_NO,   KC_RSFT, | ||||
|                                                        KC_MUTE,                   KC_PSCR, | ||||
|                          KC_LALT, KC_NO,   KC_NO,   KC_NO,                           KC_NO,  KC_NO,  KC_DOT,  KC_0, | ||||
|                          KC_LGUI, KC_SPC,MO(_RGB),TO(_QWERTY),                   TO(_NUMBERS),TO(_SYMBOLS),KC_ENT, KC_APP | ||||
|     ), | ||||
| /*
 | ||||
|  * ┌─────┬─────┬─────┬─────┬─────┬─────┐                                      ┌─────┬─────┬─────┬─────┬─────┬─────┐ | ||||
|  * │     │     │     │     │     │     │                                      │     │     │     │     │     │     │ | ||||
|  * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|  * │     │Mode↑│Hue ↑│Sat ↑│Val ↑│Spd ↑│                                      │     │     │     │     │     │     │ | ||||
|  * ├─────┼─────┼─────┼─────┼─────┼─────┤                                      ├─────┼─────┼─────┼─────┼─────┼─────┤ | ||||
|  * │OnOff│Mode↓│Hue ↓│Sat ↓│Val ↓│Spd ↓│                                      │     │     │     │     │     │     │ | ||||
|  * └─────┴─────┴─────┴─────┴─────┴─────┘    ┌─────┐                 ┌─────┐   └─────┴─────┴─────┴─────┴─────┴─────┘ | ||||
|  *               ┌─────┐                    │     │                 │     │                   ┌─────┐ | ||||
|  *               │     ├─────┐              └─────┘                 └─────┘             ┌─────┤     │ | ||||
|  *               ├─────┤     ├─────┐                                              ┌─────┤     ├─────┤ | ||||
|  *               │     ├─────┤     ├─────┐                                  ┌─────┤     ├─────┤     │ | ||||
|  *               └─────┤     ├─────┤     │                                  │     ├─────┤     ├─────┘ | ||||
|  *                     └─────┤     ├─────┤                                  ├─────┤     ├─────┘ | ||||
|  *                           └─────┤     │                                  │     ├─────┘ | ||||
|  *                                 └─────┘                                  └─────┘ | ||||
|  */ | ||||
|     [_RGB] = LAYOUT( | ||||
|        KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,                              KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, | ||||
|        KC_NO,   RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI,                            KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, | ||||
|        RGB_TOG, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD,                            KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO,   KC_NO, | ||||
|                                                        KC_NO,                     KC_NO, | ||||
|                          KC_NO  , KC_NO,   KC_NO,   KC_NO,                           KC_NO  , KC_NO,   KC_NO,   KC_NO, | ||||
|                          KC_NO  , KC_NO,   KC_NO,   KC_NO,                           KC_NO  , KC_NO,   KC_NO,   KC_NO | ||||
|     ) | ||||
| }; | ||||
| // clang-format on
 | ||||
							
								
								
									
										24
									
								
								keyboards/xdboards/recon/post_config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								keyboards/xdboards/recon/post_config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| /* Copyright 2024 XD Boards <copyright@xdboards.xyz>
 | ||||
| * | ||||
| * 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/>.
 | ||||
|  */ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #ifdef USE_SEA_PICRO_RGB_PIN | ||||
|     // Dedicated 5V RGB signal pin on sea-picro
 | ||||
| #   define WS2812_DI_PIN 25U | ||||
| #else | ||||
| #   define WS2812_DI_PIN B3 | ||||
| #endif | ||||
							
								
								
									
										3
									
								
								keyboards/xdboards/recon/post_rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								keyboards/xdboards/recon/post_rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,3 @@ | ||||
| ifeq ($(strip $(USE_SEA_PICRO_RGB_PIN)), yes) | ||||
| 	OPT_DEFS += -DUSE_SEA_PICRO_RGB_PIN | ||||
| endif | ||||
							
								
								
									
										57
									
								
								keyboards/xdboards/recon/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								keyboards/xdboards/recon/readme.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| # xdboards/recon | ||||
| 
 | ||||
|  | ||||
| 
 | ||||
| A split low profile keyboard with hotswap sockets that is built around the Sea-Picro microcontroller for it's dedicated RGB pin. | ||||
| 
 | ||||
| * Keyboard Maintainer: [Daniel Weeks](https://github.com/Xanimos) | ||||
| * Hardware Supported: Recon PCB, Sea-Picro, backwards compatibility with ProMicro pin layout. | ||||
| * Hardware Availability: [xdboards.xyz shop](https://www.xdboards.xyz) | ||||
| 
 | ||||
| Make example for this keyboard (after setting up your build environment): | ||||
| 
 | ||||
|     make xdboards/recon:default | ||||
| 
 | ||||
| See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). | ||||
| 
 | ||||
| ## Bootloader | ||||
| 
 | ||||
| Enter the bootloader in 2 ways: | ||||
| 
 | ||||
| * **Physical reset button**: Briefly press the button on the side of the PCB | ||||
| * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available | ||||
| * **Boot Magic**: Hold down the boot magic key while plugging in the USB cable | ||||
| 
 | ||||
| ## Setup for Sea-Picro microcontrollers | ||||
| 
 | ||||
| To take advantage of the dedicated 5v RGB pin on the sea-picro you must create your keymap | ||||
| and then add a `rules.mk` file and copy and paste the following: | ||||
| ``` | ||||
| CONVERT_TO = rp2040_ce | ||||
| USE_SEA_PICRO_RGB_PIN = yes | ||||
| ``` | ||||
| 
 | ||||
| If you do not want to use the dedicated 5v RGB header then follow the Setup for non Sea-Picro microcontrollers. | ||||
| 
 | ||||
| ## Setup for non Sea-Picro microcontrollers | ||||
| 
 | ||||
| Solder the "Pro-Micro Compatibility" jumper on the bottom of both boards. | ||||
| 
 | ||||
| In your keymap directory: | ||||
|   - add/modify a `rules.mk` file | ||||
|     - Remove or set `CONVERT_TO` to desired converter see [QMK Documentation](https://docs.qmk.fm/#/feature_converters) | ||||
|     - Remove or set `USE_SEA_PICRO_RGB_PIN` to `no` | ||||
| 
 | ||||
| 
 | ||||
| ## Setup for Underglow rgb only | ||||
| 
 | ||||
| 
 | ||||
| Solder the "Per-Key RGB Skip" jumper on the bottom of both boards. Do not install per key RGBs. | ||||
| 
 | ||||
| In your keymap directory: | ||||
|   - add/modify a `config.h` file and insert  | ||||
|     ``` | ||||
|     #define RGB_MATRIX_SPLIT { 5, 5 } | ||||
|     #define RGB_MATRIX_LED_COUNT 10 | ||||
|     ``` | ||||
|    | ||||
							
								
								
									
										118
									
								
								keyboards/xdboards/recon/recon.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								keyboards/xdboards/recon/recon.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,118 @@ | ||||
| /* Copyright 2024 XD Boards <copyright@xdboards.xyz>
 | ||||
| * | ||||
| * 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/>.
 | ||||
|  */ | ||||
| 
 | ||||
| #include "quantum.h" | ||||
| 
 | ||||
| #ifdef OLED_ENABLE | ||||
| oled_rotation_t oled_init_kb(oled_rotation_t rotation) { | ||||
|    return OLED_ROTATION_180; | ||||
| } | ||||
| 
 | ||||
| bool oled_task_kb(void) { | ||||
|     if (!oled_task_user()) { | ||||
|        return false; | ||||
|     } | ||||
|     if (is_keyboard_master()) { | ||||
|         // Host Keyboard Layer Status
 | ||||
|         oled_write_P(PSTR("Layer: "), false); | ||||
|         switch (get_highest_layer(layer_state | default_layer_state)) { | ||||
|             case 0: | ||||
|                 oled_write_P(PSTR("QWERTY\n"), false); | ||||
|                 break; | ||||
|             case 1: | ||||
|                 oled_write_P(PSTR("Symbols\n"), false); | ||||
|                 break; | ||||
|             case 2: | ||||
|                 oled_write_P(PSTR("Numbers\n"), false); | ||||
|                 break; | ||||
|             case 3: | ||||
|                 oled_write_P(PSTR("Function\n"), false); | ||||
|                 break; | ||||
|             case 4: | ||||
|                 oled_write_P(PSTR("RGB\n"), false); | ||||
|                 break; | ||||
|             default: | ||||
|                 oled_write_P(PSTR("Undefined\n"), false); | ||||
|         } | ||||
|         // Host Keyboard LED Status
 | ||||
|         led_t led_usb_state = host_keyboard_led_state(); | ||||
|         oled_write_P(PSTR("CAPSLCK"), led_usb_state.caps_lock); | ||||
|         oled_write_P(PSTR(" "), false); | ||||
|         oled_write_P(PSTR("NUMLCK"), led_usb_state.num_lock); | ||||
|         oled_write_P(PSTR(" "), false); | ||||
|         oled_write_P(PSTR("SCRLCK"), led_usb_state.scroll_lock); | ||||
|         oled_write_P(PSTR("\n"), false); | ||||
| 
 | ||||
|         oled_write_P(PSTR("\n"), false); | ||||
| 
 | ||||
|         static const char PROGMEM qmk_logo[] = { | ||||
|             0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94, | ||||
|             0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4, | ||||
|             0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00 | ||||
|         }; | ||||
| 
 | ||||
|         oled_write_P(qmk_logo, false); | ||||
| 
 | ||||
|     } else { | ||||
|         // clang-format off
 | ||||
|         static const char PROGMEM recon_logo[] = { | ||||
|             0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,254,254,254,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|             0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,128,192,224,240,240,248,252,124,126, 62, 62, 31, 31, 31,  0,  0,  0,255,255,255,  0,  0, 31, 31, 31, 62, 62, 62,124,252,248,248,240,224,192,192,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|             0,  0,  0,  0,  0,  0,  0,  0,128,224,248,252,255,127, 31, 15,  7,  3,  1,  0,  0,  0,  0,128,192,224,224,240,240,240,115,115,115,240,240,224,224,192,192,128,  0,  0,  0,  0,  1,  3,  7, 15, 63,255,254,252,240,192,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|           192,192,192,192,192,192,192,204,207,207,207,207,193,192,192,192,192,  0,  0,224,248,254,255, 15,  7,  3,  1,  0,192,224,224,224,224,192,  0,  1,  1,  3,  7, 63,255,252,240,  0,  0,192,192,192,192,192,199,207,207,207,207,192,192,192,192,192,192,192,128,  0,254,254,254,254,254,  0,134,254,254,252,124, 48,  0,  0,254,254,254,254,254,252,134,230,222, 62,  0,224,248,252,252,254,  6,  2,  6, 14, 62,126,  0,224,248,252,254,254,  6,  6,254,254,252,248,240,  0,  6,238,254,126,254,254,252,240,224,134,254, 14,  6,  0, | ||||
|             3,  3,  3,  3,  3,  3,  3, 51,243,243,243,243,131,  3,  3,  3,  3,  0,  0,  7, 31,127,255,240,224,192,128,  0,  1,  7,  7,  7,  7,  3,  0,128,128,192,224,252,255, 63, 15,  0,  0,  3,  3,  3,  3,  3,227,243,243,243,243,  3,  3,  3,  3,  3,  3,  3,  1, 64,127,127,127,127,127, 97,  3,127,127,127,126,120, 48,  0,127,127,127,127,127, 63, 97,103,119,124, 48, 15, 31, 63,127,127, 96, 64, 96, 96, 48, 24,  0, 15, 31, 63,127,127, 64, 64,127,127, 63, 63, 15,  0, 64,127,127, 96,  1,  7, 15, 63,127,127,127,  0,  0,  0, | ||||
|             0,  0,  0,  0,  0,  0,  0,  0,  1,  7, 31, 63,255,254,248,240,224,192,128,  0,  0,  0,  0,  1,  3,  7,  7,  7, 15, 15,207,206,207, 15, 15,  7,  7,  3,  3,  1,  0,  0,  0,  0,128,192,224,248,252,255,127, 63, 15,  7,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|             0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  3,  7, 15, 15, 31, 63, 62,126,124,124,248,248,248,  0,  0,  0,255,255,255,  0,  0,248,248,248,124,124,124, 62, 63, 31, 15, 15,  7,  3,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|             0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,127,127,127,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, | ||||
|         }; | ||||
|         // clang-format on
 | ||||
|         oled_write_raw_P(recon_logo, sizeof(recon_logo)); | ||||
|     } | ||||
|     return false; | ||||
| } | ||||
| #endif | ||||
| #ifdef ENCODER_ENABLE | ||||
| bool encoder_update_kb(uint8_t index, bool clockwise) { | ||||
|     if (!encoder_update_user(index, clockwise)) { | ||||
|        return false; | ||||
|     } | ||||
| 
 | ||||
|     if (index == 0) { | ||||
|         // Volume control
 | ||||
|         if (clockwise) { | ||||
|             tap_code(KC_VOLU); | ||||
|         } else { | ||||
|             tap_code(KC_VOLD); | ||||
|         } | ||||
|     } else if (index == 1) { | ||||
|        // Page up/Page down
 | ||||
|         if (clockwise) { | ||||
| #ifdef MOUSEKEY_ENABLE | ||||
|             tap_code(KC_WH_U); | ||||
| #else | ||||
|             tap_code(KC_PGUP); | ||||
| #endif | ||||
|         } else { | ||||
| #ifdef MOUSEKEY_ENABLE | ||||
|             tap_code(KC_WH_D); | ||||
| #else | ||||
|             tap_code(KC_PGDN); | ||||
| #endif | ||||
|         } | ||||
|     } | ||||
|     return true; | ||||
| } | ||||
| #endif | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user