forked from mfulz_github/qmk_firmware
		
	Added an additional clueboard layout. (#1252)
* Current building keymap * Working media keys * Added mute key. Fixed volume. Fixed media * Updating readme * Swapped readme order
This commit is contained in:
		
							parent
							
								
									973e91078b
								
							
						
					
					
						commit
						187c78f3cb
					
				
							
								
								
									
										4
									
								
								keyboards/clueboard/keymaps/serubin/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								keyboards/clueboard/keymaps/serubin/Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					MOUSEKEY_ENABLE = yes
 | 
				
			||||||
 | 
					EXTRAKEY_ENABLE = yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										103
									
								
								keyboards/clueboard/keymaps/serubin/keymap.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								keyboards/clueboard/keymaps/serubin/keymap.c
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,103 @@
 | 
				
			|||||||
 | 
					#include "clueboard.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Helpful defines
 | 
				
			||||||
 | 
					#define GRAVE_MODS  (MOD_BIT(KC_LSHIFT)|MOD_BIT(KC_RSHIFT)|MOD_BIT(KC_LGUI)|MOD_BIT(KC_RGUI)|MOD_BIT(KC_LALT)|MOD_BIT(KC_RALT))
 | 
				
			||||||
 | 
					#define _______ KC_TRNS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Each layer gets a name for readability, which is then used in the keymap matrix below.
 | 
				
			||||||
 | 
					// The underscores don't mean anything - you can have a layer called STUFF or any other name.
 | 
				
			||||||
 | 
					// Layer names don't all need to be of the same length, obviously, and you can also skip them
 | 
				
			||||||
 | 
					// entirely and just use numbers.
 | 
				
			||||||
 | 
					#define _BL 0
 | 
				
			||||||
 | 
					#define _FL 1
 | 
				
			||||||
 | 
					#define _ME 2
 | 
				
			||||||
 | 
					#define _CL 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 | 
				
			||||||
 | 
					  /* Keymap _BL: Base Layer (Default Layer)
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					[_BL] = KEYMAP(
 | 
				
			||||||
 | 
					  KC_GRV,    KC_1,    KC_2,   KC_3,   KC_4,   KC_5,   KC_6,   KC_7,   KC_8,   KC_9,    KC_0,     KC_MINS,  KC_EQL,   KC_GRV,  KC_BSPC,          KC_PGUP, \
 | 
				
			||||||
 | 
					  KC_TAB,  KC_Q,    KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,   KC_O,    KC_P,     KC_LBRC,  KC_RBRC,  KC_BSLS,                   KC_PGDN, \
 | 
				
			||||||
 | 
					  F(1), KC_A,    KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,   KC_L,    KC_SCLN,  KC_QUOT,  KC_NUHS,  KC_ENT,                             \
 | 
				
			||||||
 | 
					  KC_LSFT, KC_NUBS, KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM, KC_DOT,   KC_SLSH,  KC_RO,    KC_RSFT,          KC_UP,            \
 | 
				
			||||||
 | 
					  KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN,          KC_SPC,KC_SPC,                        KC_HENK,  KC_RGUI,  MO(_FL),  MO(_ME), KC_LEFT, KC_DOWN, KC_RGHT),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Keymap _FL: Function Layer
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					[_FL] = KEYMAP(
 | 
				
			||||||
 | 
					  KC_ESC,     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_DEL,           KC_HOME, \
 | 
				
			||||||
 | 
					  _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS,  _______,  _______,  KC_PSCR,                KC_END,  \
 | 
				
			||||||
 | 
					  _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______,  _______,  _______,  _______,                           \
 | 
				
			||||||
 | 
					  _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______,  _______,  _______,  _______,          KC_PGUP,         \
 | 
				
			||||||
 | 
					  _______, _______, _______, _______,        _______,_______,                        _______,  _______,  MO(_FL),  MO(_ME), KC_HOME, KC_PGDN, KC_END),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Keymap _FL: Function Layer
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					[_ME] = KEYMAP(
 | 
				
			||||||
 | 
					  _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______,  _______, _______,  _______,  KC_MUTE,          KC_VOLU, \
 | 
				
			||||||
 | 
					  _______, _______, _______,_______,_______,_______,_______,_______,KC_PSCR,KC_SLCK, KC_PAUS,  _______,  _______,  _______,                   KC_VOLD, \
 | 
				
			||||||
 | 
					  _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______,  _______,  _______,  _______,                           \
 | 
				
			||||||
 | 
					  _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______,  _______, _______ ,  _______,          _______,         \
 | 
				
			||||||
 | 
					  _______, _______, _______, _______,        _______,_______,                        _______,  _______,  MO(_FL),  MO(_ME), KC_MPRV, KC_MPLY, KC_MNXT),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* Keymap _CL: Control layer
 | 
				
			||||||
 | 
					   */
 | 
				
			||||||
 | 
					[_CL] = KEYMAP(
 | 
				
			||||||
 | 
					  _______, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______,  _______,  _______,  _______, RGB_TOG,             RGB_VAI, \
 | 
				
			||||||
 | 
					  _______, _______, _______,_______,RESET,  _______,_______,_______,_______,_______, _______,  _______,  _______,  _______,                   RGB_VAD, \
 | 
				
			||||||
 | 
					  _______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______,  _______,  _______,  _______,                         \
 | 
				
			||||||
 | 
					  MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______,  _______,  MO(_FL),  _______,          RGB_SAI,          \
 | 
				
			||||||
 | 
					  _______, _______, _______,_______,        RGB_MOD,   RGB_MOD,                            _______,  _______,  _______,  _______, RGB_HUD,    RGB_SAD,    RGB_HUI),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* This is a list of user defined functions. F(N) corresponds to item N
 | 
				
			||||||
 | 
					   of this list.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					const uint16_t PROGMEM fn_actions[] = {
 | 
				
			||||||
 | 
					  [0] = ACTION_FUNCTION(0),  // Calls action_function()
 | 
				
			||||||
 | 
					  [1] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_ESC),
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
 | 
				
			||||||
 | 
					  static uint8_t mods_pressed;
 | 
				
			||||||
 | 
					  static bool mod_flag;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  switch (id) {
 | 
				
			||||||
 | 
					    case 0:
 | 
				
			||||||
 | 
					      /* Handle the combined Grave/Esc key
 | 
				
			||||||
 | 
					       */
 | 
				
			||||||
 | 
					      mods_pressed = get_mods()&GRAVE_MODS; // Check to see what mods are pressed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      if (record->event.pressed) {
 | 
				
			||||||
 | 
					        /* The key is being pressed.
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        if (mods_pressed) {
 | 
				
			||||||
 | 
					          mod_flag = true;
 | 
				
			||||||
 | 
					          add_key(KC_GRV);
 | 
				
			||||||
 | 
					          send_keyboard_report();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          add_key(KC_ESC);
 | 
				
			||||||
 | 
					          send_keyboard_report();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        /* The key is being released.
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        if (mod_flag) {
 | 
				
			||||||
 | 
					          mod_flag = false;
 | 
				
			||||||
 | 
					          del_key(KC_GRV);
 | 
				
			||||||
 | 
					          send_keyboard_report();
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					          del_key(KC_ESC);
 | 
				
			||||||
 | 
					          send_keyboard_report();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case 1:
 | 
				
			||||||
 | 
					      if(record->event.pressed) {
 | 
				
			||||||
 | 
					        del_key(KC_ESC);
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								keyboards/clueboard/keymaps/serubin/layout-base.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/clueboard/keymaps/serubin/layout-base.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 38 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								keyboards/clueboard/keymaps/serubin/layout-fn.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/clueboard/keymaps/serubin/layout-fn.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 34 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								keyboards/clueboard/keymaps/serubin/layout-media.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								keyboards/clueboard/keymaps/serubin/layout-media.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 28 KiB  | 
							
								
								
									
										23
									
								
								keyboards/clueboard/keymaps/serubin/readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								keyboards/clueboard/keymaps/serubin/readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					```
 | 
				
			||||||
 | 
					 ___     _____ _            _                         _     __    __ _   __
 | 
				
			||||||
 | 
					|__ \   / ____| |          | |                       | |   / /   / /(_) / /
 | 
				
			||||||
 | 
					 ||) | | |    | |_   _  ___| |__   ___   __ _ _ __ __| |  / /_  / /_   / /
 | 
				
			||||||
 | 
					 |/ /  | |    | | | | |/ _ \ '_ \ / _ \ / _` | '__/ _` | | '_ \| '_ \ / /
 | 
				
			||||||
 | 
					 |_|   | |____| | |_| |  __/ |_) | (_) | (_| | | | (_| | | (_) | (_) / / _
 | 
				
			||||||
 | 
					 (_)    \_____|_|\__,_|\___|_.__/ \___/ \__,_|_|  \__,_|  \___/ \___/_/ (_)
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Serubin's Clueboard Layout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is the layout based on the clueboard default, modified for development on Mac, PC, and Windows. This layout also handles media and volume keys on all the previously listed platforms. Most importantly, Capslock has been replaced by a dual function Esc/Ctrl key. This is particularly handy for use in Vim. 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Base Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Fn Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### Media Layer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user