setup coding macros for altrep2
This commit is contained in:
parent
8db8e38764
commit
bf98b15650
|
@ -1,12 +1,42 @@
|
||||||
#include "process_record.h"
|
#include "process_record.h"
|
||||||
#include "features/sentence_case.h"
|
#include "features/sentence_case.h"
|
||||||
|
|
||||||
|
// Use ALTREP2 and ALTREP3 in our layout...
|
||||||
|
bool remember_last_key_user(uint16_t keycode, keyrecord_t* record, uint8_t* remembered_mods) {
|
||||||
|
switch (keycode) {
|
||||||
|
case ALTREP2:
|
||||||
|
case ALTREP3:
|
||||||
|
return false; // ignore ALTREP keys.
|
||||||
|
}
|
||||||
|
return true; // other keys can be repeated.
|
||||||
|
}
|
||||||
|
|
||||||
|
static void process_altrep2(uint16_t keycode, uint8_t mods) {
|
||||||
|
switch (keycode) {
|
||||||
|
// Expand and centre cursor
|
||||||
|
case KC_LPRN: SEND_STRING(")"SS_TAP(X_LEFT)); break; // ()
|
||||||
|
case KC_LBRC: SEND_STRING("]"SS_TAP(X_LEFT)); break; // []
|
||||||
|
case KC_LCBR: SEND_STRING("}"SS_TAP(X_LEFT)); break; // {}
|
||||||
|
case KC_DQUO: SEND_STRING("\""); break; // ""
|
||||||
|
// Complete
|
||||||
|
case KC_LABK: SEND_STRING("-"); break; // <-
|
||||||
|
case KC_RABK: SEND_STRING(SS_TAP(X_LEFT)"-"SS_TAP(X_RIGHT)); break; // ->
|
||||||
|
case KC_DOT: SEND_STRING("|."); break; // .|.
|
||||||
|
case KC_PIPE: SEND_STRING("||"); break; // |||
|
||||||
|
case KC_COLN: SEND_STRING(":"); break; // ::
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Define the behaviour of our custom keycodes
|
// Define the behaviour of our custom keycodes
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
||||||
if (!process_sentence_case(keycode, record)) { return false; }
|
if (!process_sentence_case(keycode, record)) { return false; }
|
||||||
|
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
// Toggle sentence case.
|
case ALTREP2:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
process_altrep2(get_last_keycode(), get_last_mods());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
case SC_TOGG:
|
case SC_TOGG:
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
sentence_case_toggle();
|
sentence_case_toggle();
|
||||||
|
|
Loading…
Reference in a new issue