QMK Configurator Support for KBD66 and RAMA M6-A (#2849)
* Added KBD66 Config * Added RAMA M6-A Config * Changed KEYMAP to LAYOUT for KBD66 and M6-A
This commit is contained in:
@@ -6,12 +6,14 @@ Keymap was from my own port for the M6-A before official support was added, thus
|
||||
|
||||
Top-right button acts as a "toggle between layers" button. Layer 0 -> Layer 1 -> Layer 2 -> Layer 0 -> ...
|
||||
|
||||
- Layer 0: Git and Discord shortcuts
|
||||
- Layer 1: Media playback and volume controls
|
||||
- Layer 2: Osu! gamepad layer
|
||||
* Layer 0: Git and Discord shortcuts
|
||||
* Layer 1: Media playback and volume controls
|
||||
* Layer 2: Osu! gamepad layer
|
||||
|
||||
## Helpful alternative keymaps (WIP)
|
||||
|
||||
### Arrow cluster
|
||||
|
||||
Use [karabiner-elements](https://github.com/tekezo/Karabiner-Elements) on macOS so that the state of the modifiers (shift, caps lock) are synchronised between keyboards (for shift + arrow key text selection, for example). It's also a handy tool for customising keyboard behaviour on a Mac.
|
||||
|
||||
On Windows/Linux modifier state should be shared between all keyboards by default.
|
||||
@@ -19,7 +21,7 @@ On Windows/Linux modifier state should be shared between all keyboards by defaul
|
||||
Installation: install [homebrew](https://brew.sh) and run `brew install Caskroom/cask/karabiner-elements`.
|
||||
|
||||
```C
|
||||
KEYMAP(
|
||||
LAYOUT(
|
||||
KC_ESC, KC_UP, TO(_LAYER0),
|
||||
KC_LEFT, KC_DOWN, KC_RIGHT
|
||||
)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "../../m6_a.h"
|
||||
#include QMK_KEYBOARD_H
|
||||
#include "action_layer.h"
|
||||
#include "eeconfig.h"
|
||||
|
||||
@@ -9,64 +9,66 @@ extern keymap_config_t keymap_config;
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
|
||||
enum layers {
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
_LAYER2
|
||||
enum layers
|
||||
{
|
||||
_LAYER0,
|
||||
_LAYER1,
|
||||
_LAYER2
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
GIT_ADD = SAFE_RANGE,
|
||||
GIT_COMMIT,
|
||||
GIT_PUSH,
|
||||
MUTE,
|
||||
DEAFEN
|
||||
enum custom_keycodes
|
||||
{
|
||||
GIT_ADD = SAFE_RANGE,
|
||||
GIT_COMMIT,
|
||||
GIT_PUSH,
|
||||
MUTE,
|
||||
DEAFEN
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch(keycode) {
|
||||
case GIT_ADD:
|
||||
SEND_STRING("git add ."SS_TAP(X_ENTER));
|
||||
break;
|
||||
case GIT_COMMIT:
|
||||
SEND_STRING("git commit -m "SS_DOWN(X_LSHIFT)SS_TAP(X_QUOTE)SS_UP(X_LSHIFT));
|
||||
break;
|
||||
case GIT_PUSH:
|
||||
SEND_STRING("git push"SS_TAP(X_ENTER));
|
||||
break;
|
||||
case MUTE:
|
||||
SEND_STRING(SS_LGUI(SS_LSFT("M")));
|
||||
break;
|
||||
case DEAFEN:
|
||||
SEND_STRING(SS_LGUI(SS_LSFT("D")));
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record)
|
||||
{
|
||||
if (record->event.pressed)
|
||||
{
|
||||
switch (keycode)
|
||||
{
|
||||
case GIT_ADD:
|
||||
SEND_STRING("git add ." SS_TAP(X_ENTER));
|
||||
break;
|
||||
case GIT_COMMIT:
|
||||
SEND_STRING("git commit -m " SS_DOWN(X_LSHIFT) SS_TAP(X_QUOTE) SS_UP(X_LSHIFT));
|
||||
break;
|
||||
case GIT_PUSH:
|
||||
SEND_STRING("git push" SS_TAP(X_ENTER));
|
||||
break;
|
||||
case MUTE:
|
||||
SEND_STRING(SS_LGUI(SS_LSFT("M")));
|
||||
break;
|
||||
case DEAFEN:
|
||||
SEND_STRING(SS_LGUI(SS_LSFT("D")));
|
||||
break;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
#define _______ KC_TRNS
|
||||
#define XXXXXXX KC_NO
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_LAYER0] = KEYMAP(
|
||||
MUTE, DEAFEN, TO(_LAYER1),
|
||||
GIT_ADD, GIT_COMMIT, GIT_PUSH
|
||||
),
|
||||
[_LAYER1] = KEYMAP(
|
||||
KC_VOLD, KC_VOLU, TO(_LAYER2),
|
||||
KC_MRWD, KC_MPLY, KC_MNXT
|
||||
),
|
||||
[_LAYER2] = KEYMAP(
|
||||
KC_ESC, KC_UP, TO(_LAYER0),
|
||||
KC_Z, KC_X, KC_SPACE
|
||||
)
|
||||
};
|
||||
[_LAYER0] = LAYOUT(
|
||||
MUTE, DEAFEN, TO(_LAYER1),
|
||||
GIT_ADD, GIT_COMMIT, GIT_PUSH),
|
||||
[_LAYER1] = LAYOUT(
|
||||
KC_VOLD, KC_VOLU, TO(_LAYER2),
|
||||
KC_MRWD, KC_MPLY, KC_MNXT),
|
||||
[_LAYER2] = LAYOUT(
|
||||
KC_ESC, KC_UP, TO(_LAYER0),
|
||||
KC_Z, KC_X, KC_SPACE)};
|
||||
|
||||
void matrix_init_user(void) {
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
void matrix_init_user(void)
|
||||
{
|
||||
#ifdef BACKLIGHT_ENABLE
|
||||
backlight_level(0);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user