Explorar el Código

Fix SET_DEFAULT_LAYER action and keymap of gh60

tags/v1.9
tmk hace 11 años
padre
commit
40f1a4930a
Se han modificado 3 ficheros con 41 adiciones y 22 borrados
  1. 1
    1
      README.md
  2. 0
    6
      common/action.c
  3. 40
    15
      keyboard/gh60/keymap.c

+ 1
- 1
README.md Ver fichero

@@ -470,7 +470,7 @@ See `keyboard/hhkb/keymap.c` for sample.
### 3. Layer
Layer is key-action map to assign action to every physical key. You can define multiple layers in keymap and make layers active out of keymap during operation at will.

First layer is indexed by `0` which usually become **`default layer`** and active in initial state.
First layer is indexed by `0` which usually become `default layer` and active in initial state.

You can define **16 layers** at most in each keymaps[] and overlays[].


+ 0
- 6
common/action.c Ver fichero

@@ -384,21 +384,15 @@ static void process_action(keyrecord_t *record)
/* Keymap Reset default layer */
case (OP_RESET | ON_PRESS):
if (event.pressed) {
overlay_clear();
keymap_clear();
default_layer_set(action.layer.val);
}
break;
case (OP_RESET | ON_RELEASE):
if (!event.pressed) {
overlay_clear();
keymap_clear();
default_layer_set(action.layer.val);
}
break;
case (OP_RESET | ON_BOTH):
overlay_clear();
keymap_clear();
default_layer_set(action.layer.val);
break;


+ 40
- 15
keyboard/gh60/keymap.c Ver fichero

@@ -107,20 +107,15 @@ static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
CAPS,A, O, E, U, I, D, H, T, N, S, MINS, ENT, \
LSFT,SCLN,Q, J, K, X, B, M, W, V, Z, RSFT, \
LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN0),
/* Keymap: workman */
/* Keymap 3: workman */
KEYMAP_ANSI(
GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, \
TAB, Q, D, R, W, B, J, F, U, P, SCLN,LBRC,RBRC,BSLS, \
BSPC,A, S, H, T, G, Y, N, E, O, I, QUOT, ENT, \
LSFT,Z, X, M, C, V, K, L, COMM,DOT, SLSH, RSFT, \
LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, FN0),
};

static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* Funky
*/
/* Overlay 0: HHKB mode
/* Overlay 4: HHKB mode
* ,-----------------------------------------------------------.
* |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete |
* |-----------------------------------------------------------|
@@ -134,12 +129,12 @@ static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------'
*/
KEYMAP_ANSI(
PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, \
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, \
CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP, TRNS,INS, \
LCTL,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT, ENT, \
LSFT,TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN, RSFT, \
LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, TRNS),
/* Overlay 1: Vi mode (Slash)
LCTL,LGUI,LALT, SPC, RALT,RGUI,FN4, TRNS),
/* Overlay 5: Vi mode (Slash)
* ,-----------------------------------------------------------.
* | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
* |-----------------------------------------------------------|
@@ -158,7 +153,7 @@ static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
LCTL,TRNS,LEFT,DOWN,RGHT,TRNS,LEFT,DOWN,UP, RGHT,TRNS,TRNS, ENT, \
LSFT,TRNS,TRNS,TRNS,TRNS,TRNS,HOME,PGDN,PGUP,END, TRNS, RSFT, \
LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL),
/* Overlay 2: Mouse mode (Semicolon/App)
/* Overlay 6: Mouse mode (Semicolon/App)
* ,-----------------------------------------------------------.
* | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Backsp |
* |-----------------------------------------------------------|
@@ -178,16 +173,46 @@ static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {
LCTL,TRNS,ACL0,ACL1,ACL2,TRNS,MS_L,MS_D,MS_U,MS_R,TRNS,TRNS, ENT, \
LSFT,TRNS,TRNS,TRNS,TRNS,BTN3,BTN2,BTN1,BTN4,BTN5,TRNS, RSFT, \
LCTL,LGUI,LALT, BTN1, TRNS,TRNS,TRNS,RCTL),
/* Overlay 7: Layout selector
* ,-----------------------------------------------------------.
* | Lq| Lc| Ld| Lw| | | | | | | | | | |
* |-----------------------------------------------------------|
* | |Lq |Lw | | | | | | | | | | | |
* |-----------------------------------------------------------|
* | | | |Ld | | | | | | | | | |
* |-----------------------------------------------------------|
* | | | |Lc | | | | | | | | |
* |-----------------------------------------------------------|
* | | | | | | | | |
* `-----------------------------------------------------------'
* Lq: set Qwerty layout
* Lc: set Colemak layout
* Ld: set Dvorak layout
* Lw: set Workman layout
*/
KEYMAP_ANSI(
FN5, FN6, FN7, FN8, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,FN5, FN8, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS,FN7, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
TRNS,TRNS,TRNS,FN6, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, \
TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
};

static const uint8_t PROGMEM overlays[][MATRIX_ROWS][MATRIX_COLS] = {};

/*
* Fn action definition
*/
static const uint16_t PROGMEM fn_actions[] = {
ACTION_OVERLAY_TAP_TOGGLE(0), // FN0
ACTION_OVERLAY_TAP_KEY(1, KC_SLASH), // FN1
ACTION_OVERLAY_TAP_KEY(2, KC_SCLN), // FN2
ACTION_OVERLAY(2), // FN3
[0] = ACTION_KEYMAP(4), // FN0
[1] = ACTION_KEYMAP_TAP_KEY(5, KC_SLASH), // FN1
[2] = ACTION_KEYMAP_TAP_KEY(6, KC_SCLN), // FN2
[3] = ACTION_KEYMAP(6), // FN3
[4] = ACTION_KEYMAP(7), // to Layout selector
[5] = ACTION_SET_DEFAULT_LAYER(0), // set qwerty layout
[6] = ACTION_SET_DEFAULT_LAYER(1), // set colemak layout
[7] = ACTION_SET_DEFAULT_LAYER(2), // set dvorak layout
[8] = ACTION_SET_DEFAULT_LAYER(3), // set workman layout
};
#endif


Cargando…
Cancelar
Guardar