forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request qmk#7 from jackhumbert/master
Merge from jackhumbert
- Loading branch information
Showing
9 changed files
with
443 additions
and
119 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
#include "ergodox.h" | ||
#include "debug.h" | ||
#include "action_layer.h" | ||
|
||
// swap-hands action needs a matrix to define the swap | ||
const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { | ||
/* Left hand, matrix positions */ | ||
{{0,13}, {1,13}, {2,13}, {3,13}, {4,13}, {5,13}}, | ||
{{0,12}, {1,12}, {2,12}, {3,12}, {4,12}, {5,12}}, | ||
{{0,11}, {1,11}, {2,11}, {3,11}, {4,11}, {5,11}}, | ||
{{0,10}, {1,10}, {2,10}, {3,10}, {4,10}, {5,10}}, | ||
{{0,9}, {1,9}, {2,9}, {3,9}, {4,9}, {5,9}}, | ||
{{0,8}, {1,8}, {2,8}, {3,8}, {4,8}, {5,8}}, | ||
{{0,7}, {1,7}, {2,7}, {3,7}, {4,7}, {5,7}}, | ||
/* Right hand, matrix positions */ | ||
{{0,6}, {1,6}, {2,6}, {3,6}, {4,6}, {5,6}}, | ||
{{0,5}, {1,5}, {2,5}, {3,5}, {4,5}, {5,5}}, | ||
{{0,4}, {1,4}, {2,4}, {3,4}, {4,4}, {5,4}}, | ||
{{0,3}, {1,3}, {2,3}, {3,3}, {4,3}, {5,3}}, | ||
{{0,2}, {1,2}, {2,2}, {3,2}, {4,2}, {5,2}}, | ||
{{0,1}, {1,1}, {2,1}, {3,1}, {4,1}, {5,1}}, | ||
{{0,0}, {1,0}, {2,0}, {3,0}, {4,0}, {5,0}}, | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
The kastyle keymap was originally intended to remap the ErgoDox EZ to more | ||
closely approximate the layout of a Kinesis Advantage. Notable changes | ||
over the stock ErgoDox layout include: | ||
|
||
* Re-arragnement of tab, enter, space, and delete to match the Kinesis | ||
* Addition of print screen, pause, etc. keys following the kines-ish keymap | ||
on L1 | ||
* GUI keys have replaced Ctrl on the thumb keys (for Mac use), and Alt keys | ||
are mapped to allow Esc on tap (good for Vi users) | ||
* Most notably, the addition of a momentary one-handed mode for quick and | ||
easy access to keys on the other half of the keyboard, e.g. while using a | ||
mouse in one hand, one may add text to a dialogue box with the other without | ||
having to reach across the keyboard or remove one's hand from the mouse. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Ergodox EZ for OS X | ||
|
||
This keymapping is designed to be reasonably familiar to an ordinary Mac keyboard while taking advantage of the Ergodox EZ's features. Caps lock instead enables a layer which allows a user to use HJKL as arrow keys and to control media. Shift and control have additional mappings on S and D to provide easier access while holding down caps lock. | ||
|
||
If you choose to compile this yourself, be sure to compile with `#define PREVENT_STUCK_MODIFIERS` in your `config.h`. Firmware built using [qmk_firmware](https://github.com/jackhumbert/qmk_firmware/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
// Media keys work on OSX, but not on Windows. | ||
#include "ergodox.h" | ||
#include "debug.h" | ||
#include "action_layer.h" | ||
|
||
#define BASE 0 // Default layer | ||
#define AUXI 1 // Auxiliary layer | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
/* Keymap 0: Basic Layer | ||
* | ||
* ,--------------------------------------------------. ,--------------------------------------------------. | ||
* | ~` | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 0 | -_ | += | Bkspc | | ||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
* | Tab | Q | W | E | R | T | L1 | | Del | Y | U | I | O | P | |\ | | ||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
* | L1 | A | S | D | F | G |------| |------| H | J | K | L | ;: | Enter | | ||
* |--------+------+------+------+------+------| {[ | | }] |------+------+------+------+------+--------| | ||
* | LShift | Z | X | C | V | B | | | | N | M | <, | >. | ?/ | "' | | ||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
* |LCtrl | | | | Esc | | | | | | | | ||
* `----------------------------------' `----------------------------------' | ||
* ,-------------. ,-------------. | ||
* | | | |Power | | | ||
* ,------|------|------| |------+--------+------. | ||
* | | | | | | | | | ||
* | LGui | LAlt |------| |------| Bkspc |Space | | ||
* | | | | | Del | | | | ||
* `--------------------' `----------------------' | ||
*/ | ||
// If it accepts an argument (i.e, is a function), it doesn't need KC_. | ||
// Otherwise, it needs KC_* | ||
[BASE] = KEYMAP( // layer 0 : default | ||
// left hand | ||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, | ||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MO(1), | ||
MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, | ||
KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, | ||
KC_LCTL, KC_TRNS,KC_TRNS,KC_TRNS,KC_ESC, | ||
KC_TRNS,KC_TRNS, | ||
KC_TRNS, | ||
KC_LGUI,KC_LALT,KC_TRNS, | ||
|
||
// right hand | ||
KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, | ||
KC_DELETE, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLASH, | ||
KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_ENT, | ||
KC_RBRC, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_QUOT, | ||
KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, | ||
KC_PWR, KC_TRNS, | ||
KC_TRNS, | ||
KC_DELETE, KC_BSPC, KC_SPC | ||
), | ||
/* Keymap 1: Auxiliary Layer | ||
* | ||
* ,--------------------------------------------------. ,--------------------------------------------------. | ||
* | | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 | | | ||
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
* | | | | | | | TRNS | | | Mute | VolDn| VolUp| Play | | | | ||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
* | TRNS | |LShift| LCtrl| | |------| |------| LEFT | DOWN | UP |RIGHT | | | | ||
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
* | LShift | | | | | | | | | MPrv | MNxt | | | | | | ||
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
* |LCtrl | | | | | | | | | | | | ||
* `----------------------------------' `----------------------------------' | ||
* ,-------------. ,-------------. | ||
* | | | | | | | ||
* ,------|------|------| |------+------+------. | ||
* | | | | | | | | | ||
* | LGui | LAlt |------| |------| Bkspc| Space| | ||
* | | | | | Del | | | | ||
* `--------------------' `--------------------' | ||
*/ | ||
// AUXILIARY | ||
[AUXI] = KEYMAP( | ||
// left hand | ||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_LSHIFT,KC_LCTL, KC_TRNS, KC_TRNS, | ||
KC_LSHIFT,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, | ||
KC_TRNS, | ||
KC_LGUI, KC_LALT, KC_TRNS, | ||
// right hand | ||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, | ||
KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS, KC_TRNS, | ||
KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
KC_PWR, KC_TRNS, | ||
KC_TRNS, | ||
KC_DELETE, KC_BSPC, KC_SPC | ||
), | ||
}; | ||
|
||
const uint16_t PROGMEM fn_actions[] = { | ||
[1] = ACTION_LAYER_TAP_TOGGLE(AUXI) // FN1 - Momentary Layer 1 (Auxiliary) | ||
}; | ||
|
||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | ||
{ | ||
// MACRODOWN only works in this function | ||
switch(id) { | ||
case 0: | ||
if (record->event.pressed) { | ||
register_code(KC_RSFT); | ||
} else { | ||
unregister_code(KC_RSFT); | ||
} | ||
break; | ||
} | ||
return MACRO_NONE; | ||
}; | ||
|
||
// Runs just one time when the keyboard initializes. | ||
void matrix_init_user(void) { | ||
|
||
}; | ||
|
||
// Runs constantly in the background, in a loop. | ||
void matrix_scan_user(void) { | ||
|
||
uint8_t layer = biton32(layer_state); | ||
|
||
ergodox_board_led_off(); | ||
ergodox_right_led_1_off(); | ||
ergodox_right_led_2_off(); | ||
ergodox_right_led_3_off(); | ||
switch (layer) { | ||
// TODO: Make this relevant to the ErgoDox EZ. | ||
case 1: | ||
ergodox_right_led_1_on(); | ||
break; | ||
case 2: | ||
ergodox_right_led_2_on(); | ||
break; | ||
default: | ||
// none | ||
break; | ||
} | ||
|
||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.