Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		| @@ -1,23 +1,22 @@ | ||||
| # Jones | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| A 60% keyboard combined with Ortho-Linear and Row-staggered. It has gapless R2-R3 row.   | ||||
| GH60 case compatible PCB and keyplate. | ||||
| A symmetrical 60% keyboard combined with Ortho-Linear and Row-staggered. It has gapless Row 2 - Row 3.   | ||||
| GH60 case compatible PCB and keyplate.   | ||||
| [More info](https://github.com/jpskenn/Jones) | ||||
|  | ||||
| * Keyboard Maintainer: [jpskenn](https://github.com/jpskenn) | ||||
| * Hardware Supported: Jones PCB, Keyplate | ||||
| * Hardware Availability: [GitHub](https://github.com/jpskenn/Jones), [BOOTH](https://jpskenn.booth.pm) | ||||
| * Hardware Supported: PCB, Key plate, Bottom plate | ||||
| * Hardware Availability: [GitHub](https://github.com/jpskenn/Jones), [BOOTH](https://jpskenn.booth.pm), [Yushakobo](https://yushakobo.jp) | ||||
|  | ||||
| Make example for this keyboard (after setting up your build environment): | ||||
|  | ||||
|     make jones/v03_1:default_ansi | ||||
|      | ||||
|     make jones/v1:default | ||||
|  | ||||
| Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): | ||||
|  | ||||
|     make jones/v03_1:default_ansi:flash | ||||
|     make jones/v1:default:flash | ||||
|  | ||||
| To reset the keyboard into bootloader mode, press the reset switch on the underside. | ||||
|  | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| DEFAULT_FOLDER = jones/v03_1 | ||||
| DEFAULT_FOLDER = jones/v1 | ||||
|   | ||||
							
								
								
									
										83
									
								
								keyboards/jones/v1/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								keyboards/jones/v1/config.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | ||||
| /* | ||||
| Copyright 2021 Takeshi Nishio | ||||
|  | ||||
| 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 | ||||
|  | ||||
| #include "config_common.h" | ||||
|  | ||||
| /* USB Device descriptor parameter */ | ||||
| #define VENDOR_ID 0xB9DD | ||||
| #define PRODUCT_ID 0x175A | ||||
| #define DEVICE_VER 0x0100 | ||||
| #define MANUFACTURER jpskenn | ||||
| #define PRODUCT Jones | ||||
|  | ||||
| /* key matrix size */ | ||||
| // Same number for Round-Robin matrix. | ||||
| #define MATRIX_ROWS 10 | ||||
| #define MATRIX_COLS 10 | ||||
|  | ||||
| // Same pins for Round-Robin matrix. | ||||
| #define MATRIX_ROW_PINS { B3, B2, E6, D6, D4, B0, B1, B7, B4, D7 } | ||||
| #define MATRIX_COL_PINS { B3, B2, E6, D6, D4, B0, B1, B7, B4, D7 } | ||||
|  | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
|  | ||||
| /* Rotary Encoder */ | ||||
| #define ENCODERS_PAD_A { F5, D2 } | ||||
| #define ENCODERS_PAD_B { F4, D3 } | ||||
| #define ENCODER_RESOLUTION 4  //the default & suggested is 4 | ||||
|  | ||||
| /* Audio */ | ||||
| #ifdef AUDIO_ENABLE | ||||
|   #define AUDIO_PIN C6 | ||||
|   #define AUDIO_CLICKY | ||||
|   #define MUSIC_MAP | ||||
| #endif | ||||
|  | ||||
| /* RGBLIGHT */ | ||||
| #define RGB_DI_PIN F1 | ||||
| #ifdef RGB_DI_PIN | ||||
|   #define RGBLED_NUM 4 // Left(2) + Right(2) | ||||
|   #define RGBLIGHT_HUE_STEP 8 | ||||
|   #define RGBLIGHT_SAT_STEP 8 | ||||
|   #define RGBLIGHT_VAL_STEP 8 | ||||
|   #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ | ||||
|   /*== Lighting Layers ==*/ | ||||
|   #define RGBLIGHT_LAYERS | ||||
|   #define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF // Overriding RGB Lighting on/off status | ||||
| #endif | ||||
|  | ||||
| /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||
| #define DEBOUNCE 5 | ||||
|  | ||||
| /* disable these deprecated features by default */ | ||||
| #define NO_ACTION_MACRO | ||||
| #define NO_ACTION_FUNCTION | ||||
|  | ||||
| /* Bootmagic Lite trigger key. Left-Top of the layout. */ | ||||
| #define BOOTMAGIC_LITE_ROW 0 | ||||
| #define BOOTMAGIC_LITE_COLUMN 9 | ||||
|  | ||||
| /* External EEPROM */ | ||||
| // Use 24LC64 EEPROM | ||||
| #define EEPROM_I2C_24LC64 | ||||
| // Set MAX_ADDR to specify actual EEPROM size. | ||||
| // If it's not set, EEPROM size will be set ATmega32u4's 1023. | ||||
| #define DYNAMIC_KEYMAP_EEPROM_MAX_ADDR 8191 | ||||
| // How many layers to use with VIA / Remap. | ||||
| #define DYNAMIC_KEYMAP_LAYER_COUNT 6 // default:4 | ||||
							
								
								
									
										17
									
								
								keyboards/jones/v1/info.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								keyboards/jones/v1/info.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| { | ||||
|   "keyboard_name": "Jones", | ||||
|   "url": "https://github.com/jpskenn/Jones", | ||||
|   "maintainer": "jpskenn", | ||||
|   "layouts": { | ||||
|     "LAYOUT": { | ||||
|       "layout": [ | ||||
|         {"x":0.5, "y":0}, {"x":1.5, "y":0}, {"x":2.5, "y":0}, {"x":3.5, "y":0}, {"x":4.5, "y":0}, {"x":5.5, "y":0}, {"x":6.5, "y":0}, {"x":7.5, "y":0}, {"x":8.5, "y":0}, {"x":9.5, "y":0}, {"x":10.5, "y":0}, {"x":11.5, "y":0}, {"x":12.5, "y":0}, {"x":13.5, "y":0}, {"x":14.5, "y":0}, | ||||
|         {"x":0.5, "y":1, "w":1.5}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":4, "y":1}, {"x":5, "y":1}, {"x":6, "y":1}, {"x":7, "y":1}, {"x":8, "y":1}, {"x":9, "y":1}, {"x":10, "y":1}, {"x":11, "y":1}, {"x":12, "y":1}, {"x":13, "y":1}, {"x":14, "y":1, "w":1.5}, | ||||
|         {"x":0.5, "y":2, "w":1.5}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":4, "y":2}, {"x":5, "y":2}, {"x":6, "y":2}, {"x":7, "y":2}, {"x":8, "y":2}, {"x":9, "y":2}, {"x":10, "y":2}, {"x":11, "y":2}, {"x":12, "y":2}, {"x":13, "y":2}, {"x":14, "y":2, "w":1.5}, | ||||
|         {"x":0.5, "y":3}, {"x":1.5, "y":3}, {"x":2.5, "y":3}, {"x":3.5, "y":3}, {"x":4.5, "y":3}, {"x":5.5, "y":3}, {"x":6.5, "y":3}, {"x":7.5, "y":3}, {"x":8.5, "y":3}, {"x":9.5, "y":3}, {"x":10.5, "y":3}, {"x":11.5, "y":3}, {"x":12.5, "y":3}, {"x":13.5, "y":3}, {"x":14.5, "y":3}, | ||||
|         {"x":0.5, "y":4}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":1.25}, {"x":5, "y":4, "w":1.5}, {"x":6.5, "y":4}, {"x":7.5, "y":4}, {"x":8.5, "y":4}, {"x":9.5, "y":4, "w":1.5}, {"x":11, "y":4, "w":1.25}, {"x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, | ||||
|         {"x":0, "y":5}, {"x":1, "y":5}, {"x":14, "y":5}, {"x":15, "y":5} | ||||
|       ] | ||||
|     } | ||||
|   } | ||||
| } | ||||
							
								
								
									
										64
									
								
								keyboards/jones/v1/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								keyboards/jones/v1/keymaps/default/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,64 @@ | ||||
| /* Copyright 2021 Takeshi Nishio | ||||
|  * | ||||
|  * 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 | ||||
|  | ||||
| // Defines names for use in layer keycodes and the keymap | ||||
| enum layer_number { | ||||
|     _BASE = 0, | ||||
|     _LOWER, | ||||
|     _RAISE, | ||||
|     _ADJUST, | ||||
| }; | ||||
|  | ||||
| // Key Macro | ||||
| #define SP_LOW  LT(_LOWER, KC_SPC) | ||||
| #define SP_RAI  LT(_RAISE, KC_SPC) | ||||
| #define SP_ADJ  LT(_ADJUST, KC_SPC) | ||||
|  | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|     [_BASE] = LAYOUT( | ||||
|         KC_ESC,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     KC_GRV,   KC_BSLS,  KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,  KC_EQL, | ||||
|            KC_TAB,     KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,     KC_LBRC,  KC_RBRC,  KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,       KC_BSPC, | ||||
|            KC_LCTL,    KC_A,     KC_S,     KC_D,     KC_F,     KC_G,     KC_SCLN,  KC_QUOT,  KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,    KC_ENT, | ||||
|         KC_LSFT,  KC_LSFT,  KC_Z,     KC_X,     KC_C,     KC_V,     KC_B,     KC_LEFT,  KC_RGHT,  KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_UP,    KC_SLSH, | ||||
|         KC_MUTE,  KC_LANG2, KC_LGUI,     KC_LALT,       SP_LOW,        SP_RAI,   KC_BSPC,     SP_RAI,KC_RALT,      KC_RALT,     KC_LEFT,  KC_DOWN,  KC_RGHT, | ||||
|         KC_VOLD,  KC_VOLU,                                                                                                                KC_VOLD,  KC_VOLU | ||||
|     ), | ||||
|     [_LOWER] = LAYOUT( | ||||
|         _______,  KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12, | ||||
|             KC_ESC,     KC_EXLM,  KC_AT,    KC_HASH,  KC_DLR,   KC_PERC,  _______,  _______,  KC_CIRC,  KC_AMPR,  KC_ASTR,  KC_LPRN,  KC_RPRN,  KC_INS, | ||||
|             _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_GRV,   KC_MINS,  KC_EQL,   KC_LBRC,  KC_RBRC,  KC_BSLS, | ||||
|         _______,  _______,  KC_MUTE,  KC_VOLD,  KC_VOLU,  _______,  _______,  _______,  _______,  KC_TILD,  KC_UNDS,  KC_PLUS,  KC_LCBR,  KC_RCBR,  KC_PIPE, | ||||
|         _______,  _______,  _______,     _______,        _______,      _______,  _______,     SP_ADJ,_______,      _______,     _______,  _______,  _______, | ||||
|         _______,  _______,                                                                                                                _______,  _______ | ||||
|     ), | ||||
|     [_RAISE] = LAYOUT( | ||||
|         KC_GRV,   KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    KC_F6,    _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12, | ||||
|             KC_ESC,     KC_1,     KC_2,     KC_3,     KC_4,     KC_5,     _______,  _______,  KC_6,     KC_7,     KC_8,     KC_9,     KC_0,     KC_DEL, | ||||
|             _______,    KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    _______,  _______,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_RGHT,  KC_SCLN,  KC_QUOT, | ||||
|         _______,  _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   _______,  _______,  KC_HOME,  KC_PGDN,  KC_PGUP,  KC_END,   KC_F11,   KC_F12, | ||||
|         _______,  _______,  _______,     _______,        SP_ADJ,       _______,  _______,      _______,_______,     _______,    _______,  KC_DOWN,  KC_UP, | ||||
|         _______,  _______,                                                                                                                _______,  _______ | ||||
|     ), | ||||
|     [_ADJUST] = LAYOUT( | ||||
|         _______,   RGB_HUI,  RGB_SAI,  RGB_VAI,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_PSCR,  KC_SLCK,  KC_PAUS, | ||||
|             _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,  RGB_HUI,  RGB_SAI,  RGB_VAI,  _______,  RGB_RMOD,  _______, | ||||
|             _______,    AU_TOG,   CK_TOGG,  MU_TOG,   MU_MOD,   _______,  _______,  _______,  RGB_HUD,  RGB_SAD,  RGB_VAD,  RGB_TOG,  RGB_MOD,   _______, | ||||
|         KC_CAPS,  KC_CAPS,  CK_RST,   CK_DOWN,  CK_UP,    MUV_DE,   MUV_IN,   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, | ||||
|         _______,  _______,  _______,     _______,        _______,      _______,  _______,      _______,_______,     _______,    _______,  _______,  _______, | ||||
|         _______,  _______,                                                                                                                _______,  _______ | ||||
|     ) | ||||
| }; | ||||
							
								
								
									
										10
									
								
								keyboards/jones/v1/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								keyboards/jones/v1/keymaps/default/readme.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| # Defalut keymap for Jones | ||||
|  | ||||
| Simple keymap. | ||||
|  | ||||
| ## Layers | ||||
|  | ||||
| - Base | ||||
| - Lower | ||||
| - Raise | ||||
| - Adjust | ||||
							
								
								
									
										34
									
								
								keyboards/jones/v1/keymaps/via/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								keyboards/jones/v1/keymaps/via/config.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| /* | ||||
| Copyright 2021 Takeshi Nishio | ||||
|  | ||||
| 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 | ||||
|  | ||||
| //------------------------------------------------------------------------------ | ||||
| // Rotary Encoder | ||||
| //------------------------------------------------------------------------------ | ||||
| // Encoder triggers specific key matrix position, | ||||
| // when turn knob clockwise or counterclockwise. | ||||
| // This is handy to assign key codes by VIA. | ||||
|  | ||||
| // Number of endoder | ||||
| #define ENCODERS 2 | ||||
|  | ||||
| // Mappings of encoder rotation to key position in key matrix. | ||||
| // First encoder,  Left side  : k85, k86 | ||||
| // Second encoder, Right side : k95, k96 | ||||
| #define ENCODERS_CW_KEY  { { 6, 8 }, { 6, 9 } } | ||||
| #define ENCODERS_CCW_KEY { { 5, 8 }, { 5, 9 } } | ||||
							
								
								
									
										225
									
								
								keyboards/jones/v1/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										225
									
								
								keyboards/jones/v1/keymaps/via/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,225 @@ | ||||
| /* Copyright 2021 Takeshi Nishio | ||||
|  * | ||||
|  * 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 | ||||
| #include "keymap_jp.h" | ||||
|  | ||||
| // Defines names for use in layer keycodes and the keymap | ||||
| enum layer_number { | ||||
|     _BASE1 = 0, | ||||
|     _BASE2, | ||||
|     _BASE3, | ||||
|     _LOWER, | ||||
|     _RAISE, | ||||
|     _ADJUST, | ||||
| }; | ||||
|  | ||||
| // Key Macro | ||||
| #define SP_LOW  LT(_LOWER, KC_SPC) | ||||
| #define SP_RAI  LT(_RAISE, KC_SPC) | ||||
| #define SP_ADJ  LT(_ADJUST, KC_SPC) | ||||
|  | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|     [_BASE1] = LAYOUT( | ||||
|         KC_ESC,   JP_1,     JP_2,     JP_3,     JP_4,     JP_5,     JP_CIRC,  JP_YEN,   JP_6,     JP_7,     JP_8,     JP_9,     JP_0,     JP_MINS,  KC_BSPC, | ||||
|            KC_TAB,     JP_Q,     JP_W,     JP_E,     JP_R,     JP_T,     JP_AT,    JP_LBRC,  JP_Y,     JP_U,     JP_I,     JP_O,     JP_P,       KC_BSPC, | ||||
|            KC_LCTL,    JP_A,     JP_S,     JP_D,     JP_F,     JP_G,     JP_COLN,  JP_RBRC,  JP_H,     JP_J,     JP_K,     JP_L,     JP_SCLN,    KC_ENT, | ||||
|         KC_LSFT,  KC_LSFT,  JP_Z,     JP_X,     JP_C,     JP_V,     JP_B,     JP_SLSH,  JP_BSLS,  JP_N,     JP_M,     JP_COMM,  JP_DOT,   KC_DOWN,  KC_UP, | ||||
|         KC_MUTE,  KC_LGUI,  KC_LALT,     JP_MHEN,       SP_LOW,        SP_RAI,   KC_BSPC,     SP_RAI,SP_RAI,       JP_HENK,     JP_KANA,  KC_LEFT,  KC_RGHT, | ||||
|         KC_VOLD,  KC_VOLU,                                                                                                                KC_VOLD,  KC_VOLU | ||||
|     ), | ||||
|     [_BASE2] = LAYOUT( | ||||
|         _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_PSLS,  KC_PAST,  KC_PMNS,  _______,  _______, | ||||
|            _______,     _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_P7,    KC_P8,    KC_P9,    KC_PPLS,   _______, | ||||
|            _______,     _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_P4,    KC_P5,    KC_P6,    KC_PPLS,   _______, | ||||
|         _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_P1,    KC_P2,    KC_P3,    _______,  _______, | ||||
|         _______,  _______,  _______,     _______,        _______,      _______,  _______,      _______,_______,    KC_P0,       KC_PDOT,  _______,  _______, | ||||
|         _______,  _______,                                                                                                                _______,  _______ | ||||
|     ), | ||||
|     [_BASE3] = LAYOUT( | ||||
|         _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, | ||||
|            _______,     _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______, | ||||
|            _______,     _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,   _______, | ||||
|         _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, | ||||
|         _______,  _______,  _______,     _______,        _______,      _______,  _______,      _______,_______,     _______,    _______,  _______,  _______, | ||||
|         _______,  _______,                                                                                                                _______,  _______ | ||||
|     ), | ||||
|     [_LOWER] = 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, | ||||
|             _______,    JP_EXLM,  JP_DQUO,  JP_HASH,  JP_DLR,   JP_PERC,  JP_TILD,  JP_PIPE,  JP_AMPR,  JP_QUOT,  JP_LPRN,  JP_RPRN,  JP_EQL,   KC_INS, | ||||
|             _______,    _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, | ||||
|         _______,  _______,  KC_MUTE,  KC_VOLD,  KC_VOLU,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, | ||||
|         _______,  _______,  _______,     _______,        _______,      SP_ADJ,   _______,     SP_ADJ,SP_ADJ,       _______,     _______,  _______,  _______, | ||||
|         _______,  _______,                                                                                                                _______,  _______ | ||||
|     ), | ||||
|     [_RAISE] = LAYOUT( | ||||
|         KC_GRV,   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_ESC,     JP_1,     JP_2,     JP_3,     JP_4,     JP_5,     JP_CIRC,  JP_YEN,   JP_6,     JP_7,     JP_8,     JP_9,     JP_0,     KC_DEL, | ||||
|             _______,    KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5,    _______,  _______,  KC_LEFT,  KC_DOWN,  KC_UP,    KC_RGHT,  _______,  _______, | ||||
|         _______,  _______,  KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,   KC_HOME,  KC_PGDN,  KC_PGUP,  KC_END,   _______,  _______, | ||||
|         _______,  _______,  _______,     _______,        SP_ADJ,       _______,  _______,      _______,_______,     _______,    _______,  KC_DOWN,  KC_UP, | ||||
|         _______,  _______,                                                                                                                _______,  _______ | ||||
|     ), | ||||
|     [_ADJUST] = LAYOUT( | ||||
|         _______,   _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  KC_PSCR,  KC_SLCK,  KC_PAUS, | ||||
|             _______,    DF(_BASE1),DF(_BASE2),DF(_BASE3),_______,  _______,  _______,  _______,  RGB_HUI,  RGB_SAI,  RGB_VAI,  _______,  RGB_RMOD,  _______, | ||||
|             _______,    AU_TOG,   CK_TOGG,  MU_TOG,   MU_MOD,   _______,  _______,  _______,  RGB_HUD,  RGB_SAD,  RGB_VAD,  RGB_TOG,  RGB_MOD,   _______, | ||||
|         KC_CAPS,  KC_CAPS,  CK_RST,   CK_DOWN,  CK_UP,    _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______,  _______, | ||||
|         _______,  _______,  _______,     _______,        _______,      _______,  _______,      _______,_______,     _______,    _______,  _______,  _______, | ||||
|         _______,  _______,                                                                                                                _______,  _______ | ||||
|     ), | ||||
| }; | ||||
|  | ||||
|  | ||||
| //------------------------------------------------------------------------------ | ||||
| // RGB Light settings | ||||
| //------------------------------------------------------------------------------ | ||||
| #ifdef RGBLIGHT_LAYERS | ||||
|  | ||||
| // Indicator LED settings | ||||
| #define JONES_LED_INDICATOR_INDEX 0         // where to start indicator | ||||
| #define JONES_LED_INDICATOR_COUNT 4         // how many leds used for indicator | ||||
| #define JONES_LED_INDICATOR_CHANGE_COUNT 1  // how meny leds to change for temporally layer | ||||
| #define JONES_LED_DIMMER_LEVEL 200          // brightness dimmer | ||||
|  | ||||
| // for Default layer (= Base layer) | ||||
| const rgblight_segment_t PROGMEM my_base1_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_COUNT, HSV_WHITE - JONES_LED_DIMMER_LEVEL} | ||||
| ); | ||||
|  | ||||
| const rgblight_segment_t PROGMEM my_base2_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_COUNT, HSV_BLUE - JONES_LED_DIMMER_LEVEL} | ||||
| ); | ||||
|  | ||||
| const rgblight_segment_t PROGMEM my_base3_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_COUNT, HSV_YELLOW - JONES_LED_DIMMER_LEVEL} | ||||
| ); | ||||
|  | ||||
| // for temporal layer | ||||
| const rgblight_segment_t PROGMEM my_caps_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {JONES_LED_INDICATOR_INDEX + 1 , 1, HSV_MAGENTA - JONES_LED_DIMMER_LEVEL}, | ||||
|     {JONES_LED_INDICATOR_INDEX + 1 + 2 , 1, HSV_MAGENTA - JONES_LED_DIMMER_LEVEL} | ||||
| ); | ||||
|  | ||||
| const rgblight_segment_t PROGMEM my_lower_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_CHANGE_COUNT, HSV_GREEN - JONES_LED_DIMMER_LEVEL}, | ||||
|     {JONES_LED_INDICATOR_INDEX + 2, JONES_LED_INDICATOR_CHANGE_COUNT, HSV_GREEN - JONES_LED_DIMMER_LEVEL} | ||||
| ); | ||||
|  | ||||
| const rgblight_segment_t PROGMEM my_raise_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_CHANGE_COUNT, HSV_CYAN - JONES_LED_DIMMER_LEVEL}, | ||||
|     {JONES_LED_INDICATOR_INDEX + 2, JONES_LED_INDICATOR_CHANGE_COUNT, HSV_CYAN - JONES_LED_DIMMER_LEVEL} | ||||
| ); | ||||
|  | ||||
| const rgblight_segment_t PROGMEM my_adjust_layer[] = RGBLIGHT_LAYER_SEGMENTS( | ||||
|     {JONES_LED_INDICATOR_INDEX , JONES_LED_INDICATOR_CHANGE_COUNT, HSV_RED - JONES_LED_DIMMER_LEVEL}, | ||||
|     {JONES_LED_INDICATOR_INDEX + 2, JONES_LED_INDICATOR_CHANGE_COUNT, HSV_RED - JONES_LED_DIMMER_LEVEL} | ||||
| ); | ||||
|  | ||||
| // Define the array of layers. Later layers take precedence | ||||
| const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( | ||||
|     my_base1_layer, | ||||
|     my_base2_layer, | ||||
|     my_base3_layer, | ||||
|     my_caps_layer, | ||||
|     my_lower_layer, | ||||
|     my_raise_layer, | ||||
|     my_adjust_layer | ||||
| ); | ||||
|  | ||||
| // Enabling and disabling lighting layers | ||||
| layer_state_t layer_state_set_user(layer_state_t state) { | ||||
|     rgblight_set_layer_state(4, layer_state_cmp(state, _LOWER)); | ||||
|     rgblight_set_layer_state(5, layer_state_cmp(state, _RAISE)); | ||||
|     rgblight_set_layer_state(6, layer_state_cmp(state, _ADJUST)); | ||||
|  | ||||
|     return state; | ||||
| } | ||||
|  | ||||
| // Enabling and disabling lighting layers for default layer | ||||
| layer_state_t default_layer_state_set_user(layer_state_t state) { | ||||
|     rgblight_set_layer_state(0, layer_state_cmp(state, _BASE1)); | ||||
|     rgblight_set_layer_state(1, layer_state_cmp(state, _BASE2)); | ||||
|     rgblight_set_layer_state(2, layer_state_cmp(state, _BASE3)); | ||||
|  | ||||
|     return state; | ||||
| } | ||||
|  | ||||
| bool led_update_user(led_t led_state) { | ||||
|     rgblight_set_layer_state(3, IS_HOST_LED_ON(USB_LED_CAPS_LOCK)); | ||||
|  | ||||
|     return true; | ||||
| } | ||||
| #endif | ||||
|  | ||||
|  | ||||
| //------------------------------------------------------------------------------ | ||||
| // Rotary Encoder | ||||
| //------------------------------------------------------------------------------ | ||||
| static uint8_t  encoder_state[ENCODERS] = {0}; | ||||
| static keypos_t encoder_cw[ENCODERS]    = ENCODERS_CW_KEY; | ||||
| static keypos_t encoder_ccw[ENCODERS]   = ENCODERS_CCW_KEY; | ||||
|  | ||||
| void encoder_action_unregister(void) { | ||||
|     for (int index = 0; index < ENCODERS; ++index) { | ||||
|         if (encoder_state[index]) { | ||||
|             keyevent_t encoder_event = (keyevent_t) { | ||||
|                 .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], | ||||
|                 .pressed = false, | ||||
|                 .time = (timer_read() | 1) | ||||
|             }; | ||||
|             encoder_state[index] = 0; | ||||
|             action_exec(encoder_event); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| void encoder_action_register(uint8_t index, bool clockwise) { | ||||
|     keyevent_t encoder_event = (keyevent_t) { | ||||
|         .key = clockwise ? encoder_cw[index] : encoder_ccw[index], | ||||
|         .pressed = true, | ||||
|         .time = (timer_read() | 1) | ||||
|     }; | ||||
|     encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); | ||||
|     action_exec(encoder_event); | ||||
| } | ||||
|  | ||||
| void matrix_scan_kb(void) { | ||||
|     encoder_action_unregister(); | ||||
|     matrix_scan_user(); | ||||
| } | ||||
|  | ||||
| bool encoder_update_user(uint8_t index, bool clockwise) { | ||||
|     encoder_action_register(index, clockwise); | ||||
|     return true; | ||||
| }; | ||||
|  | ||||
|  | ||||
| //------------------------------------------------------------------------------ | ||||
| // Keyboard Initialization | ||||
| //------------------------------------------------------------------------------ | ||||
| void keyboard_post_init_user(void) { | ||||
| debug_enable=true; | ||||
| #ifdef RGB_DI_PIN | ||||
|   #ifdef RGBLIGHT_LAYERS | ||||
|     // Enable the LED layers. | ||||
|     rgblight_layers = my_rgb_layers; | ||||
|  | ||||
|     // prevent RGB light overrides layer indicator. | ||||
|     layer_state_set(default_layer_state); | ||||
|   #endif | ||||
| #endif | ||||
|  | ||||
| } | ||||
							
								
								
									
										35
									
								
								keyboards/jones/v1/keymaps/via/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								keyboards/jones/v1/keymaps/via/readme.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,35 @@ | ||||
| # Keymap for Jones with VIA support | ||||
|  | ||||
| VIA supported basic keymap with external EEPROM. | ||||
|  | ||||
| ## Layout | ||||
|  | ||||
| Japanese style "Wide" layout. | ||||
|  | ||||
| ## Layers | ||||
|  | ||||
| - Base #1 | ||||
| - Base #2 | ||||
| - Base #3 | ||||
| - Lower | ||||
| - Raise | ||||
| - Adjust | ||||
|  | ||||
| ## External EEPROM | ||||
|  | ||||
| I2C connected external EEPROM. | ||||
|  | ||||
| ## LED lighting | ||||
|  | ||||
| 4 LEDsfor layer indicator.   | ||||
| 2 for Left side and 2 for Right side. | ||||
|  | ||||
| ## Rotary encoder | ||||
|  | ||||
| Supports up to 2 rotary encoders.   | ||||
| Left bottom and Right bottom. | ||||
|  | ||||
| ## Audio | ||||
|  | ||||
| Supports monophonic audio.   | ||||
| "Music Mode" and "Audio Click" are enabled. | ||||
							
								
								
									
										2
									
								
								keyboards/jones/v1/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								keyboards/jones/v1/keymaps/via/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| # Use VIA | ||||
| VIA_ENABLE = yes | ||||
							
								
								
									
										23
									
								
								keyboards/jones/v1/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								keyboards/jones/v1/readme.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| # Jones | ||||
|  | ||||
|  | ||||
|  | ||||
| A symmetrical 60% keyboard combined with Ortho-Linear and Row-staggered. It has gapless Row 2 - Row 3.   | ||||
| GH60 case compatible PCB and keyplate.   | ||||
| [More info](https://github.com/jpskenn/Jones) | ||||
|  | ||||
| * Keyboard Maintainer: [jpskenn](https://github.com/jpskenn) | ||||
| * Hardware Supported: PCB, Key plate, Bottom plate | ||||
| * Hardware Availability: [GitHub](https://github.com/jpskenn/Jones), [BOOTH](https://jpskenn.booth.pm), [Yushakobo](https://yushakobo.jp) | ||||
|  | ||||
| Make example for this keyboard (after setting up your build environment): | ||||
|  | ||||
|     make jones/v1:default | ||||
|  | ||||
| Flashing example for this keyboard ([using the command line](https://docs.qmk.fm/#/newbs_flashing?id=flash-your-keyboard-from-the-command-line)): | ||||
|  | ||||
|     make jones/v1:default:flash | ||||
|  | ||||
| To reset the keyboard into bootloader mode, press the reset switch on the underside. | ||||
|  | ||||
| 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). | ||||
							
								
								
									
										24
									
								
								keyboards/jones/v1/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								keyboards/jones/v1/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| # MCU name | ||||
| MCU = atmega32u4 | ||||
|  | ||||
| # Bootloader selection | ||||
| BOOTLOADER = atmel-dfu | ||||
|  | ||||
| # Build Options | ||||
| #   change yes to no to disable | ||||
| # | ||||
| BOOTMAGIC_ENABLE = no       # Enable Bootmagic Lite | ||||
| MOUSEKEY_ENABLE = yes        # Mouse keys | ||||
| EXTRAKEY_ENABLE = yes       # Audio control and System control | ||||
| CONSOLE_ENABLE = no         # Console for debug | ||||
| COMMAND_ENABLE = no         # Commands for debug and configuration | ||||
| NKRO_ENABLE = no            # Enable N-Key Rollover | ||||
| BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | ||||
| RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow | ||||
| AUDIO_ENABLE = yes          # Audio output | ||||
| ENCODER_ENABLE = yes        # Rotary Encoder | ||||
|  | ||||
| # Use I2C connected External EEPROM | ||||
| EEPROM_DRIVER = i2c | ||||
|  | ||||
| LTO_ENABLE = yes | ||||
							
								
								
									
										28
									
								
								keyboards/jones/v1/v1.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								keyboards/jones/v1/v1.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| /* Copyright 2021 Takeshi Nishio | ||||
|  * | ||||
|  * 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 "v1.h" | ||||
|  | ||||
| #if defined(AUDIO_ENABLE) && defined(MUSIC_MAP) | ||||
| const uint8_t music_map[MATRIX_ROWS][MATRIX_COLS] = LAYOUT( | ||||
|     0,  24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, | ||||
|       0,  12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,  24, | ||||
|       0,  12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,  24, | ||||
|     0,  0,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, 12, | ||||
|     0,  0,  0,  0,     0,     0,  0,     0,  0,  0,  0,  0,  0, | ||||
|   0,  0,                                                   0,  0 | ||||
| ); | ||||
| #endif | ||||
							
								
								
									
										57
									
								
								keyboards/jones/v1/v1.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								keyboards/jones/v1/v1.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | ||||
| /* Copyright 2021 Takeshi Nishio | ||||
|  * | ||||
|  * 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 | ||||
|  | ||||
| #include "quantum.h" | ||||
|  | ||||
| /* | ||||
| FULL 10x10 ROUND-ROBIN MATRIX for Reference | ||||
|  | ||||
| { KC_NO, k01,   k02,   k03,   k04,   k05,   k06,   k07,   k08,   k09   }, \ | ||||
| { k10,   KC_NO, k12,   k13,   k14,   k15,   k16,   k17,   k18,   k19   }, \ | ||||
| { k20,   k21,   KC_NO, k23,   k24,   k25,   k26,   k27,   k28,   k29   }, \ | ||||
| { k30,   k31,   k32,   KC_NO, k34,   k35,   k36,   k37,   k38,   k39   }, \ | ||||
| { k40,   k41,   k42,   k43,   KC_NO, k45,   k46,   k47,   k48,   k49   }, \ | ||||
| { k50,   k51,   k52,   k53,   k54,   KC_NO, k56,   k57,   k58,   k59   }, \ | ||||
| { k60,   k61,   k62,   k63,   k64,   k65,   KC_NO, k67,   k68,   k69   }, \ | ||||
| { k70,   k71,   k72,   k73,   k74,   k75,   k76,   KC_NO, k78,   k79   }, \ | ||||
| { k80,   k81,   k82,   k83,   k84,   k85,   k86,   k87,   KC_NO, k89   }, \ | ||||
| { k90,   k91,   k92,   k93,   k94,   k95,   k96,   k97,   k98,   KC_NO }  \ | ||||
|  | ||||
| */ | ||||
|  | ||||
| /* Keys on 6th row are used with rotary encoder. */ | ||||
| #define LAYOUT( \ | ||||
|       k09, k59, k08, k54, k04, k50, k56, k06, k05, k52, k02, k53, k07, k51, k01,  \ | ||||
|         k19,  k69, k18, k64, k14, k60, k10, k16, k15, k62, k12, k63, k17,  k61,   \ | ||||
|         k29,  k79, k28, k74, k24, k70, k20, k26, k25, k72, k23, k73, k27,  k71,   \ | ||||
|       k39, k89, k38, k84, k34, k80, k30, k36, k35, k82, k32, k83, k37, k81, k31,  \ | ||||
|       k49, k98,  k48,  k94,   k90,    k46, k45,    k92, k42, k93, k47, k91, k41,  \ | ||||
|     k85, k86,                                                            k95, k96 \ | ||||
| ) \ | ||||
| { \ | ||||
|     { KC_NO, k01,   k02,   KC_NO, k04,   k05,   k06,   k07,   k08,   k09,  }, \ | ||||
|     { k10,   KC_NO, k12,   KC_NO, k14,   k15,   k16,   k17,   k18,   k19,  }, \ | ||||
|     { k20,   KC_NO, KC_NO, k23,   k24,   k25,   k26,   k27,   k28,   k29,  }, \ | ||||
|     { k30,   k31,   k32,   KC_NO, k34,   k35,   k36,   k37,   k38,   k39,  }, \ | ||||
|     { KC_NO, k41,   k42,   KC_NO, KC_NO, k45,   k46,   k47,   k48,   k49,  }, \ | ||||
|     { k50,   k51,   k52,   k53,   k54,   KC_NO, k56,   KC_NO, KC_NO, k59,  }, \ | ||||
|     { k60,   k61,   k62,   k63,   k64,   KC_NO, KC_NO, KC_NO, KC_NO, k69,  }, \ | ||||
|     { k70,   k71,   k72,   k73,   k74,   KC_NO, KC_NO, KC_NO, KC_NO, k79,  }, \ | ||||
|     { k80,   k81,   k82,   k83,   k84,   k85,   k86,   KC_NO, KC_NO, k89,  }, \ | ||||
|     { k90,   k91,   k92,   k93,   k94,   k95,   k96,   KC_NO, k98,   KC_NO }  \ | ||||
| } | ||||
		Reference in New Issue
	
	Block a user