mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 13:22:31 +01:00 
			
		
		
		
	Keymap: Added a keymap like a JIS keyboard for JJ 40. (#3847)
This commit is contained in:
		
							parent
							
								
									a14eb01883
								
							
						
					
					
						commit
						0533ea4a20
					
				
							
								
								
									
										49
									
								
								keyboards/jj40/keymaps/like_jis/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								keyboards/jj40/keymaps/like_jis/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,49 @@ | ||||
| /*
 | ||||
| This is the c configuration file for the keymap | ||||
| 
 | ||||
| Copyright 2012 Jun Wako <wakojun@gmail.com> | ||||
| Copyright 2015 Jack Humbert | ||||
| 
 | ||||
| This program is free software: you can redistribute it and/or modify | ||||
| it under the terms of the GNU General Public License as published by | ||||
| the Free Software Foundation, either version 2 of the License, or | ||||
| (at your option) any later version. | ||||
| 
 | ||||
| This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU General Public License for more details. | ||||
| 
 | ||||
| You should have received a copy of the GNU General Public License | ||||
| along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
| */ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| // place overrides here
 | ||||
| 
 | ||||
| #define TAPPING_TERM 200 | ||||
| 
 | ||||
| #ifdef MOUSEKEY_ENABLE | ||||
|   #undef MOUSEKEY_INTERVAL | ||||
|   #define MOUSEKEY_INTERVAL 5 | ||||
| 
 | ||||
|   #undef MOUSEKEY_TIME_TO_MAX | ||||
|   #define MOUSEKEY_TIME_TO_MAX 150 | ||||
| 
 | ||||
|   #undef MOUSEKEY_MAX_SPEED | ||||
|   #define MOUSEKEY_MAX_SPEED 3 | ||||
| 
 | ||||
|   #undef MOUSEKEY_MOVE_DELTA | ||||
|   #define MOUSEKEY_MOVE_DELTA 3 | ||||
| 
 | ||||
|   #undef MOUSEKEY_DELAY | ||||
|   #define MOUSEKEY_DELAY 0 | ||||
| #endif | ||||
| 
 | ||||
| #undef BACKLIGHT_LEVELS | ||||
| #define BACKLIGHT_LEVELS 15 | ||||
| // #undef BACKLIGHT_LEVELS
 | ||||
| // #define BACKLIGHT_BREATHING
 | ||||
| // #undef BREATHING_PERIOD
 | ||||
| // #define BREATHING_PERIOD 4
 | ||||
							
								
								
									
										200
									
								
								keyboards/jj40/keymaps/like_jis/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										200
									
								
								keyboards/jj40/keymaps/like_jis/keymap.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,200 @@ | ||||
| #include QMK_KEYBOARD_H | ||||
| 
 | ||||
| #define _QWERTY 0 | ||||
| #define _LOWER 3 | ||||
| #define _RAISE 4 | ||||
| #define _ADJUST 16 | ||||
| 
 | ||||
| enum custom_keycodes { | ||||
|   LOWER = SAFE_RANGE, | ||||
|   RAISE, | ||||
|   ADJUST, | ||||
|   RGBRST | ||||
| }; | ||||
| 
 | ||||
| #define KC______ KC_TRNS | ||||
| #define KC_XXXXX KC_NO | ||||
| #define KC_KANJI KC_GRV | ||||
| 
 | ||||
| #define KC_LOWER LOWER | ||||
| #define KC_RAISE RAISE | ||||
| #define KC_ADJST ADJUST | ||||
| 
 | ||||
| #define KC_RST   RESET | ||||
| 
 | ||||
| #define KC_LRST  RGBRST | ||||
| #define KC_LTOG  RGB_TOG | ||||
| #define KC_LHUI  RGB_HUI | ||||
| #define KC_LHUD  RGB_HUD | ||||
| #define KC_LSAI  RGB_SAI | ||||
| #define KC_LSAD  RGB_SAD | ||||
| #define KC_LVAI  RGB_VAI | ||||
| #define KC_LVAD  RGB_VAD | ||||
| #define KC_LSMOD RGB_SMOD | ||||
| #define KC_BTOG  BL_TOGG | ||||
| #define KC_BINC  BL_INC | ||||
| #define KC_BDEC  BL_DEC | ||||
| // #define KC_BRTG  BL_BRTG
 | ||||
| 
 | ||||
| #define KC_KNRM  AG_NORM | ||||
| #define KC_KSWP  AG_SWAP | ||||
| 
 | ||||
| // Layer Mode aliases
 | ||||
| // #define KC_L_LO  MO(_LOWER)
 | ||||
| // #define KC_L_RA  MO(_RAISE)
 | ||||
| // #define KC_L_AD  MO(_ADJUST)
 | ||||
| #define KC_TBSF  LSFT_T(KC_TAB) | ||||
| // #define KC_SPSF  LSFT_T(KC_SPC)
 | ||||
| // #define KC_GUAP  LALT_T(KC_APP)
 | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|   [_QWERTY] = KC_LAYOUT_ortho_4x12( \ | ||||
|   //,-----------------------------------------------------------------------------------.
 | ||||
|         ESC,     Q,     W,     E,     R,     T,     Y,     U,     I,     O,     P,  MINS,\ | ||||
|   //|------+------+------+------+------+------|------+------+------+------+------+------|
 | ||||
|        TBSF,     A,     S,     D,     F,     G,     H,     J,     K,     L,  SCLN,   ENT,\ | ||||
|   //|------+------+------+------+------+------|------+------+------+------+------+------|
 | ||||
|        LSFT,     Z,     X,     C,     V,     B,     N,     M,  COMM,   DOT,    UP,  RSFT,\ | ||||
|   //|------+------+------+------+------+------|------+------+------+------+------+------|
 | ||||
|       LCTRL,  LALT,  LGUI, ADJST, LOWER,  BSPC,   SPC, RAISE,   APP,  LEFT,  DOWN,  RGHT \ | ||||
|   //|------+------+------+------+------+-------------+------+------+------+------+------|
 | ||||
|   ), | ||||
| 
 | ||||
|   [_LOWER] = KC_LAYOUT_ortho_4x12( \ | ||||
|   //,-----------------------------------------------------------------------------------.
 | ||||
|         TAB,    F1,    F2,    F3,    F4,    F5, XXXXX,  MINS,   EQL,  JYEN,  LBRC,  RBRC,\ | ||||
|   //|------+------+------+------+------+------|------+------+------+------+------+------|
 | ||||
|       _____,    F6,    F7,    F8,    F9,   F10, XXXXX, XXXXX, XXXXX,  SCLN,  QUOT,  BSLS,\ | ||||
|   //|------+------+------+------+------+------|------+------+------+------+------+------|
 | ||||
|       _____,   F11,   F12, XXXXX, KANJI,   ENT, XXXXX, XXXXX,  COMM,   DOT,  SLSH,    RO,\ | ||||
|   //|------+------+------+------+------+-------------+------+------+------+------+------|
 | ||||
|       _____, _____, _____, _____, _____,   DEL, _____, _____, _____, _____, _____, _____ \ | ||||
|   //|------+------+------+------+------+-------------+------+------+------+------+------|
 | ||||
|   ), | ||||
| 
 | ||||
|   [_RAISE] = KC_LAYOUT_ortho_4x12( \ | ||||
|   //,-----------------------------------------------------------------------------------.
 | ||||
|       _____,     1,     2,     3,     4,     5,     6,     7,     8,     9,     0,  MINS,\ | ||||
|   //|------+------+------+------+------+------|------+------+------+------+------+------|
 | ||||
|       _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,     4,     5,     6,  QUOT,  PLUS,\ | ||||
|   //|------+------+------+------+------+------|------+------+------+------+------+------|
 | ||||
|       _____, XXXXX, XXXXX, XXXXX, XXXXX, XXXXX,     0,     1,     2,     3,   DOT,  SLSH,\ | ||||
|   //|------+------+------+------+------+-------------+------+------+------+------+------|
 | ||||
|       _____, _____, _____, _____, _____,  BSPC, _____, _____, _____, _____, _____, _____ \ | ||||
|   //|------+------+------+------+------+-------------+------+------+------+------+------|
 | ||||
|   ), | ||||
| 
 | ||||
|   [_ADJUST] = KC_LAYOUT_ortho_4x12( \ | ||||
|   //,-----------------------------------------------------------------------------------.
 | ||||
|       XXXXX,   RST,  LRST,  KNRM,  KSWP, XXXXX, XXXXX,  WH_L,  WH_U,  HOME,  PGUP, XXXXX,\ | ||||
|   //|------+------+------+------+------+------|------+------+------+------+------+------|
 | ||||
|       XXXXX,  LTOG,  LHUI,  LSAI,  LVAI,  BTOG,  BINC,  WH_R,  WH_D,   END,  PGDN, XXXXX,\ | ||||
|   //|------+------+------+------+------+------|------+------+------+------+------+------|
 | ||||
|       XXXXX, LSMOD,  LHUD,  LSAD,  LVAD, XXXXX,  BDEC, XXXXX,  BTN1,  BTN2,  MS_U, XXXXX,\ | ||||
|   //|------+------+------+------+------+-------------+------+------+------+------+------|
 | ||||
|       _____, _____, _____, _____, _____, XXXXX, XXXXX, _____, _____,  MS_L,  MS_D,  MS_R \ | ||||
|   //|------+------+------+------+------+-------------+------+------+------+------+------|
 | ||||
|   ) | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
| #ifdef BACKLIGHT_ENABLE | ||||
|   extern backlight_config_t backlight_config; | ||||
| 
 | ||||
|   inline void enable_backright(bool on) { | ||||
|       backlight_config.enable = on; | ||||
|       if (backlight_config.raw == 1) // enabled but level = 0
 | ||||
|           backlight_config.level = 1; | ||||
|       eeconfig_update_backlight(backlight_config.raw); | ||||
|       // dprintf("backlight toggle: %u\n", backlight_config.enable);
 | ||||
|       backlight_set(backlight_config.enable ? backlight_config.level : 0); | ||||
|   } | ||||
| 
 | ||||
|   uint8_t bl_breath_count; | ||||
|   uint8_t bl_breath_speed = 10; | ||||
|   int8_t bl_breath_updown = 1; | ||||
|   bool bl_breath_on; | ||||
|   backlight_config_t bl_breath_backup; | ||||
| 
 | ||||
|   void bl_breath_start(uint8_t speed) { | ||||
| 
 | ||||
|     bl_breath_on = true; | ||||
|     bl_breath_speed = speed; | ||||
|     bl_breath_backup = backlight_config; | ||||
|   } | ||||
| 
 | ||||
|   void bl_breath_end(void) { | ||||
| 
 | ||||
|     bl_breath_on = false; | ||||
|     backlight_config = bl_breath_backup; | ||||
|     eeconfig_update_backlight(backlight_config.raw); | ||||
|     backlight_set(backlight_config.enable ? backlight_config.level : 0); | ||||
|   } | ||||
| 
 | ||||
|   void bl_breath_update(void) { | ||||
| 
 | ||||
|     if (bl_breath_on) { | ||||
|       ++bl_breath_count; | ||||
|       if (bl_breath_count > bl_breath_speed) { | ||||
|         bl_breath_count = 0; | ||||
| 
 | ||||
|         backlight_config.level += bl_breath_updown; | ||||
|         bl_breath_updown = (backlight_config.level > BACKLIGHT_LEVELS) ? -1 : | ||||
|                           (backlight_config.level <= 0) ? 1 : | ||||
|                           bl_breath_updown; | ||||
|         enable_backright(true); | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   #define BL_BREATH_START bl_breath_start | ||||
|   #define BL_BREATH_END bl_breath_end | ||||
|   #define BL_BREATH_UPDATE bl_breath_update | ||||
| 
 | ||||
| #else | ||||
| 
 | ||||
|   #define BL_BREATH_START(a) | ||||
|   #define BL_BREATH_END() | ||||
|   #define BL_BREATH_UPDATE() | ||||
| #endif | ||||
| 
 | ||||
| // Loop
 | ||||
| void matrix_scan_user(void) { | ||||
| 
 | ||||
|   BL_BREATH_UPDATE(); | ||||
| } | ||||
| 
 | ||||
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||
| 
 | ||||
|   switch (keycode) { | ||||
|     case LOWER: | ||||
|       if (record->event.pressed) { | ||||
|         BL_BREATH_START(50); | ||||
|         layer_on(_LOWER); | ||||
|       } else { | ||||
|         BL_BREATH_END(); | ||||
|         layer_off(_LOWER); | ||||
|       } | ||||
|       break; | ||||
|     case RAISE: | ||||
|       if (record->event.pressed) { | ||||
|         BL_BREATH_START(100); | ||||
|         layer_on(_RAISE); | ||||
|       } else { | ||||
|         BL_BREATH_END(); | ||||
|         layer_off(_RAISE); | ||||
|       } | ||||
|       break; | ||||
|     case ADJUST: | ||||
|       if (record->event.pressed) { | ||||
|         layer_on(_ADJUST); | ||||
|       } else { | ||||
|         layer_off(_ADJUST); | ||||
|       } | ||||
|       break; | ||||
|     default: | ||||
|       return true; | ||||
|   } | ||||
| 
 | ||||
|   return false; | ||||
| } | ||||
							
								
								
									
										5
									
								
								keyboards/jj40/keymaps/like_jis/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								keyboards/jj40/keymaps/like_jis/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| MOUSEKEY_ENABLE = yes | ||||
| BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality | ||||
| 
 | ||||
| # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | ||||
| SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 marksard
						marksard