mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 05:12:33 +01:00 
			
		
		
		
	Merge remote-tracking branch 'origin/master' into develop
This commit is contained in:
		
						commit
						8a2a39ed06
					
				| @ -20,12 +20,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #include "config_common.h" | #include "config_common.h" | ||||||
| 
 | 
 | ||||||
| /* USB Device descriptor parameter */ | /* USB Device descriptor parameter */ | ||||||
| #define VENDOR_ID 0xFEED | #define VENDOR_ID    0xFEED | ||||||
| #define PRODUCT_ID 0x991D | #define PRODUCT_ID   0x991D | ||||||
| #define DEVICE_VER 0x0001 | #define DEVICE_VER   0x0001 | ||||||
| #define MANUFACTURER kamonanban | #define MANUFACTURER kamonanban | ||||||
| #define PRODUCT manta60 | #define PRODUCT      manta60 | ||||||
| #define DESCRIPTION A split keyboard with 27 ortholinear keys and 5-7 thumb/little finger keys |  | ||||||
| 
 | 
 | ||||||
| /* key matrix size */ | /* key matrix size */ | ||||||
| #define MATRIX_ROWS 10 | #define MATRIX_ROWS 10 | ||||||
| @ -45,7 +44,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 } | #define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2 } | ||||||
| #define UNUSED_PINS | #define UNUSED_PINS | ||||||
| 
 | 
 | ||||||
| /* COL2ROW, ROW2COL*/ | /* COL2ROW, ROW2COL */ | ||||||
| #define DIODE_DIRECTION COL2ROW | #define DIODE_DIRECTION COL2ROW | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
| @ -54,50 +53,45 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| #define SOFT_SERIAL_PIN D2 | #define SOFT_SERIAL_PIN D2 | ||||||
| #define SELECT_SOFT_SERIAL_SPEED 1 | #define SELECT_SOFT_SERIAL_SPEED 1 | ||||||
| 
 | 
 | ||||||
| #define RGBLIGHT_SPLIT |  | ||||||
| #define RGB_DI_PIN D3 | #define RGB_DI_PIN D3 | ||||||
| 
 |  | ||||||
| #ifdef RGBLIGHT_ENABLE |  | ||||||
|   #define RGBLED_NUM 68    // Number of LEDs
 |  | ||||||
|   #define RGBLED_SPLIT { 34, 34 } |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #ifdef RGB_DI_PIN | #ifdef RGB_DI_PIN | ||||||
|   #define RGBLIGHT_ANIMATIONS | #    define RGBLED_NUM 68 | ||||||
| // /*== or choose animations ==*/
 | #    define RGBLIGHT_SPLIT | ||||||
| //   #define RGBLIGHT_EFFECT_BREATHING
 | #    define RGBLED_SPLIT { 34, 34 } | ||||||
| //   #define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | #    define RGBLIGHT_HUE_STEP 8 | ||||||
| //   #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | #    define RGBLIGHT_SAT_STEP 8 | ||||||
| //   #define RGBLIGHT_EFFECT_SNAKE
 | #    ifndef IOS_DEVICE_ENABLE | ||||||
| //   #define RGBLIGHT_EFFECT_KNIGHT
 | #        define RGBLIGHT_VAL_STEP 16 | ||||||
| //   #define RGBLIGHT_EFFECT_CHRISTMAS
 | #        define RGBLIGHT_LIMIT_VAL 128 /* The maximum brightness level */ | ||||||
| //   #define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | #    else | ||||||
| //   #define RGBLIGHT_EFFECT_RGB_TEST
 | #        define RGBLIGHT_VAL_STEP 4 | ||||||
| //   #define RGBLIGHT_EFFECT_ALTERNATING
 | #        define RGBLIGHT_LIMIT_VAL 32 /* The maximum brightness level */ | ||||||
| // /*== customize breathing effect ==*/
 | #    endif | ||||||
| //   /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
 | //#    define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
 | ||||||
| //   #define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
 | /*== all animations enable ==*/ | ||||||
| //   /*==== use exp() and sin() ====*/
 | #    define RGBLIGHT_ANIMATIONS | ||||||
| //   #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
 | /*== or choose animations ==*/ | ||||||
| //   #define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
 | //#    define RGBLIGHT_EFFECT_BREATHING
 | ||||||
|  | //#    define RGBLIGHT_EFFECT_RAINBOW_MOOD
 | ||||||
|  | //#    define RGBLIGHT_EFFECT_RAINBOW_SWIRL
 | ||||||
|  | //#    define RGBLIGHT_EFFECT_SNAKE
 | ||||||
|  | //#    define RGBLIGHT_EFFECT_KNIGHT
 | ||||||
|  | //#    define RGBLIGHT_EFFECT_CHRISTMAS
 | ||||||
|  | //#    define RGBLIGHT_EFFECT_STATIC_GRADIENT
 | ||||||
|  | //#    define RGBLIGHT_EFFECT_RGB_TEST
 | ||||||
|  | //#    define RGBLIGHT_EFFECT_ALTERNATING
 | ||||||
|  | /*== customize breathing effect ==*/ | ||||||
|  | /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/ | ||||||
|  | //#    define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
 | ||||||
|  | /*==== use exp() and sin() ====*/ | ||||||
|  | //#    define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
 | ||||||
|  | //#    define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| #ifndef IOS_DEVICE_ENABLE |  | ||||||
|  /* The maximum brightness level */ |  | ||||||
|   #define RGBLIGHT_LIMIT_VAL 128 |  | ||||||
|   #define RGBLIGHT_VAL_STEP 16 |  | ||||||
| #else |  | ||||||
|   #define RGBLIGHT_LIMIT_VAL 32 |  | ||||||
|   #define RGBLIGHT_VAL_STEP 4 |  | ||||||
| #endif |  | ||||||
| 
 |  | ||||||
| #define RGBLIGHT_HUE_STEP 8 |  | ||||||
| #define RGBLIGHT_SAT_STEP 8 |  | ||||||
| 
 |  | ||||||
| #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) | #if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE) | ||||||
|   #define USB_MAX_POWER_CONSUMPTION 400 | #    define USB_MAX_POWER_CONSUMPTION 400 | ||||||
| #else | #else | ||||||
|   #define USB_MAX_POWER_CONSUMPTION 100 | #    define USB_MAX_POWER_CONSUMPTION 100 | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ | ||||||
| @ -111,6 +105,32 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| /* Locking resynchronize hack */ | /* Locking resynchronize hack */ | ||||||
| #define LOCKING_RESYNC_ENABLE | #define LOCKING_RESYNC_ENABLE | ||||||
| 
 | 
 | ||||||
|  | /* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
 | ||||||
|  |  * This is useful for the Windows task manager shortcut (ctrl+shift+esc). | ||||||
|  |  */ | ||||||
|  | //#define GRAVE_ESC_CTRL_OVERRIDE
 | ||||||
|  | 
 | ||||||
|  | /*
 | ||||||
|  |  * Force NKRO | ||||||
|  |  * | ||||||
|  |  * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved | ||||||
|  |  * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the | ||||||
|  |  * makefile for this to work.) | ||||||
|  |  * | ||||||
|  |  * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) | ||||||
|  |  * until the next keyboard reset. | ||||||
|  |  * | ||||||
|  |  * NKRO may prevent your keystrokes from being detected in the BIOS, but it is | ||||||
|  |  * fully operational during normal computer usage. | ||||||
|  |  * | ||||||
|  |  * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) | ||||||
|  |  * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by | ||||||
|  |  * bootmagic, NKRO mode will always be enabled until it is toggled again during a | ||||||
|  |  * power-up. | ||||||
|  |  * | ||||||
|  |  */ | ||||||
|  | //#define FORCE_NKRO
 | ||||||
|  | 
 | ||||||
| /*
 | /*
 | ||||||
|  * Feature disable options |  * Feature disable options | ||||||
|  *  These options are also useful to firmware size reduction. |  *  These options are also useful to firmware size reduction. | ||||||
| @ -126,5 +146,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>. | |||||||
| //#define NO_ACTION_LAYER
 | //#define NO_ACTION_LAYER
 | ||||||
| //#define NO_ACTION_TAPPING
 | //#define NO_ACTION_TAPPING
 | ||||||
| //#define NO_ACTION_ONESHOT
 | //#define NO_ACTION_ONESHOT
 | ||||||
| //#define NO_ACTION_MACRO
 | 
 | ||||||
| //#define NO_ACTION_FUNCTION
 | /* disable these deprecated features by default */ | ||||||
|  | #define NO_ACTION_MACRO | ||||||
|  | #define NO_ACTION_FUNCTION | ||||||
|  | 
 | ||||||
|  | /* Bootmagic Lite key configuration */ | ||||||
|  | //#define BOOTMAGIC_LITE_ROW 0
 | ||||||
|  | //#define BOOTMAGIC_LITE_COLUMN 0
 | ||||||
|  | |||||||
| @ -7,74 +7,85 @@ | |||||||
|     "layouts": { |     "layouts": { | ||||||
|         "LAYOUT": { |         "LAYOUT": { | ||||||
|             "layout": [ |             "layout": [ | ||||||
|               {"label":"Esc", "x":0, "y":0}, |                 {"x": 0, "y": 0}, | ||||||
|               {"label":"!", "x":1, "y":0}, |                 {"x": 1, "y": 0}, | ||||||
|               {"label":"@", "x":2, "y":0}, |                 {"x": 2, "y": 0}, | ||||||
|               {"label":"#", "x":3, "y":0}, |                 {"x": 3, "y": 0}, | ||||||
|               {"label":"$", "x":4, "y":0}, |                 {"x": 4, "y": 0}, | ||||||
|               {"label":"%", "x":5, "y":0}, |                 {"x": 5, "y": 0}, | ||||||
|               {"label":"=", "x":6, "y":0}, |                 {"x": 6, "y": 0}, | ||||||
|               {"label":"-", "x":10, "y":0}, | 
 | ||||||
|               {"label":"^", "x":11, "y":0}, |                 {"x": 10, "y": 0}, | ||||||
|               {"label":"&", "x":12, "y":0}, |                 {"x": 11, "y": 0}, | ||||||
|               {"label":"*", "x":13, "y":0}, |                 {"x": 12, "y": 0}, | ||||||
|               {"label":"(", "x":14, "y":0}, |                 {"x": 13, "y": 0}, | ||||||
|               {"label":")", "x":15, "y":0}, |                 {"x": 14, "y": 0}, | ||||||
|               {"label":"\\", "x":16, "y":0}, |                 {"x": 15, "y": 0}, | ||||||
|               {"label":"-", "x":0, "y":1}, |                 {"x": 16, "y": 0}, | ||||||
|               {"label":"Q", "x":1, "y":1}, | 
 | ||||||
|               {"label":"W", "x":2, "y":1}, |                 {"x": 0, "y": 1}, | ||||||
|               {"label":"E", "x":3, "y":1}, |                 {"x": 1, "y": 1}, | ||||||
|               {"label":"R", "x":4, "y":1}, |                 {"x": 2, "y": 1}, | ||||||
|               {"label":"T", "x":5, "y":1}, |                 {"x": 3, "y": 1}, | ||||||
|               {"label":"[", "x":6, "y":1}, |                 {"x": 4, "y": 1}, | ||||||
|               {"label":"]", "x":10, "y":1}, |                 {"x": 5, "y": 1}, | ||||||
|               {"label":"Y", "x":11, "y":1}, |                 {"x": 6, "y": 1}, | ||||||
|               {"label":"U", "x":12, "y":1}, | 
 | ||||||
|               {"label":"I", "x":13, "y":1}, |                 {"x": 10, "y": 1}, | ||||||
|               {"label":"O", "x":14, "y":1}, |                 {"x": 11, "y": 1}, | ||||||
|               {"label":"P", "x":15, "y":1}, |                 {"x": 12, "y": 1}, | ||||||
|               {"label":"@", "x":16, "y":1}, |                 {"x": 13, "y": 1}, | ||||||
|               {"label":"Tab", "x":0, "y":2}, |                 {"x": 14, "y": 1}, | ||||||
|               {"label":"A", "x":1, "y":2}, |                 {"x": 15, "y": 1}, | ||||||
|               {"label":"S", "x":2, "y":2}, |                 {"x": 16, "y": 1}, | ||||||
|               {"label":"D", "x":3, "y":2}, | 
 | ||||||
|               {"label":"F", "x":4, "y":2}, |                 {"x": 0, "y": 2}, | ||||||
|               {"label":"G", "x":5, "y":2}, |                 {"x": 1, "y": 2}, | ||||||
|               {"label":",", "x":6, "y":2}, |                 {"x": 2, "y": 2}, | ||||||
|               {"label":".", "x":10, "y":2}, |                 {"x": 3, "y": 2}, | ||||||
|               {"label":"H", "x":11, "y":2}, |                 {"x": 4, "y": 2}, | ||||||
|               {"label":"J", "x":12, "y":2}, |                 {"x": 5, "y": 2}, | ||||||
|               {"label":"K", "x":13, "y":2}, |                 {"x": 6, "y": 2}, | ||||||
|               {"label":"L", "x":14, "y":2}, | 
 | ||||||
|               {"label":"UP", "x":15, "y":2}, |                 {"x": 10, "y": 2}, | ||||||
|               {"label":";", "x":16, "y":2}, |                 {"x": 11, "y": 2}, | ||||||
|               {"label":"Shft", "x":0, "y":3}, |                 {"x": 12, "y": 2}, | ||||||
|               {"label":"Z", "x":1, "y":3}, |                 {"x": 13, "y": 2}, | ||||||
|               {"label":"X", "x":2, "y":3}, |                 {"x": 14, "y": 2}, | ||||||
|               {"label":"C", "x":3, "y":3}, |                 {"x": 15, "y": 2}, | ||||||
|               {"label":"V", "x":4, "y":3}, |                 {"x": 16, "y": 2}, | ||||||
|               {"label":"Alt", "x":5, "y":3}, | 
 | ||||||
|               {"label":"B", "x":11, "y":3}, |                 {"x": 0, "y": 3}, | ||||||
|               {"label":"N", "x":12, "y":3}, |                 {"x": 1, "y": 3}, | ||||||
|               {"label":"M", "x":13, "y":3}, |                 {"x": 2, "y": 3}, | ||||||
|               {"label":"LEFT", "x":14, "y":3}, |                 {"x": 3, "y": 3}, | ||||||
|               {"label":"DOWN", "x":15, "y":3}, |                 {"x": 4, "y": 3}, | ||||||
|               {"label":"RIGHT", "x":16, "y":3}, |                 {"x": 5, "y": 3}, | ||||||
|               {"label":"LOWER", "x":0, "y":4}, | 
 | ||||||
|               {"x":1, "y":4}, |                 {"x": 11, "y": 3}, | ||||||
|               {"label":"Alt", "x":4, "y":4}, |                 {"x": 12, "y": 3}, | ||||||
|               {"label":"Ctrl", "x":5, "y":4.25}, |                 {"x": 13, "y": 3}, | ||||||
|               {"label":"SPC", "x":6, "y":3.5, "h":2}, |                 {"x": 14, "y": 3}, | ||||||
|               {"label":"cmd", "x":7, "y":3.5}, |                 {"x": 15, "y": 3}, | ||||||
|               {"label":"Enter", "x":7, "y":4.5}, |                 {"x": 16, "y": 3}, | ||||||
|               {"label":"BS", "x":9, "y":4.5}, | 
 | ||||||
|               {"label":"DEL", "x":9, "y":3.5}, |                 {"x": 0, "y": 4}, | ||||||
|               {"label":"SPC", "x":10, "y":3.5, "h":2}, |                 {"x": 1, "y": 4}, | ||||||
|               {"label":"Ctrl", "x":11, "y":4.25}, | 
 | ||||||
|               {"label":"Alt", "x":12, "y":4}, |                 {"x": 4, "y": 4}, | ||||||
|               {"x":15, "y":4}, |                 {"x": 5, "y": 4.25}, | ||||||
|               {"label":"RAISE", "x":16, "y":4} |                 {"x": 6, "y": 3.5, "h": 2}, | ||||||
|  |                 {"x": 7, "y": 3.5}, | ||||||
|  |                 {"x": 7, "y": 4.5}, | ||||||
|  | 
 | ||||||
|  |                 {"x": 9, "y": 4.5}, | ||||||
|  |                 {"x": 9, "y": 3.5}, | ||||||
|  |                 {"x": 10, "y": 3.5, "h": 2}, | ||||||
|  |                 {"x": 11, "y": 4.25}, | ||||||
|  |                 {"x": 12, "y": 4}, | ||||||
|  | 
 | ||||||
|  |                 {"x": 15, "y": 4}, | ||||||
|  |                 {"x": 16, "y": 4} | ||||||
|             ] |             ] | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -17,5 +17,3 @@ | |||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #define RGBLIGHT_SLEEP | #define RGBLIGHT_SLEEP | ||||||
| 
 |  | ||||||
| // place overrides here
 |  | ||||||
|  | |||||||
| @ -13,119 +13,91 @@ | |||||||
|  * You should have received a copy of the GNU General Public License |  * You should have received a copy of the GNU General Public License | ||||||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 |  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||||
|  */ |  */ | ||||||
|  | 
 | ||||||
| #include QMK_KEYBOARD_H | #include QMK_KEYBOARD_H | ||||||
| 
 | 
 | ||||||
| // Defines names for use in layer keycodes and the keymap
 | enum layer_names { | ||||||
| enum layer_number { |     _BASE = 0, | ||||||
|   _BASE = 0, |     _LOWER, | ||||||
|   _LOWER, |     _RAISE, | ||||||
|   _RAISE, |     _ADJUST | ||||||
|   _ADJUST, |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| // Defines the keycodes used by our macros in process_record_user
 |  | ||||||
| enum custom_keycodes { | enum custom_keycodes { | ||||||
|   LOWER = SAFE_RANGE, |     LOWER = SAFE_RANGE, | ||||||
|   RAISE, |     RAISE, | ||||||
|   ADJUST |     ADJUST | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||||
|   [_BASE] = LAYOUT( |     [_BASE] = LAYOUT( | ||||||
|   //,---------------------------------------------------------------------.,---------------------------------------------------------------------.
 |         KC_ESC,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_EQL,     KC_MINS, KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_BSLS, | ||||||
|         KC_ESC,     KC_1,     KC_2,     KC_3,     KC_4,     KC_5,  KC_EQL,    KC_MINS,     KC_6,     KC_7,     KC_8,     KC_9,     KC_0,  KC_BSLS, |         KC_GRV,  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_AT, | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |         KC_TAB,  KC_A,    KC_S,    KC_D,    KC_F,    KC_G,    KC_COMM,    KC_DOT,  KC_H,    KC_J,    KC_K,    KC_L,    KC_UP,   KC_SCLN, | ||||||
|         KC_GRV,     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_AT, |         KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_SLSH,                      KC_B,    KC_N,    KC_M,    KC_LEFT, KC_DOWN, KC_RGHT, | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |         LOWER,   XXXXXXX, KC_LALT, KC_LCTL, KC_SPC,  KC_LGUI, KC_ENT,     KC_BSPC, KC_DEL,  KC_SPC,  KC_RCTL, KC_RALT, XXXXXXX, RAISE | ||||||
|         KC_TAB,     KC_A,     KC_S,     KC_D,     KC_F,     KC_G, KC_COMM,     KC_DOT,     KC_H,     KC_J,     KC_K,     KC_L,    KC_UP,  KC_SCLN, |     ), | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |  | ||||||
|        KC_LSFT,     KC_Z,     KC_X,     KC_C,     KC_V,  KC_SLSH,                          KC_B,     KC_N,     KC_M,  KC_LEFT,  KC_DOWN,  KC_RGHT, |  | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |  | ||||||
|          LOWER,  XXXXXXX,  KC_LALT, KC_LCTRL,   KC_SPC,  KC_LGUI,  KC_ENT,    KC_BSPC,   KC_DEL,   KC_SPC, KC_RCTRL,  KC_RALT,  XXXXXXX,   RAISE |  | ||||||
|   //`---------+----------/\-------+---------+---------+---------+---------/\---------+---------+---------+---------+---------/\--------+----------'
 |  | ||||||
|   ), |  | ||||||
| 
 | 
 | ||||||
|   [_LOWER] = LAYOUT( |     [_LOWER] = LAYOUT( | ||||||
|   //,---------------------------------------------------------------------.,---------------------------------------------------------------------.
 |         _______, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   XXXXXXX,    XXXXXXX, XXXXXXX, KC_MINS, KC_EQL,  KC_JYEN, KC_LBRC, KC_RBRC, | ||||||
|        _______,    KC_F1,    KC_F2,    KC_F3,    KC_F4,    KC_F5, XXXXXXX,    XXXXXXX,  XXXXXXX,  KC_MINS,   KC_EQL,  KC_JYEN,  KC_LBRC,  KC_RBRC, |         _______, KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SCLN, KC_QUOT, KC_BSLS, | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |         _______, KC_F11,  KC_F12,  XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, KC_COMM, KC_DOT,  KC_SLSH, XXXXXXX, | ||||||
|        _______,    KC_F6,    KC_F7,    KC_F8,    KC_F9,   KC_F10, XXXXXXX,    XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  KC_SCLN,  KC_QUOT,  KC_BSLS, |         _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |         LOWER,   XXXXXXX, _______, _______, _______, _______, _______,    _______, _______, _______, _______, _______, XXXXXXX, RAISE | ||||||
|        _______,   KC_F11,   KC_F12,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX,    XXXXXXX,  XXXXXXX,  XXXXXXX,  KC_COMM,   KC_DOT,  KC_SLSH,  XXXXXXX, |     ), | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |  | ||||||
|        _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,                       XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, |  | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |  | ||||||
|          LOWER,  XXXXXXX,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,  XXXXXXX,   RAISE |  | ||||||
|   //`---------+----------/\-------+---------+---------+---------+---------/\---------+---------+---------+---------+---------/\--------+----------'
 |  | ||||||
|  ), |  | ||||||
| 
 | 
 | ||||||
|   [_RAISE] = LAYOUT( |     [_RAISE] = LAYOUT( | ||||||
|   //,---------------------------------------------------------------------.,---------------------------------------------------------------------.
 |         _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||||
|        _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX, |         _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |         _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||||
|        _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX, |         _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |         LOWER,   XXXXXXX, _______, _______, _______, _______, _______,    _______, _______, _______, _______, _______, XXXXXXX, RAISE | ||||||
|        _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX, |     ), | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |  | ||||||
|        _______,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,                       XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX, |  | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |  | ||||||
|          LOWER,  XXXXXXX,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,  XXXXXXX,   RAISE |  | ||||||
|   //`---------+----------/\-------+---------+---------+---------+---------/\---------+---------+---------+---------+---------/\--------+----------'
 |  | ||||||
|   ), |  | ||||||
| 
 | 
 | ||||||
|   [_ADJUST] = LAYOUT( |     [_ADJUST] = LAYOUT( | ||||||
|   //,---------------------------------------------------------------------.,---------------------------------------------------------------------.
 |         _______, RGB_TOG, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_R, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, | ||||||
|        _______,  RGB_TOG,  XXXXXXX,  XXXXXXX,  XXXXXXX,  RGB_M_R,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,   RESET, |         _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_M_SN,XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |         _______, RGB_M_T, RGB_HUD, RGB_SAD, RGB_VAD, RGB_M_K, XXXXXXX,    XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||||
|        _______,  RGB_MOD,  RGB_HUI,  RGB_SAI,  RGB_VAI, RGB_M_SN,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX, |         _______, RGB_M_P, XXXXXXX, XXXXXXX, XXXXXXX, RGB_M_SW,                     XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |         LOWER,   XXXXXXX, _______, _______, _______, _______, _______,    _______, _______, _______, _______, _______, XXXXXXX, RAISE | ||||||
|        _______,  RGB_M_T,  RGB_HUD,  RGB_SAD,  RGB_VAD,  RGB_M_K,  XXXXXXX,   XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX, |     ) | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |  | ||||||
|        _______,  RGB_M_P,  XXXXXXX,  XXXXXXX,  XXXXXXX, RGB_M_SW,                       XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX,  XXXXXXX, XXXXXXX, |  | ||||||
|   //|---------+---------+---------+---------+---------+---------+---------|\---------+---------+---------+---------+---------+---------+---------|
 |  | ||||||
|          LOWER,  XXXXXXX,  _______,  _______,  _______,  _______,  _______,   _______,  _______,  _______,  _______,  _______,  XXXXXXX,   RAISE |  | ||||||
|   //`---------+----------/\-------+---------+---------+---------+---------/\---------+---------+---------+---------+---------/\--------+----------'
 |  | ||||||
|   ) |  | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static inline void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { | static inline void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { | ||||||
|   if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { |     if (IS_LAYER_ON(layer1) && IS_LAYER_ON(layer2)) { | ||||||
|     layer_on(layer3); |         layer_on(layer3); | ||||||
|   } else { |     } else { | ||||||
|     layer_off(layer3); |         layer_off(layer3); | ||||||
|   } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||||
| switch (keycode) { |     switch (keycode) { | ||||||
| case LOWER: |         case LOWER: | ||||||
|   if (record->event.pressed) { |             if (record->event.pressed) { | ||||||
|     layer_on(_LOWER); |                 layer_on(_LOWER); | ||||||
|     update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); |                 update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||||||
|   } else { |             } else { | ||||||
|     layer_off(_LOWER); |                 layer_off(_LOWER); | ||||||
|     update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); |                 update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||||||
|   } |             } | ||||||
|   return false; |             return false; | ||||||
|   break; |         case RAISE: | ||||||
| case RAISE: |             if (record->event.pressed) { | ||||||
|   if (record->event.pressed) { |                 layer_on(_RAISE); | ||||||
|     layer_on(_RAISE); |                 update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||||||
|     update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); |             } else { | ||||||
|   } else { |                 layer_off(_RAISE); | ||||||
|     layer_off(_RAISE); |                 update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); | ||||||
|     update_tri_layer_RGB(_LOWER, _RAISE, _ADJUST); |             } | ||||||
|   } |             return false; | ||||||
|     return false; |         case ADJUST: | ||||||
|     break; |             if (record->event.pressed) { | ||||||
| case ADJUST: |                 layer_on(_ADJUST); | ||||||
|     if (record->event.pressed) { |             } else { | ||||||
|       layer_on(_ADJUST); |                 layer_off(_ADJUST); | ||||||
|     } else { |             } | ||||||
|       layer_off(_ADJUST); |             return false; | ||||||
|     } |     } | ||||||
|     return false; |     return true; | ||||||
|     break; |  | ||||||
|   } |  | ||||||
|   return true; |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -1 +1,17 @@ | |||||||
|  | /* Copyright 2020 kamonanban
 | ||||||
|  |  * | ||||||
|  |  * 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 "manta60.h" | #include "manta60.h" | ||||||
|  | |||||||
| @ -18,28 +18,23 @@ | |||||||
| 
 | 
 | ||||||
| #include "quantum.h" | #include "quantum.h" | ||||||
| 
 | 
 | ||||||
| /* This is a shortcut to help you visually see your layout.
 | #define XXX KC_NO | ||||||
|  * The first section contains all of the arguments representing the physical | 
 | ||||||
|  * layout of the board and position of the keys. | #define LAYOUT( \ | ||||||
|  * The second converts the arguments into a two-dimensional array which |     L00, L01, L02, L03, L04, L05, L06,                        R00, R01, R02, R03, R04, R05, R06, \ | ||||||
|  * represents the switch matrix. |     L10, L11, L12, L13, L14, L15, L16,                        R10, R11, R12, R13, R14, R15, R16, \ | ||||||
|  */ |     L20, L21, L22, L23, L24, L25, L26,                        R20, R21, R22, R23, R24, R25, R26, \ | ||||||
|  #define LAYOUT( \ |     L30, L31, L32, L33, L34, L35,                                  R30, R31, R32, R33, R34, R35, \ | ||||||
|    L00, L01, L02, L03, L04, L05, L06,                     R00, R01, R02, R03, R04, R05, R06, \ |     L40, L41,           L42, L43, L44, L45, L46,    R40, R41, R42, R43, R44,           R45, R46 \ | ||||||
|    L10, L11, L12, L13, L14, L15, L16,                     R10, R11, R12, R13, R14, R15, R16, \ | ) { \ | ||||||
|    L20, L21, L22, L23, L24, L25, L26,                     R20, R21, R22, R23, R24, R25, R26, \ |     { L00, L01, L02, L03, L04, L05, L06 }, \ | ||||||
|    L30, L31, L32, L33, L34, L35,                               R30, R31, R32, R33, R34, R35, \ |     { L10, L11, L12, L13, L14, L15, L16 }, \ | ||||||
|    L40, L41,           L42, L43, L44, L45, L46, R40, R41, R42, R43, R44,           R45, R46  \ |     { L20, L21, L22, L23, L24, L25, L26 }, \ | ||||||
|  	) \ |     { L30, L31, L32, L33, L34, L35, XXX }, \ | ||||||
|    { \ |     { L40, L41, L42, L43, L44, L45, L46 }, \ | ||||||
|      { L00, L01, L02, L03, L04, L05, L06 }, \ |     { R06, R05, R04, R03, R02, R01, R00 }, \ | ||||||
|      { L10, L11, L12, L13, L14, L15, L16 }, \ |     { R16, R15, R14, R13, R12, R11, R10 }, \ | ||||||
|      { L20, L21, L22, L23, L24, L25, L26 }, \ |     { R26, R25, R24, R23, R22, R21, R20 }, \ | ||||||
|      { L30, L31, L32, L33, L34, L35, KC_NO}, \ |     { R35, R34, R33, R32, R31, R30, XXX }, \ | ||||||
|  		{	L40, L41, L42, L43, L44, L45, L46 }, \ |     { R46, R45, R44, R43, R42, R41, R40 } \ | ||||||
|      { R06, R05, R04, R03, R02, R01, R00 }, \ | } | ||||||
|      { R16, R15, R14, R13, R12, R11, R10 }, \ |  | ||||||
|      { R26, R25, R24, R23, R22, R21, R20 }, \ |  | ||||||
|      { R35, R34, R33, R32, R31, R30, KC_NO } , \ |  | ||||||
|  		{ R46, R45, R44, R43, R42, R41, R40 } \ |  | ||||||
|    } |  | ||||||
|  | |||||||
| @ -1,6 +1,6 @@ | |||||||
| # manta60 | # manta60 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| 
 | 
 | ||||||
| A split keyboard with 27 ortholinear keys and 5-7 thumb/little finger keys | A split keyboard with 27 ortholinear keys and 5-7 thumb/little finger keys | ||||||
| 
 | 
 | ||||||
| @ -12,4 +12,8 @@ Make example for this keyboard (after setting up your build environment): | |||||||
| 
 | 
 | ||||||
|     make manta60:default |     make manta60:default | ||||||
| 
 | 
 | ||||||
|  | Flashing example for this keyboard: | ||||||
|  | 
 | ||||||
|  |     make manta60:default:flash | ||||||
|  | 
 | ||||||
| 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). | 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). | ||||||
|  | |||||||
| @ -2,37 +2,27 @@ | |||||||
| MCU = atmega32u4 | MCU = atmega32u4 | ||||||
| 
 | 
 | ||||||
| # Bootloader selection
 | # Bootloader selection
 | ||||||
| #   Teensy       halfkay
 |  | ||||||
| #   Pro Micro    caterina
 |  | ||||||
| #   Atmel DFU    atmel-dfu
 |  | ||||||
| #   LUFA DFU     lufa-dfu
 |  | ||||||
| #   QMK DFU      qmk-dfu
 |  | ||||||
| #   ATmega32A    bootloadHID
 |  | ||||||
| #   ATmega328P   USBasp
 |  | ||||||
| BOOTLOADER = caterina | BOOTLOADER = caterina | ||||||
| 
 | 
 | ||||||
| # Build Options
 | # Build Options
 | ||||||
| #   change yes to no to disable
 | #   change yes to no to disable
 | ||||||
| #
 | #
 | ||||||
| BOOTMAGIC_ENABLE = lite       # Virtual DIP switch configuration | BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration | ||||||
| MOUSEKEY_ENABLE = yes       # Mouse keys | MOUSEKEY_ENABLE = yes       # Mouse keys | ||||||
| EXTRAKEY_ENABLE = no       # Audio control and System control | EXTRAKEY_ENABLE = no        # Audio control and System control | ||||||
| CONSOLE_ENABLE = no        # Console for debug | CONSOLE_ENABLE = no         # Console for debug | ||||||
| COMMAND_ENABLE = yes        # Commands for debug and configuration | COMMAND_ENABLE = yes        # Commands for debug and configuration | ||||||
| # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | ||||||
| SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend | SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend | ||||||
| # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | ||||||
| NKRO_ENABLE = no            # USB Nkey Rollover | NKRO_ENABLE = no            # USB Nkey Rollover | ||||||
| BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality | ||||||
| RGBLIGHT_ENABLE = yes        # Enable keyboard RGB underglow | RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow | ||||||
| MIDI_ENABLE = no            # MIDI support | BLUETOOTH_ENABLE = no       # Enable Bluetooth | ||||||
| BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID | AUDIO_ENABLE = no           # Audio output | ||||||
| AUDIO_ENABLE = no           # Audio output on port C6 |  | ||||||
| FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches |  | ||||||
| 
 |  | ||||||
| SPLIT_KEYBOARD = yes | SPLIT_KEYBOARD = yes | ||||||
| 
 | 
 | ||||||
| IOS_DEVICE_ENABLE = no      # connect to IOS device (iPad,iPhone) | IOS_DEVICE_ENABLE = no      # connect to IOS device (iPad, iPhone) | ||||||
| 
 | 
 | ||||||
| ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes) | ||||||
|     OPT_DEFS += -DIOS_DEVICE_ENABLE |     OPT_DEFS += -DIOS_DEVICE_ENABLE | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 QMK Bot
						QMK Bot