forked from mirrors/qmk_firmware
added browser babble, removed code from keymap
This commit is contained in:
parent
2f677c24a8
commit
01980c96e9
4 changed files with 438 additions and 212 deletions
|
@ -15,6 +15,13 @@ and https://github.com/qmk/qmk_firmware/blob/master/keyboards/planck/keymaps/jee
|
|||
// GLOBAL variable to determine mode. Sets startup default if no eeppom
|
||||
uint8_t babble_mode =0 ;
|
||||
|
||||
// small function that we might also want to call from a keymap.
|
||||
|
||||
macro_t* switch_babble_mode( uint8_t id) {
|
||||
babble_mode= id;
|
||||
return MACRO_NONE; //less typing above
|
||||
}
|
||||
|
||||
|
||||
// Today I learned that the preprocessor can not create a switch statement label from an argument
|
||||
// And else statements have problems, see https://gcc.gnu.org/onlinedocs/gcc-3.0.1/cpp_3.html#SEC15
|
||||
|
@ -23,63 +30,80 @@ uint8_t babble_mode =0 ;
|
|||
{ action_macro_play( MACRO(macro)); return MACRO_NONE; }
|
||||
|
||||
|
||||
const macro_t *babblePaste (keyrecord_t *record, uint8_t shortcut) {
|
||||
/* this function runs the appropriate babblepaste macro, given
|
||||
the global babble_mode, and a shortcut from the ENUM in babblePaste.h
|
||||
TODO, the pointers in this function should be stored in a PROGMEM array, not ram.
|
||||
But that requires even more clever preprocessor foo.
|
||||
*/
|
||||
|
||||
const macro_t *babblePaste (keyrecord_t *record, uint8_t shortcut) {
|
||||
/*
|
||||
if ( shortcut < BABL_START_NUM || \
|
||||
shortcut >= (BABL_START_NUM + BABL_NUM_MACROS ) ) {
|
||||
return MACRO_NONE;
|
||||
}
|
||||
|
||||
|
||||
*/
|
||||
switch(babble_mode) {
|
||||
|
||||
|
||||
|
||||
#ifdef MS_MODE
|
||||
if ( BABL_WINDOWS == shortcut ) { return switch_babble_mode(MS_MODE); }
|
||||
|
||||
case MS_MODE:
|
||||
BABLM( BABL_DEL_RIGHT_1C, T(DEL), END );
|
||||
BABLM( BABL_DEL_LEFT_WORD, D(LCTRL), T(BSPACE), U(LCTRL), END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD,D(LCTRL), T(DEL), U(LCTRL), END );
|
||||
BABLM( BABL_GO_LEFT_1C, T(LEFT), END );
|
||||
BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END );
|
||||
BABLM( BABL_GO_LEFT_WORD, D(LCTRL), T(LEFT), U(LCTRL), END );
|
||||
BABLM( BABL_GO_RIGHT_WORD, D(LCTRL), T(RIGHT), U(LCTRL), END );
|
||||
BABLM( BABL_GO_LEFT_WORD, D(LCTL), T(LEFT), U(LCTL), END );
|
||||
BABLM( BABL_GO_RIGHT_WORD, D(LCTL), T(RIGHT), U(LCTL), END );
|
||||
BABLM( BABL_GO_START_LINE, T(HOME), END );
|
||||
BABLM( BABL_GO_START_DOC, D(LCTRL),T(HOME), U(LCTRL),END );
|
||||
BABLM( BABL_GO_END_LINE, T(END), END );
|
||||
BABLM( BABL_GO_END_DOC, D(LCTRL),T(END), U(LCTRL),END );
|
||||
BABLM( BABL_GO_START_DOC, D(LCTL),T(HOME), U(LCTL),END );
|
||||
BABLM( BABL_GO_END_DOC, D(LCTL),T(END), U(LCTL),END );
|
||||
BABLM( BABL_GO_NEXT_LINE, T(DOWN), END );
|
||||
BABLM( BABL_GO_PREV_LINE, T(UP), END );
|
||||
BABLM( BABL_PGDN, T(PGDN), END );
|
||||
BABLM( BABL_PGUP, T(PGUP), END );
|
||||
BABLM( BABL_DEL_RIGHT_1C, T(DEL), END );
|
||||
BABLM( BABL_DEL_LEFT_WORD, D(LCTL), T(BSPACE), U(LCTL), END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD, D(LCTL), T(DEL), U(LCTL), END );
|
||||
BABLM( BABL_DEL_TO_LINE_END, D(RSFT), T(HOME), U(RSFT), T(DEL), END);
|
||||
BABLM( BABL_DEL_TO_LINE_START, D(RSFT), T(END), U(RSFT), T(DEL), END );
|
||||
#ifndef BABL_MOVEMENTONLY
|
||||
BABLM( BABL_UNDO, D(LCTRL), T(Z), U(LCTRL), END );
|
||||
BABLM( BABL_REDO, D(LCTRL), T(Y), U(LCTRL), END );
|
||||
BABLM( BABL_CUT, D(LCTRL), T(X), U(LCTRL), END );
|
||||
BABLM( BABL_COPY, D(LCTRL), T(C), U(LCTRL), END );
|
||||
BABLM( BABL_PASTE, D(LCTRL), T(V), U(LCTRL), END );
|
||||
BABLM( BABL_SELECT_ALL, D(LCTRL), T(A), U(LCTRL), END );
|
||||
BABLM( BABL_UNDO, D(LCTRL), T(Z), U(LCTRL), END );
|
||||
BABLM( BABL_REDO, D(LCTRL), T(Y), U(LCTRL), END );
|
||||
BABLM( BABL_CUT, D(LCTRL), T(X), U(LCTRL), END );
|
||||
BABLM( BABL_COPY, D(LCTRL), T(C), U(LCTRL), END );
|
||||
BABLM( BABL_PASTE, D(LCTRL), T(V), U(LCTRL), END );
|
||||
BABLM( BABL_SELECT_ALL, D(LCTRL), T(A), U(LCTRL), END );
|
||||
BABLM( BABL_FIND, D(LCTRL),T(F), U(LCTRL),END );
|
||||
BABLM( BABL_UNDO, D(LCTL), T(Z), U(LCTL), END );
|
||||
BABLM( BABL_REDO, D(LCTL), T(Y), U(LCTL), END );
|
||||
BABLM( BABL_CUT, D(LCTL), T(X), U(LCTL), END );
|
||||
BABLM( BABL_COPY, D(LCTL), T(C), U(LCTL), END );
|
||||
BABLM( BABL_PASTE, D(LCTL), T(V), U(LCTL), END );
|
||||
BABLM( BABL_SELECT_ALL, D(LCTL), T(A), U(LCTL), END );
|
||||
BABLM( BABL_FIND, D(LCTL),T(F), U(LCTL),END );
|
||||
BABLM( BABL_FIND_NEXT, T(F3),END );
|
||||
BABLM( BABL_FIND_REPLACE, D(LCTRL),T(H), U(LCTRL),END );
|
||||
BABLM( BABL_FIND_REPLACE, D(LCTL),T(H), U(LCTL),END );
|
||||
BABLM( BABL_RUNAPP, D(LGUI),T(R), U(LGUI),END );
|
||||
BABLM( BABL_SWITCH_APP_NEXT, D(LALT),T(TAB), U(LALT),END );
|
||||
BABLM( BABL_SWITCH_APP_LAST, D(LSFT),D(LALT),T(TAB), U(LALT), U(LSFT),END );
|
||||
BABLM( BABL_CLOSE_APP, D(LALT),T(F4), U(LALT),END );
|
||||
BABLM( BABL_HELP, T(F1),END );
|
||||
#ifndef BABL_NOBROWSER
|
||||
BABLM( BABL_BROWSER_NEW_TAB, D(LCTL), T(T), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_CLOSE_TAB, D(LCTL), T(W), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LCTL), D(RSFT),T(T), U(RSFT),U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_NEXT_TAB, D(LCTL), T(TAB), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_PREV_TAB, D(LCTL), D(RSFT), T(TAB), U(RSFT), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_URL_BAR, D(LCTL), T(L), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_FORWARD, D(LALT), T(RIGHT), U(LALT),END );
|
||||
BABLM( BABL_BROWSER_BACK, D(LALT), T(LEFT), U(LALT),END );
|
||||
BABLM( BABL_BROWSER_FIND, D(LCTL), T(F), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_BOOKMARK, D(LCTL), T(D), U(LCTL),END );
|
||||
//BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LCTL),END ); // EDGE
|
||||
BABLM( BABL_BROWSER_DEV_TOOLS, D(LCTL), T(T), U(LCTL),END ); // Chrome
|
||||
// Chrome
|
||||
BABLM( BABL_BROWSER_RELOAD, D(LCTL), T(F5), U(LCTL),END ); // hard reload w/o cache
|
||||
BABLM( BABL_BROWSER_FULLSCREEN, T(F11),END ); //command shift F
|
||||
BABLM( BABL_BROWSER_ZOOM_IN, D(LCTL), D(RSFT), T(EQL), U(RSFT), U(LCTL),END ); // ctr+ +
|
||||
BABLM( BABL_BROWSER_ZOOM_OUT, D(LCTL), T(MINS), U(LCTL),END );
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
// Todo, ring bell, flash light, show user this isn't supported
|
||||
return MACRO_NONE;
|
||||
|
||||
|
||||
|
@ -87,62 +111,87 @@ But that requires even more clever preprocessor foo.
|
|||
|
||||
|
||||
#ifdef LINUX_MODE
|
||||
case LINUX_MODE:
|
||||
if ( BABL_LINUX == shortcut ) { return switch_babble_mode(LINUX_MODE); }
|
||||
|
||||
BABLM( BABL_DEL_RIGHT_1C , D(DEL), END );
|
||||
BABLM( BABL_DEL_LEFT_WORD , D(LCTRL), T(BSPACE), U(LCTRL), END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD , D(LCTRL), T(DEL), U(LCTRL), END );
|
||||
case LINUX_MODE:
|
||||
BABLM( BABL_GO_LEFT_1C , T(LEFT), END );
|
||||
BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END );
|
||||
BABLM( BABL_GO_LEFT_WORD , D(LCTRL), T(LEFT), U(LCTRL), END );
|
||||
BABLM( BABL_GO_RIGHT_WORD , D(LCTRL), T(RIGHT), U(LCTRL), END );
|
||||
BABLM( BABL_GO_LEFT_WORD , D(LCTL), T(LEFT), U(LCTL), END );
|
||||
BABLM( BABL_GO_RIGHT_WORD , D(LCTL), T(RIGHT), U(LCTL), END );
|
||||
BABLM( BABL_GO_START_LINE , T(HOME), END );
|
||||
BABLM( BABL_GO_START_DOC , D(LCTRL),T(HOME), U(LCTRL),END );
|
||||
BABLM( BABL_GO_END_LINE , T(END), END );
|
||||
BABLM( BABL_GO_END_DOC , D(LCTRL),T(END), U(LCTRL),END );
|
||||
BABLM( BABL_GO_START_DOC , D(LCTL),T(HOME), U(LCTL),END );
|
||||
BABLM( BABL_GO_END_DOC , D(LCTL),T(END), U(LCTL),END );
|
||||
BABLM( BABL_GO_NEXT_LINE , T(DOWN), END );
|
||||
BABLM( BABL_GO_PREV_LINE , T(UP), END );
|
||||
BABLM( BABL_PGDN , T(PGDN), END );
|
||||
BABLM( BABL_PGUP , T(PGUP), END );
|
||||
BABLM( BABL_DEL_RIGHT_1C , D(DEL), END );
|
||||
BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(BSPACE), U(LCTL), END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD , D(LCTL), T(DEL), U(LCTL), END );
|
||||
BABLM( BABL_DEL_TO_LINE_END, D(RSFT), T(HOME), U(RSFT), T(DEL), END);
|
||||
BABLM( BABL_DEL_TO_LINE_START, D(RSFT), T(END), U(RSFT), T(DEL), END );
|
||||
#ifndef BABL_MOVEMENTONLY
|
||||
BABLM( BABL_UNDO , D(LCTRL), T(Z), U(LCTRL), END );
|
||||
BABLM( BABL_REDO , D(LCTRL), T(Y), U(LCTRL), END );
|
||||
BABLM( BABL_CUT , D(LCTRL), T(X), U(LCTRL), END );
|
||||
BABLM( BABL_COPY , D(LCTRL), T(C), U(LCTRL), END );
|
||||
BABLM( BABL_PASTE , D(LCTRL), T(V), U(LCTRL), END );
|
||||
BABLM( BABL_SELECT_ALL, D(LCTRL), T(A), U(LCTRL), END );
|
||||
BABLM( BABL_FIND, D(LCTRL),T(F), U(LCTRL),END );
|
||||
BABLM( BABL_UNDO , D(LCTL), T(Z), U(LCTL), END );
|
||||
BABLM( BABL_REDO , D(LCTL), T(Y), U(LCTL), END );
|
||||
BABLM( BABL_CUT , D(LCTL), T(X), U(LCTL), END );
|
||||
BABLM( BABL_COPY , D(LCTL), T(C), U(LCTL), END );
|
||||
BABLM( BABL_PASTE , D(LCTL), T(V), U(LCTL), END );
|
||||
BABLM( BABL_SELECT_ALL, D(LCTL), T(A), U(LCTL), END );
|
||||
BABLM( BABL_FIND, D(LCTL),T(F), U(LCTL),END );
|
||||
/* BABLM(BABL_FIND_NEXT , T(F3),END ); KDE */
|
||||
BABLM( BABL_FIND_NEXT, D(LCTRL),T(G), U(LCTRL),END ); // Gnome*/
|
||||
/* BABLM( , D(LCTRL),T(R), U(LCTRL),END ); KDE */
|
||||
BABLM( BABL_FIND_REPLACE, D(LCTRL),T(H), U(LCTRL),END ); // Gnome*/
|
||||
BABLM( BABL_FIND_NEXT, D(LCTL),T(G), U(LCTL),END ); // Gnome*/
|
||||
/* BABLM( , D(LCTL),T(R), U(LCTL),END ); KDE */
|
||||
BABLM( BABL_FIND_REPLACE, D(LCTL),T(H), U(LCTL),END ); // Gnome*/
|
||||
BABLM( BABL_RUNAPP, D(LALT),T(F2), U(LALT),END );
|
||||
BABLM( BABL_SWITCH_APP_NEXT, D(LCTL),T(TAB), U(LCTL),END );
|
||||
BABLM( BABL_SWITCH_APP_LAST, D(LSFT),D(LCTL),T(TAB), U(LCTL), U(LSFT),END );
|
||||
BABLM( BABL_CLOSE_APP, D(LALT),T(F4), U(LALT),END );
|
||||
BABLM( BABL_HELP, END );
|
||||
//BABLM( BABL_HELP, END );
|
||||
|
||||
#ifndef BABL_NOBROWSER
|
||||
BABLM( BABL_BROWSER_NEW_TAB, D(LCTL), T(T), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_CLOSE_TAB, D(LCTL), T(W), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LCTL), D(RSFT),T(T), U(RSFT),U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_NEXT_TAB, D(LCTL), T(TAB), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_PREV_TAB, D(LCTL), D(RSFT), T(TAB), U(RSFT), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_URL_BAR, D(LCTL), T(L), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_FORWARD, D(LALT), T(RIGHT), U(LALT),END );
|
||||
BABLM( BABL_BROWSER_BACK, D(LALT), T(LEFT), U(LALT),END );
|
||||
BABLM( BABL_BROWSER_FIND, D(LCTL), T(F), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_BOOKMARK, D(LCTL), T(D), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_DEV_TOOLS, D(LCTL), T(T), U(LCTL),END ); // Chrome
|
||||
BABLM( BABL_BROWSER_RELOAD, D(LCTL), T(F5), U(LCTL),END ); // hard reload w/o cache
|
||||
BABLM( BABL_BROWSER_FULLSCREEN, T(F11),END ); //command shift F
|
||||
BABLM( BABL_BROWSER_ZOOM_IN, D(LCTL), T(PLUS), U(LCTL),END );
|
||||
BABLM( BABL_BROWSER_ZOOM_OUT, D(LCTL), T(MINS), U(LCTL),END );
|
||||
#endif
|
||||
#endif
|
||||
return MACRO_NONE;
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef MAC_MODE
|
||||
if ( BABL_MAC == shortcut) { return switch_babble_mode(MAC_MODE); }
|
||||
|
||||
case MAC_MODE:
|
||||
BABLM( BABL_DEL_RIGHT_1C , D(DEL), END );
|
||||
BABLM( BABL_DEL_LEFT_WORD , D(LALT), T(BSPACE), U(LALT), END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD, D(LALT), T(DEL), U(LALT), END );
|
||||
BABLM( BABL_GO_LEFT_1C , T(LEFT), END );
|
||||
BABLM( BABL_GO_RIGHT_1C, T(RIGHT), END );
|
||||
BABLM( BABL_GO_LEFT_WORD , D(LALT), T(LEFT), U(LALT), END );
|
||||
BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(RIGHT), U(LALT), END );
|
||||
BABLM( BABL_GO_START_LINE , D(LGUI), T(LEFT), U(LGUI), END );
|
||||
BABLM( BABL_GO_START_DOC , D(LGUI),T(UP), U(LGUI),END );
|
||||
BABLM( BABL_GO_END_LINE , D(LGUI), T(RIGHT), U(LGUI), END );
|
||||
BABLM( BABL_GO_START_DOC , D(LGUI),T(UP), U(LGUI),END );
|
||||
BABLM( BABL_GO_END_DOC , D(LGUI),T(DOWN), U(LGUI),END );
|
||||
BABLM( BABL_GO_NEXT_LINE , T(DOWN), END );
|
||||
BABLM( BABL_GO_PREV_LINE , T(UP), END );
|
||||
BABLM( BABL_PGDN , D(LALT),T(DOWN), U(LALT), END );
|
||||
BABLM( BABL_PGUP , D(LALT),T(UP), U(LALT), END );
|
||||
BABLM( BABL_DEL_RIGHT_1C , D(DEL), END );
|
||||
BABLM( BABL_DEL_LEFT_WORD , D(LALT), T(BSPACE), U(LALT), END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD, D(LALT), T(DEL), U(LALT), END );
|
||||
BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END );// there must be another way
|
||||
BABLM( BABL_DEL_TO_LINE_START, D(LGUI), T(BSPACE), U(LGUI), END );
|
||||
#ifndef BABL_MOVEMENTONLY
|
||||
BABLM( BABL_UNDO , D(1), D(LGUI), T(Z), U(LGUI), END );
|
||||
BABLM( BABL_REDO , D(LSFT),D(LGUI), T(Z), U(LSFT),U(LGUI), END );
|
||||
|
@ -158,75 +207,92 @@ But that requires even more clever preprocessor foo.
|
|||
BABLM( BABL_SWITCH_APP_LAST , D(LSFT),D(LGUI),T(TAB), U(LGUI), U(LSFT),END );
|
||||
BABLM( BABL_CLOSE_APP , D(LGUI),T(Q), U(LGUI),END );
|
||||
BABLM( BABL_HELP , D(LSFT),D(LGUI),T(SLASH), U(LGUI), U(LSFT),END );
|
||||
|
||||
#ifndef BABL_NOBROWSER
|
||||
BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END );
|
||||
//BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE
|
||||
BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome
|
||||
// Chrome
|
||||
BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache
|
||||
BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F
|
||||
BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), D(RSFT), T(EQL), U(RSFT), U(LGUI),END ); // ctr+ +
|
||||
BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END );
|
||||
#endif
|
||||
#endif
|
||||
|
||||
return MACRO_NONE;
|
||||
#endif
|
||||
|
||||
#ifdef EMACS_MODE
|
||||
|
||||
if ( BABL_EMACS == shortcut ) { return switch_babble_mode(EMACS_MODE); }
|
||||
|
||||
case EMACS_MODE:
|
||||
switch(shortcut) {
|
||||
//probably should allow meta to not be ALT
|
||||
|
||||
case BABL_DEL_RIGHT_1C:
|
||||
BABLM( , D(LCTL), T(D), U(LCTL),END );
|
||||
case BABL_DEL_LEFT_WORD:
|
||||
BABLM( , D(LCTL), T(BSPACE), U(LCTL), END );
|
||||
case BABL_DEL_RIGHT_WORD:
|
||||
BABLM( , D(LALT), T(D), U(LALT), END );
|
||||
case BABL_GO_LEFT_1C:
|
||||
BABLM( , T(LEFT), END );
|
||||
case BABL_GO_RIGHT_1C:
|
||||
BABLM( , T(RIGHT), END );
|
||||
case BABL_GO_LEFT_WORD:
|
||||
BABLM( , D(LALT), T(B), U(LALT), END );
|
||||
case BABL_GO_RIGHT_WORD:
|
||||
BABLM( , D(LALT), T(F), U(LALT), END );
|
||||
case BABL_GO_START_LINE:
|
||||
BABLM( , D(LCTRL), T(A), U(LCTRL), END );
|
||||
case BABL_GO_START_DOC:
|
||||
BABLM( , D(LALT), D(LSFT), T(COMM),U(LSFT), U(LALT) ,END );
|
||||
case BABL_GO_END_LINE:
|
||||
BABLM( , D(LCTRL), T(E), U(LCTRL), END );
|
||||
case BABL_GO_END_DOC:
|
||||
BABLM( , D(LALT), D(LSFT), T(DOT),U(LSFT), U(LALT) ,END );
|
||||
case BABL_GO_NEXT_LINE:
|
||||
BABLM( , D(LCTRL), T(N), U(LCTRL), END );
|
||||
case BABL_GO_PREV_LINE:
|
||||
BABLM( , D(LCTRL), T(P), U(LCTRL), END );
|
||||
case BABL_PGDN:
|
||||
BABLM( ,D(LCTRL), T(V), U(LCTRL), END );
|
||||
case BABL_PGUP:
|
||||
BABLM( , D(LALT), T(V), U(LALT), END );
|
||||
BABLM( BABL_GO_LEFT_1C, T(LEFT), END );
|
||||
BABLM( BABL_GO_RIGHT_1C, T(RIGHT), END );
|
||||
BABLM( BABL_GO_LEFT_WORD, D(LALT), T(B), U(LALT), END );
|
||||
BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(F), U(LALT), END );
|
||||
BABLM( BABL_GO_START_LINE , D(LCTL), T(A), U(LCTL), END );
|
||||
BABLM( BABL_GO_END_LINE , D(LCTL), T(E), U(LCTL), END );
|
||||
BABLM( BABL_GO_START_DOC , D(LALT), D(LSFT), T(COMM),U(LSFT), U(LALT) ,END );
|
||||
BABLM( BABL_GO_END_DOC , D(LALT), D(LSFT), T(DOT), U(LSFT), U(LALT) ,END );
|
||||
BABLM( BABL_GO_NEXT_LINE , D(LCTL), T(N), U(LCTL), END );
|
||||
BABLM( BABL_GO_PREV_LINE , D(LCTL), T(P), U(LCTL), END );
|
||||
BABLM( BABL_PGDN , D(LCTL), T(V), U(LCTL), END );
|
||||
BABLM( BABL_PGUP , D(LALT), T(V), U(LALT), END );
|
||||
BABLM( BABL_DEL_RIGHT_1C, D(LCTL), T(D), U(LCTL),END );
|
||||
BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(BSPACE), U(LCTL), END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD , D(LALT), T(D), U(LALT), END );
|
||||
BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END );
|
||||
BABLM( BABL_DEL_TO_LINE_START, T(ESC), T(0), D(LCTL), T(K), U(LCTL), END );
|
||||
#ifndef BABL_MOVEMENTONLY
|
||||
case BABL_UNDO:
|
||||
BABLM( , D(LCTL), T(X), U(LCTL),T(C), END );
|
||||
case BABL_REDO:
|
||||
BABLM( , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably
|
||||
case BABL_CUT:
|
||||
BABLM( , D(LCTL), T(W), U(LCTL), END );
|
||||
case BABL_COPY:
|
||||
BABLM( , D(LALT), T(W), U(LALT), END ); //really?
|
||||
case BABL_PASTE:
|
||||
BABLM( , D(LCTL), T(Y), U(LCTL), END );
|
||||
case BABL_SELECT_ALL:
|
||||
BABLM( ,D(LCTL), T(X), U(LCTL),T(H), END );
|
||||
case BABL_FIND:
|
||||
BABLM( , D(LCTRL), T(S), U(LCTRL),END );
|
||||
case BABL_FIND_NEXT:
|
||||
BABLM( , D(LCTRL), T(S), U(LCTRL),END );
|
||||
case BABL_FIND_REPLACE:
|
||||
BABLM( , D(LALT),D(LSFT), T(5),U(LSFT), U(LALT), END );
|
||||
case BABL_RUNAPP:
|
||||
BABLM( , D(LALT), T(X), U(LALT),T(S),T(H),T(E),T(L),T(L),END );// arguably
|
||||
case BABL_SWITCH_APP_NEXT:
|
||||
BABLM( , D(LCTL), T(X), U(LCTL),T(RIGHT), END ); // arguably
|
||||
case BABL_SWITCH_APP_LAST:
|
||||
BABLM( , D(LCTL), T(X), U(LCTL),T(LEFT), END ); // arguably
|
||||
case BABL_CLOSE_APP:
|
||||
BABLM( ,D(LCTL), T(X), U(LCTL),T(C),END );
|
||||
case BABL_HELP:
|
||||
BABLM( , D(LCTL),T(H), U(LCTL),T(A),END); // start search in help
|
||||
BABLM( BABL_UNDO , D(LCTL), T(X), U(LCTL),T(C), END );
|
||||
BABLM( BABL_REDO , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably
|
||||
BABLM( BABL_CUT , D(LCTL), T(W), U(LCTL), END );
|
||||
BABLM( BABL_COPY , D(LALT), T(W), U(LALT), END ); //really?
|
||||
BABLM( BABL_PASTE , D(LCTL), T(Y), U(LCTL), END );
|
||||
BABLM( BABL_SELECT_ALL ,D(LCTL), T(X), U(LCTL),T(H), END );
|
||||
BABLM( BABL_FIND , D(LCTL), T(S), U(LCTL),END );
|
||||
BABLM( BABL_FIND_NEXT , D(LCTL), T(S), U(LCTL),END );
|
||||
BABLM( BABL_FIND_REPLACE , D(LALT),D(LSFT), T(5),U(LSFT), U(LALT), END );
|
||||
BABLM( BABL_RUNAPP , D(LALT), T(X), U(LALT),T(S),T(H),T(E),T(L),T(L),END );// arguably
|
||||
BABLM( BABL_SWITCH_APP_NEXT , D(LCTL), T(X), U(LCTL),T(RIGHT), END ); // arguably
|
||||
BABLM( BABL_SWITCH_APP_LAST , D(LCTL), T(X), U(LCTL),T(LEFT), END ); // arguably
|
||||
BABLM( BABL_CLOSE_APP , D(LCTL), T(X), U(LCTL),T(C),END );
|
||||
BABLM( BABL_HELP , D(LCTL),T(H), U(LCTL),T(A),END); // start search in help
|
||||
#ifndef BABL_NOBROWSER
|
||||
/* you get to figure w3 out
|
||||
BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END );
|
||||
//BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE
|
||||
BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome
|
||||
// Chrome
|
||||
BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache
|
||||
BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F
|
||||
BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), D(RSFT), T(EQL), U(RSFT), U(LGUI),END ); // ctr+ +
|
||||
BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END );
|
||||
*/
|
||||
#endif
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
@ -234,25 +300,31 @@ But that requires even more clever preprocessor foo.
|
|||
}
|
||||
|
||||
#endif
|
||||
#ifdef VI_MODE
|
||||
case VI_MODE:
|
||||
//assume esc is already called
|
||||
|
||||
BABLM( BABL_DEL_RIGHT_1C , T(X),END );
|
||||
BABLM( BABL_DEL_LEFT_WORD , T(D),T(G),T(E),END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD , T(D),T(W),END );
|
||||
|
||||
#ifdef VI_MODE
|
||||
if ( BABL_VI == shortcut ) { return switch_babble_mode(VI_MODE); }
|
||||
case VI_MODE:
|
||||
// you have to track the modes yourself. Otherwise motion is awful (bell, bell, bell)
|
||||
|
||||
|
||||
BABLM( BABL_GO_LEFT_1C , T(H), END );
|
||||
BABLM( BABL_GO_RIGHT_1C , T(L), END );
|
||||
BABLM( BABL_GO_LEFT_WORD , T(B),END );
|
||||
BABLM( BABL_GO_RIGHT_WORD , T(W), END );
|
||||
BABLM( BABL_GO_START_LINE , D(LSFT), T(6),U(LSFT), END ); //^
|
||||
BABLM( BABL_GO_START_DOC , T(G),T(G) ,END );
|
||||
BABLM( BABL_GO_END_LINE , D(LSFT), T(4),U(LSFT) , END ); //$
|
||||
BABLM( BABL_GO_START_DOC , T(G),T(G) ,END );
|
||||
BABLM( BABL_GO_END_DOC , D(LSFT), T(G),U(LSFT),END );
|
||||
BABLM( BABL_GO_NEXT_LINE , T(J), END );
|
||||
BABLM( BABL_GO_PREV_LINE, T(K), END );
|
||||
BABLM( BABL_PGDN ,D(LCTRL), T(F), U(LCTRL), END );
|
||||
BABLM( BABL_PGUP , D(LCTRL), T(B), U(LCTRL), END );
|
||||
BABLM( BABL_PGDN ,D(LCTL), T(F), U(LCTL), END );
|
||||
BABLM( BABL_PGUP , D(LCTL), T(B), U(LCTL), END );
|
||||
BABLM( BABL_DEL_RIGHT_1C , T(X),END );
|
||||
BABLM( BABL_DEL_LEFT_WORD , T(D),T(G),T(E),END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD , T(D),T(W),END );
|
||||
BABLM( BABL_DEL_TO_LINE_END, T(D),D(LSFT), T(4),U(LSFT) ,END ); // d$
|
||||
BABLM( BABL_DEL_TO_LINE_START, T(D),D(LSFT), T(6),U(LSFT) ,END );
|
||||
#ifndef BABL_MOVEMENTONLY
|
||||
BABLM( BABL_UNDO , T(U), END );
|
||||
BABLM( BABL_REDO , D(LCTL), T(R), U(LCTL), END );
|
||||
|
@ -268,6 +340,27 @@ But that requires even more clever preprocessor foo.
|
|||
BABLM( BABL_SWITCH_APP_LAST ,END );
|
||||
BABLM(BABL_CLOSE_APP, D(LSFT), T(SCLN),U(LSFT), T(Q), D(RSFT), T(1),U(RSFT), END );
|
||||
BABLM(BABL_HELP, D(LSFT), T(SCLN),U(LSFT),T(H),END); // start search in help
|
||||
#ifndef BABL_NOBROWSER
|
||||
/* you get to figure this out
|
||||
BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END );
|
||||
//BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE
|
||||
BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome
|
||||
// Chrome
|
||||
BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache
|
||||
BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F
|
||||
BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), T(PLUS), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END );
|
||||
*/
|
||||
#endif
|
||||
#endif
|
||||
return MACRO_NONE;
|
||||
#endif
|
||||
|
@ -278,37 +371,62 @@ But that requires even more clever preprocessor foo.
|
|||
#ifdef READMUX_MODE
|
||||
// Readline command line editing + tmux windowing
|
||||
// I havent decided how much to do readline and how much tmux
|
||||
if ( BABL_READLINE == shortcut ) { switch_babble_mode(READMUX_MODE); return MACRO_NONE; }
|
||||
case READMUX_MODE:
|
||||
BABLM( BABL_DEL_RIGHT_1C , D(LCTL), T(D), U(LCTL),END );
|
||||
|
||||
BABLM( BABL_GO_LEFT_1C , T(LEFT), END );
|
||||
BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END );
|
||||
BABLM( BABL_GO_LEFT_WORD , D(LALT), T(B), U(LALT), END );
|
||||
BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(F), U(LALT), END );
|
||||
BABLM( BABL_GO_START_LINE , D(LCTL), T(A), U(LCTL), END );
|
||||
BABLM( BABL_GO_END_LINE , D(LCTL), T(E), U(LCTL), END );
|
||||
//BABLM( BABL_GO_START_DOC ,END );// tmux?
|
||||
//BABLM( BABL_GO_END_DOC ,END ); // tmux?
|
||||
BABLM( BABL_GO_NEXT_LINE , D(LCTL), T(N), U(LCTL), END );
|
||||
BABLM( BABL_GO_PREV_LINE , D(LCTL), T(P), U(LCTL), END );
|
||||
BABLM( BABL_PGDN , T(PGDN), END );
|
||||
BABLM( BABL_PGUP , T(PGUP), END );
|
||||
BABLM( BABL_DEL_RIGHT_1C , D(LCTL), T(D), U(LCTL),END );
|
||||
BABLM( BABL_DEL_LEFT_WORD , D(LCTL), T(W), U(LCTL), END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD , D(LALT), T(D), U(LALT), END );
|
||||
BABLM( BABL_GO_LEFT_1C , T(LEFT), END );
|
||||
BABLM( BABL_GO_RIGHT_1C , T(RIGHT), END );
|
||||
BABLM( BABL_GO_LEFT_WORD , D(LALT), T(B), U(LALT), END );
|
||||
BABLM( BABL_GO_RIGHT_WORD , D(LALT), T(F), U(LALT), END );
|
||||
BABLM( BABL_GO_START_LINE , D(LCTRL), T(A), U(LCTRL), END );
|
||||
BABLM( BABL_GO_START_DOC ,END );// tmux?
|
||||
BABLM( BABL_GO_END_LINE , D(LCTRL), T(E), U(LCTRL), END );
|
||||
BABLM( BABL_GO_END_DOC ,END ); // tmux?
|
||||
BABLM( BABL_GO_NEXT_LINE , D(LCTRL), T(N), U(LCTRL), END );
|
||||
BABLM( BABL_GO_PREV_LINE , D(LCTRL), T(P), U(LCTRL), END );
|
||||
BABLM( BABL_PGDN , T(PGDN), END );
|
||||
BABLM( BABL_PGUP , T(PGUP), END );
|
||||
BABLM( BABL_DEL_RIGHT_WORD , D(LALT), T(D), U(LALT), END );
|
||||
BABLM( BABL_DEL_TO_LINE_END, D(LCTL), T(K), U(LCTL), END );
|
||||
BABLM( BABL_DEL_TO_LINE_START, D(LCTL), T(U), U(LCTL), END );
|
||||
#ifndef BABL_MOVEMENTONLY
|
||||
BABLM( BABL_UNDO , D(LALT), T(R), U(LALT) , END );
|
||||
BABLM( BABL_REDO , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably
|
||||
BABLM( BABL_CUT , D(LCTL), T(K), U(LCTL), END ); // wrong half the time
|
||||
BABLM( BABL_COPY ,END );
|
||||
BABLM( BABL_PASTE , D(LCTL), T(Y), U(LCTL), END );
|
||||
BABLM( BABL_SELECT_ALL ,D(LCTL), T(A), T(K), T(Y), U(LCTL) , END );
|
||||
BABLM( BABL_FIND , D(LCTRL), T(R), U(LCTRL), END ); // search history
|
||||
BABLM(BABL_FIND_NEXT, D(LCTRL), T(S), U(LCTRL), END );
|
||||
BABLM( BABL_FIND_REPLACE ,END );
|
||||
BABLM( BABL_RUNAPP , D(LCTRL), T(B), U(LCTRL), T(C),END ); //tmux
|
||||
BABLM( BABL_SWITCH_APP_NEXT , D(LCTRL), T(B), U(LCTRL), T(N),END ); //tmux
|
||||
BABLM( BABL_SWITCH_APP_LAST , D(LCTRL), T(B), U(LCTRL), T(P),END ); //tmux
|
||||
BABLM( BABL_CLOSE_APP , D(LCTRL), T(B), U(LCTRL), T(D),END); // usually what I want
|
||||
BABLM( BABL_HELP ,END );
|
||||
BABLM( BABL_UNDO , D(LALT), T(R), U(LALT) , END );
|
||||
BABLM( BABL_REDO , D(LCTL), T(X), U(LCTL),T(C), END ); // arguably
|
||||
BABLM( BABL_CUT , D(LCTL), T(K), U(LCTL), END ); // wrong half the time
|
||||
//BABLM( BABL_COPY ,END );
|
||||
BABLM( BABL_PASTE , D(LCTL), T(Y), U(LCTL), END );
|
||||
BABLM( BABL_SELECT_ALL , D(LCTL), T(A), T(K), T(Y), U(LCTL) , END );
|
||||
BABLM( BABL_FIND , D(LCTL), T(R), U(LCTL), END ); // search history
|
||||
BABLM(BABL_FIND_NEXT, D(LCTL), T(S), U(LCTL), END );
|
||||
//BABLM( BABL_FIND_REPLACE ,END );
|
||||
BABLM( BABL_RUNAPP , D(LCTL), T(B), U(LCTL), T(C),END ); //tmux
|
||||
BABLM( BABL_SWITCH_APP_NEXT , D(LCTL), T(B), U(LCTL), T(N),END ); //tmux
|
||||
BABLM( BABL_SWITCH_APP_LAST , D(LCTL), T(B), U(LCTL), T(P),END ); //tmux
|
||||
BABLM( BABL_CLOSE_APP , D(LCTL), T(B), U(LCTL), T(D),END); // usually what I want
|
||||
// BABLM( BABL_HELP ,END );
|
||||
#ifndef BABL_NOBROWSER
|
||||
/* Add lynx shortcuts?
|
||||
BABLM( BABL_BROWSER_NEW_TAB, D(LGUI), T(T), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_CLOSE_TAB, D(LGUI), T(W), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_REOPEN_LAST_TAB, D(LGUI), D(RSFT),T(T), U(RSFT),U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_NEXT_TAB, D(LGUI),D(LALT), T(RIGHT),U(LALT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_PREV_TAB, D(LGUI), D(RSFT), T(LEFT), U(RSFT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_URL_BAR, D(LGUI), T(L), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_FORWARD, D(LGUI), T(RIGHT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_BACK, D(LGUI), T(LEFT), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_FIND, D(LGUI), T(F), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_BOOKMARK, D(LGUI), T(D), U(LGUI),END );
|
||||
//BABLM( BABL_BROWSER_DEV_TOOLS, T(F12), U(LGUI),END ); // EDGE
|
||||
BABLM( BABL_BROWSER_DEV_TOOLS, D(LGUI), D(LALT), T(I), U(LALT),U(LGUI),END ); // Chrome
|
||||
// Chrome
|
||||
BABLM( BABL_BROWSER_RELOAD, D(LGUI), T(R), U(LGUI),END ); // add shift for reload w/o cache
|
||||
BABLM( BABL_BROWSER_FULLSCREEN, D(LGUI), D(LCTL), T(P), U(LCTL), U(LGUI),END ); //command shift F
|
||||
BABLM( BABL_BROWSER_ZOOM_IN, D(LGUI), T(PLUS), U(LGUI),END );
|
||||
BABLM( BABL_BROWSER_ZOOM_OUT, D(LGUI), T(MINS), U(LGUI),END );
|
||||
*/
|
||||
#endif
|
||||
#endif
|
||||
|
||||
return MACRO_NONE;
|
||||
|
|
|
@ -10,6 +10,8 @@ and jeebak & algernon's keymap
|
|||
#ifndef _babblePaste_h_included__
|
||||
#define _babblePaste_h_included__
|
||||
#include "action_layer.h"
|
||||
#include "quantum_keycodes.h"
|
||||
#include "config.h"
|
||||
|
||||
#ifdef USE_BABLPASTE
|
||||
|
||||
|
@ -39,23 +41,28 @@ and jeebak & algernon's keymap
|
|||
/* Macros handled by babblepaste. Most should be available for all platforms.
|
||||
Whatever isn't defined will NOP */
|
||||
enum {
|
||||
|
||||
// Movement
|
||||
BABL_DEL_RIGHT_1C= BABL_START_NUM,
|
||||
BABL_DEL_LEFT_WORD,
|
||||
BABL_DEL_RIGHT_WORD,
|
||||
BABL_GO_LEFT_1C,
|
||||
// Movement macros
|
||||
// left & right
|
||||
BABL_GO_LEFT_1C= BABL_START_NUM,
|
||||
BABL_GO_RIGHT_1C,
|
||||
BABL_GO_LEFT_WORD,
|
||||
BABL_GO_RIGHT_WORD,
|
||||
BABL_GO_START_LINE,
|
||||
BABL_GO_END_LINE,
|
||||
// now up & down
|
||||
BABL_GO_START_DOC,
|
||||
BABL_GO_END_DOC,
|
||||
BABL_GO_NEXT_LINE,
|
||||
BABL_GO_PREV_LINE,
|
||||
BABL_PGDN,
|
||||
BABL_PGUP,
|
||||
// And the delete options
|
||||
//BABL_DEL_LEFT_1C == backspace, so why bother.
|
||||
BABL_DEL_RIGHT_1C, // usually = Del
|
||||
BABL_DEL_LEFT_WORD,
|
||||
BABL_DEL_RIGHT_WORD,
|
||||
BABL_DEL_TO_LINE_END, // delete from cursor to end of line
|
||||
BABL_DEL_TO_LINE_START, // delete from cursor to begining line
|
||||
#ifndef BABL_MOVEMENTONLY
|
||||
// Cut & Paste
|
||||
BABL_UNDO,
|
||||
|
@ -64,20 +71,142 @@ enum {
|
|||
BABL_COPY,
|
||||
BABL_PASTE,
|
||||
BABL_SELECT_ALL,
|
||||
// GUI or app
|
||||
/* not yet implemented
|
||||
BABL_SWAP_LAST2C // swap last characters before the cursor
|
||||
BABL_SWAP_LAST2W // Swap the last two words before the cursor
|
||||
*/
|
||||
// find & replace
|
||||
BABL_FIND,
|
||||
BABL_FIND_NEXT,
|
||||
BABL_FIND_REPLACE,
|
||||
// GUI or app
|
||||
BABL_RUNAPP,
|
||||
BABL_SWITCH_APP_NEXT,
|
||||
BABL_SWITCH_APP_LAST, // previous
|
||||
BABL_CLOSE_APP,
|
||||
BABL_HELP
|
||||
BABL_HELP,
|
||||
|
||||
#ifndef BABL_NOBROWSER
|
||||
BABL_BROWSER_NEW_TAB,
|
||||
BABL_BROWSER_CLOSE_TAB,
|
||||
BABL_BROWSER_REOPEN_LAST_TAB,
|
||||
BABL_BROWSER_NEXT_TAB,
|
||||
BABL_BROWSER_PREV_TAB,
|
||||
BABL_BROWSER_URL_BAR,
|
||||
BABL_BROWSER_FORWARD,
|
||||
BABL_BROWSER_BACK,
|
||||
BABL_BROWSER_FIND,
|
||||
BABL_BROWSER_BOOKMARK,
|
||||
BABL_BROWSER_DEV_TOOLS, // hard one to remember
|
||||
BABL_BROWSER_RELOAD,
|
||||
BABL_BROWSER_FULLSCREEN,
|
||||
BABL_BROWSER_ZOOM_IN,
|
||||
BABL_BROWSER_ZOOM_OUT,
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// Macros for mode switching
|
||||
#ifdef MS_MODE
|
||||
BABL_WINDOWS,
|
||||
#endif
|
||||
#ifdef MAC_MODE
|
||||
BABL_MAC,
|
||||
#endif
|
||||
#ifdef LINUX_MODE
|
||||
BABL_LINUX,
|
||||
#endif
|
||||
#ifdef EMACS_MODE
|
||||
BABL_EMACS,
|
||||
#endif
|
||||
#ifdef VI_MODE
|
||||
BABL_VI,
|
||||
#endif
|
||||
#ifdef READMUX_MODE
|
||||
BABL_READLINE,
|
||||
#endif
|
||||
|
||||
|
||||
};
|
||||
|
||||
// How many macros/ how many array elements?
|
||||
#define BABL_NUM_MACROS 28
|
||||
// BUG, used to jump to babble functiion. Surely there is a way to calculate size of enum?
|
||||
#define BABL_NUM_MACROS 48 + 4 // 48 + # of defined modes.
|
||||
|
||||
/* And all the shorthand keymap ready versions */
|
||||
// First the mode switching macros
|
||||
#ifdef MS_MODE
|
||||
#define B_WIN M(BABL_WINDOWS)
|
||||
#endif
|
||||
#ifdef MAC_MODE
|
||||
#define B_MAC M(BABL_MAC)
|
||||
#endif
|
||||
#ifdef LINUX_MODE
|
||||
#define B_LNX M(BABL_LINUX)
|
||||
#endif
|
||||
#ifdef EMACS_MODE
|
||||
#define B_EMAX M(BABL_EMACS)
|
||||
#endif
|
||||
#ifdef VI_MODE
|
||||
#define B_VI M(BABL_VI)
|
||||
#endif
|
||||
#ifdef READMUX_MODE
|
||||
#define B_READ M(BABL_READLINE)
|
||||
#endif
|
||||
|
||||
// and all the movement & action.
|
||||
|
||||
#define B_L1C M(BABL_GO_LEFT_1C)
|
||||
#define B_R1C M(BABL_GO_RIGHT_1C)
|
||||
#define B_L1W M(BABL_GO_LEFT_WORD)
|
||||
#define B_R1W M(BABL_GO_RIGHT_WORD)
|
||||
#define B_GSOL M(BABL_GO_START_LINE)
|
||||
#define B_GEOL M(BABL_GO_END_LINE)
|
||||
#define B_GTOP M(BABL_GO_START_DOC)
|
||||
#define B_GEND M(BABL_GO_END_DOC)
|
||||
#define B_DOWN M(BABL_GO_NEXT_LINE)
|
||||
#define B_UP M(BABL_GO_PREV_LINE)
|
||||
#define B_PGDN M(BABL_PGDN)
|
||||
#define B_PGUP M(BABL_PGUP)
|
||||
//#define B_BKSP M(BABL_DEL_LEFT_1C) == backspace so why bother.
|
||||
#define B_DEL M(BABL_DEL_RIGHT_1C) // usually = Del
|
||||
#define B_DLW M(BABL_DEL_LEFT_WORD)
|
||||
#define B_DRW M(BABL_DEL_RIGHT_WORD)
|
||||
#define B_DEOL M(BABL_DEL_TO_LINE_END) // delete from cursor to end of line
|
||||
#define B_DSOL M(BABL_DEL_TO_LINE_START) // delete from cursor to begining line
|
||||
#define B_UNDO M(BABL_UNDO)
|
||||
#define B_REDO M(BABL_REDO)
|
||||
#define B_CUT M(BABL_CUT)
|
||||
#define B_COPY M(BABL_COPY)
|
||||
#define B_PAST M(BABL_PASTE)
|
||||
#define B_SELA M(BABL_SELECT_ALL)
|
||||
#define B_FIND M(BABL_FIND)
|
||||
#define B_FINDN M(BABL_FIND_NEXT)
|
||||
#define B_FINDR M(BABL_FIND_REPLACE)
|
||||
#define B_RAPP M(BABL_RUNAPP)
|
||||
#define B_NAPP M(BABL_SWITCH_APP_NEXT)
|
||||
#define B_PAPP M(BABL_SWITCH_APP_LAST) // previous
|
||||
#define B_CAPP M(BABL_CLOSE_APP)
|
||||
#define B_HELP M(BABL_HELP)
|
||||
#define B_NTAB M(BABL_BROWSER_NEW_TAB)
|
||||
#define B_CTAB M(BABL_BROWSER_CLOSE_TAB)
|
||||
#define B_ROTB M(BABL_BROWSER_REOPEN_LAST_TAB)
|
||||
#define B_NXTB M(BABL_BROWSER_NEXT_TAB)
|
||||
#define B_PTAB M(BABL_BROWSER_PREV_TAB)
|
||||
#define B_NURL M(BABL_BROWSER_URL_BAR)
|
||||
#define B_BFWD M(BABL_BROWSER_FORWARD)
|
||||
#define B_BBAK M(BABL_BROWSER_BACK)
|
||||
#define B_BFND M(BABL_BROWSER_FIND)
|
||||
#define B_BOOK M(BABL_BROWSER_BOOKMARK)
|
||||
#define B_BDEV M(BABL_BROWSER_DEV_TOOLS) // hard one to remember
|
||||
#define B_BRLD M(BABL_BROWSER_RELOAD)
|
||||
#define B_BFUlL M(BABL_BROWSER_FULLSCREEN)
|
||||
#define B_ZMIN M(BABL_BROWSER_ZOOM_IN)
|
||||
#define B_ZMOT M(BABL_BROWSER_ZOOM_OUT)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* from action_macro.h
|
||||
|
|
|
@ -5,23 +5,28 @@
|
|||
|
||||
#define USE_BABLPASTE
|
||||
|
||||
// Expect to get errors if you comment a feature out and leave it in your keymap.
|
||||
|
||||
#ifdef USE_BABLPASTE
|
||||
//define BabblePaste maps
|
||||
// Windows.
|
||||
//#define MS_MODE 1
|
||||
#define MAC_MODE 0
|
||||
#define MS_MODE 0
|
||||
#define MAC_MODE 1
|
||||
//aka gnome+KDE
|
||||
//#define LINUX_MODE 2
|
||||
//#define EMACS_MODE 3
|
||||
//#define VI_MODE 4
|
||||
#define VI_MODE 4
|
||||
//#define WORDSTAR_MODE 5
|
||||
// Readline and tmux
|
||||
#define READMUX_MODE 6
|
||||
#endif
|
||||
|
||||
// Uncomment if you need more free flash space
|
||||
// It removes everything but cursor movement
|
||||
|
||||
// This removes everything but cursor movement
|
||||
//#define BABL_MOVEMENTONLY
|
||||
// and this just removes browser shortcuts
|
||||
//#define BABL_NOBROWSER
|
||||
|
||||
// place overrides here
|
||||
#endif
|
||||
|
|
|
@ -14,13 +14,6 @@
|
|||
#define _TRAN 5
|
||||
|
||||
|
||||
|
||||
|
||||
// adjust babblemode default
|
||||
extern uint8_t babble_mode;
|
||||
|
||||
|
||||
|
||||
enum layer_keycodes {
|
||||
QWR,
|
||||
CDH,
|
||||
|
@ -46,11 +39,6 @@ TRAN
|
|||
enum macro_keycodes {
|
||||
DHPASTE=1,
|
||||
VIBRK,
|
||||
B_LNX,
|
||||
B_WIN,
|
||||
B_MAC,
|
||||
B_VI,
|
||||
B_READ ,
|
||||
};
|
||||
|
||||
|
||||
|
@ -115,23 +103,37 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||
____, KC_SCLN, KC_TILDE, KC_COLN, KC_TILDE, KC_PIPE, KC_DLR, KC_ASTR, ____, KC_DOT , KC_SLSH, ____, ____, ____,\
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____
|
||||
),
|
||||
/*
|
||||
* |ESC | Win| MAC|RdLn| VI | | | | | | | | | | | |
|
||||
* -------------------------------------------------------------------------------'
|
||||
* | | | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |Bakspace| Del|
|
||||
* ---------------------------------------------------------------------------
|
||||
* | tab | q | w |Find| |pTab |DSOL|DelW| Up |DelW|DEOL| [ | ] | \ | |
|
||||
* -------------------------------------------------------------------------------'
|
||||
* |Bak/Mov| a | s | d | |nTab |GSOL| <- | Dwn | -> | EOL | ' | enter |PgUp|
|
||||
* --------------------------------------------------------------------------------
|
||||
* |Lsft |Undo| Cut|Copy|Pste| b | n | m | , | . | / | Rsft| Up| PgDn|
|
||||
* ---------------------------------------------------------------------------------
|
||||
* |Lctl |Lgui |Lalt | Space/Sym | GUI | Sym | Rctl |Left|Down|Rght|
|
||||
* ---------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
[_MOV] = KEYMAP (\
|
||||
____, M(B_WIN),M(B_MAC),M(B_READ), M(B_VI), ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, M(BABL_UNDO), ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____,RGUI(KC_TAB), ____, ____, RCTL(KC_B), ____, M(BABL_DEL_LEFT_WORD), KC_UP, M(BABL_DEL_RIGHT_WORD), ____, ____, ____, ____, \
|
||||
____, RCTL(KC_A), KC_S, RCTL(KC_K), RCTL(KC_E), ____, M(BABL_GO_START_LINE), KC_LEFT,KC_DOWN, KC_RIGHT, M(BABL_GO_END_LINE), ____,____,____,\
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, B_MAC,B_WIN,B_READ, B_VI, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, B_PAPP, B_NAPP, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, B_UNDO, ____, B_BFND, ____, B_PTAB, B_DSOL, B_DLW, B_UP, B_DRW, B_DEOL, ____, ____, ____, \
|
||||
____, B_SELA, B_BRLD, ____, ____, B_NXTB, B_GSOL, B_L1C, B_DOWN, B_R1C,B_GEOL, ____, ____, ____,\
|
||||
____, B_UNDO,B_CUT, B_COPY, B_PAST, B_PAST, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____
|
||||
),
|
||||
|
||||
[_TRAN] = KEYMAP (\
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, ____, \
|
||||
____, ____, ____, ____, ____, ____, ____, ____, ____, ____
|
||||
)
|
||||
};
|
||||
|
||||
|
@ -188,6 +190,7 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
{
|
||||
|
||||
/* If this is in the range of BABL macros, call a separate function */
|
||||
/* Any clever remapping with modifiers should happen here e.g. shift bablkey does opposite*/
|
||||
#ifdef USE_BABLPASTE
|
||||
if( id >= BABL_START_NUM && id < (BABL_START_NUM + BABL_NUM_MACROS ) ) {
|
||||
if (record->event.pressed) { // is there a case where this isn't desired?
|
||||
|
@ -236,31 +239,6 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
|||
|
||||
|
||||
|
||||
#ifdef USE_BABLPASTE
|
||||
|
||||
#ifdef LINUX_MODE
|
||||
case B_LNX:
|
||||
return switch_babble_mode(LINUX_MODE);
|
||||
#endif
|
||||
#ifdef MS_MODE
|
||||
case B_WIN:
|
||||
return switch_babble_mode(MS_MODE);
|
||||
#endif
|
||||
#ifdef MAC_MODE
|
||||
case B_MAC:
|
||||
return switch_babble_mode(MAC_MODE);
|
||||
#endif
|
||||
#ifdef VI_MODE
|
||||
case B_VI:
|
||||
return switch_babble_mode(VI_MODE);
|
||||
#endif
|
||||
#ifdef READMUX_MODE
|
||||
case B_READ:
|
||||
return switch_babble_mode(READMUX_MODE);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
default:
|
||||
return MACRO_NONE;
|
||||
}
|
||||
|
@ -286,10 +264,6 @@ void led_set_user(uint8_t usb_led) {
|
|||
}
|
||||
|
||||
|
||||
macro_t* switch_babble_mode( uint8_t id) {
|
||||
babble_mode= id;
|
||||
return MACRO_NONE; //less typing above
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue