summaryrefslogtreecommitdiff
path: root/users/miles2go/babblePaste.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/miles2go/babblePaste.h')
-rw-r--r--users/miles2go/babblePaste.h383
1 files changed, 0 insertions, 383 deletions
diff --git a/users/miles2go/babblePaste.h b/users/miles2go/babblePaste.h
deleted file mode 100644
index c3073423c2..0000000000
--- a/users/miles2go/babblePaste.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/* A library to output the right key shortcut in any common app.
-Given a global variable babble_mode to show the environment and a
-key that calls the paste macro, do the right type of paste.
-
-Setting the bable_mode is done by another macro, or TBD interaction with the host.
-
-Huge thanks to https://en.wikipedia.org/wiki/Table_of_keyboard_shortcuts
-and jeebak & algernon's keymap
-*/
-
-#pragma once
-#include "quantum.h"
-
-#ifdef USE_BABBLEPASTE
-
-void set_babble_mode(uint8_t id);
-void babble_mode_increment(void);
-void babble_mode_decrement(void);
-void babble_modeswitch_user(uint8_t mode);
-void babble_modeswitch_kb(uint8_t mode);
-
-// manually re-order these if you want to set the order or default.
-enum babble_modes {
-# ifdef BABL_MAC
- BABL_MAC_MODE,
-# endif
-# ifdef BABL_READMUX
- BABL_READMUX_MODE,
-# endif
-# ifdef BABL_WINDOWS
- BABL_WINDOWS_MODE,
-# endif
-# ifdef BABL_VI
- BABL_VI_MODE,
-# endif
-# ifdef BABL_EMACS
- BABL_EMACS_MODE,
-# endif
-# ifdef BABL_NANO
- BABL_NANO_MODE,
-# endif
-# ifdef BABL_KITTY
- BABL_KITTY_MODE,
-# endif
-# ifdef BABL_CHROMEOS
- BABL_CHROMEOS_MODE,
-# endif
-# ifdef BABL_LINUX
- BABL_LINUX_MODE,
-# endif
- BABL_MODEMAX
-};
-
-
-/// Hacks to make it easier to create sendstring macros
-
-//"outer" versions wrap text
-# define OMCTL(arg) SS_DOWN(X_LCTL) arg SS_UP(X_LCTL)
-# define OMGUI(arg) SS_DOWN(X_LGUI) arg SS_UP(X_LGUI)
-# define OMALT(arg) SS_DOWN(X_LALT) arg SS_UP(X_LALT)
-# define OMSFT(...) SS_DOWN(X_LSFT) __VA_ARGS__ SS_UP(X_LSFT)
-//"inner" versions wrap a key tap
-# define IMCTL(arg) SS_DOWN(X_LCTL) SS_TAP(arg) SS_UP(X_LCTL)
-# define IMGUI(arg) SS_DOWN(X_LGUI) SS_TAP(arg) SS_UP(X_LGUI)
-# define IMALT(arg) SS_DOWN(X_LALT) SS_TAP(arg) SS_UP(X_LALT)
-# define IMSFT(arg) SS_DOWN(X_LSFT) SS_TAP(arg) SS_UP(X_LSFT)
-
-# define BABLM(ent, ...) \
- if (ent == keycode) { \
- SEND_STRING(__VA_ARGS__); \
- return true; \
- }
-
-// BabblePaste should be loaded first (header in userspace .h file, before all else)
-// if not,we'll do our best.
-# if defined(NEW_SAFE_RANGE)
-# define BABBLE_START NEW_SAFE_RANGE
-# else
-# if defined(KEYMAP_SAFE_RANGE)
-# define BABBLE_START KEYMAP_SAFE_RANGE
-# else
-# define BABBLE_START SAFE_RANGE
-# endif
-# endif
-
-enum babble_keycodes {
- FIRST = BABBLE_START,
- BABL_MODE_INCREMENT,
- BABL_MODE_DECREMENT,
-# ifdef BABL_MODSWAP
- BABL_PRIMARY_OS_MOD,
- BABL_SECONDARY_OS_MOD,
- BABL_TERTIARY_OS_MOD,
-# endif
-# ifdef BABL_MOVE
- // Movement macros
- // left & right
- BABL_GO_LEFT_1C,
- 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_GO_PARA_START,
- BABL_GO_PARA_END,
- 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
- BABL_MODE, // print out string saying what mode we're in.
-# endif
-# ifdef BABL_OSKEYS
- BABL_UNDO,
- BABL_REDO,
- BABL_CUT,
- BABL_COPY,
- BABL_PASTE,
- BABL_SELECT_ALL,
- /* 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_PREV,
- BABL_FIND_REPLACE,
- // GUI or app
- BABL_RUNAPP,
- BABL_SWITCH_APP_NEXT,
- BABL_SWITCH_APP_LAST, // previous
- BABL_WINDOW_NEXT,
- BABL_WINDOW_PREV,
- BABL_WINDOW_NEW,
- BABL_CLOSE_APP,
- BABL_HELP,
- BABL_LOCK,
- BABL_SCREENCAPTURE,
- BABL_SWITCH_KEYBOARD_LAYOUT,
-# endif
-# ifdef BABL_BROWSER
- 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,
- BABL_BROWSER_VIEWSRC,
-# endif
-# ifdef BABL_APP
- BABL_APP_SAVE, // save file blurs app & os. Move?
- BABL_APP_PASTE_VALUES, // paste only values, or with some special formatting. ctrl shift v chrome, // Ctrl+Alt+V, excel
- // App hotkeys will be flawed, since you may use different spreadsheets across OSes.
-# ifdef BABL_APP_CELLS // spreadsheets and tables
- BABL_APP_CENTER_ALIGN, // Center align contents of a cell in table or spreadsheet.
- BABL_APP_CLEAR_FORMATTING, //
- BABL_APP_SCROLL_ACTIVE_CELL, // scroll to active cell.
- BABL_NEWLINE_IN_CELL, // newline inside cell of table,
- BABL_INSERT_COMMENT, // insert comment
- BABL_INSERT_COL_LEFT, // insert columns to the left
- BABL_INSERT_ROW, // insert row
- BABL_DELETE_ROW, // delete row // excel ctrl minus // chrome ctrl alt minus
- BABL_SELECT_COL, // select column - ctrl space //same in both
- BABL_SELECT_ROW, // select row shift spaced // same in both.
-# endif // BABL_APP_CELLS
-# ifdef BABL_APP_EDITOR
- BABL_APP_MULTI_SELECT, /* www.sublimetext.com/docs/2/multiple_selection_with_the_keyboard.html */
- BABL_APP_SET_MARK, // set editor mark
-# endif // BABL_APP_EDITOR
-# ifdef BABL_APP_WINDOWSPLITTING
- // These aren't useful on most oses.
- BABL_SPLIT_FRAME_VERT,
- BABL_UNSPLIT_FRAME_VERT,
- BABL_SPLIT_FRAME_HORIZONTAL,
- BABL_UNSPLIT_FRAME_HORIZONTAL,
- BABL_NEXT_FRAME,
- BABL_PREV_FRAME,
-# endif
-
-# endif
-
-// Macros for mode switching
-# ifdef BABL_WINDOWS
- BABL_DO_WINDOWS,
-# endif
-# ifdef BABL_MAC
- BABL_DO_MAC,
-# endif
-# ifdef BABL_LINUX
- BABL_DO_LINUX,
-# endif
-# ifdef BABL_EMACS
- BABL_DO_EMACS,
-# endif
-# ifdef BABL_NANO
- BABL_DO_NANO,
-# endif
-# ifdef BABL_KITTY
- BABL_DO_KITTY,
-# endif
-# ifdef BABL_VI
- BABL_DO_VI,
-# endif
-# ifdef BABL_READMUX
- BABL_DO_READMUX,
-# endif
-# ifdef BABL_CHROMEOS
- BABL_DO_CHROMEOS,
-# endif
- BABBLE_END_RANGE
-};
-
-// primary function.
-bool babblePaste(uint16_t keycode, bool is_pressed);
-
-/****************************************************/
-/* All per-os includes and short mode switch macros*/
-# ifdef BABL_WINDOWS
-# define B_WIN BABL_DO_WINDOWS
-bool babblePaste_win(uint16_t keycode);
-# endif
-# ifdef BABL_MAC
-# define B_MAC BABL_DO_MAC
-bool babblePaste_mac(uint16_t keycode);
-# endif
-# ifdef BABL_LINUX
-# define B_LINUX BABL_DO_LINUX
-bool babblePaste_linux(uint16_t keycode);
-# endif
-# ifdef BABL_EMACS
-# define B_EMACS BABL_DO_EMACS
-bool babblePaste_emacs(uint16_t keycode);
-# endif
-# ifdef BABL_NANO
-# define B_NANO BABL_DO_NANO
-bool babblePaste_nano(uint16_t keycode);
-# endif
-# ifdef BABL_KITTY
-# define B_KITTY BABL_DO_KITTY
-bool babblePaste_kitty(uint16_t keycode);
-# endif
-# ifdef BABL_VI
-# define B_VI BABL_DO_VI
-bool babblePaste_vi(uint16_t keycode);
-# endif
-# ifdef BABL_READMUX
-# define B_READ BABL_DO_READMUX
-bool babblePaste_readmux(uint16_t keycode);
-# endif
-# ifdef BABL_CHROMEOS
-# define B_CROM BABL_DO_CHROMEOS
-bool babblePaste_chromeos(uint16_t keycode);
-# endif
-
-
-/****************************************************
-** All keyboard macros for Babble Actions
-*****************************************************/
-# define B_INC BABL_MODE_INCREMENT
-# define B_DEC BABL_MODE_DECREMENT
-# ifdef BABL_MODSWAP
-# define B_1ME BABL_PRIMARY_OS_MOD
-# define B_2ME BABL_SECONDARY_OS_MOD
-# define B_3ME BABL_TERTIARY_OS_MOD
-# endif
-
-# ifdef BABL_MOVE
-# define B_L1C BABL_GO_LEFT_1C
-# define B_R1C BABL_GO_RIGHT_1C
-# define B_L1W BABL_GO_LEFT_WORD
-# define B_R1W BABL_GO_RIGHT_WORD
-# define B_GSOL BABL_GO_START_LINE
-# define B_GEOL BABL_GO_END_LINE
-# define B_GTOP BABL_GO_START_DOC
-# define B_GEND BABL_GO_END_DOC
-# define B_DOWN BABL_GO_NEXT_LINE
-# define B_UP BABL_GO_PREV_LINE
-# define B_PTOP BABL_GO_PARA_START
-# define B_PEND BABL_GO_PARA_END
-# define B_PGDN BABL_PGDN
-# define B_PGUP BABL_PGUP
-//#define B_BKSP BABL_DEL_LEFT_1C == backspace so why bother.
-# define B_DEL BABL_DEL_RIGHT_1C // usually = Del
-# define B_DLW BABL_DEL_LEFT_WORD
-# define B_DRW BABL_DEL_RIGHT_WORD
-# define B_DEOL BABL_DEL_TO_LINE_END // delete from cursor to end of line
-# define B_DSOL BABL_DEL_TO_LINE_START // delete from cursor to begining line
-# define B_MODE BABL_MODE // type out name of current mode.
-# endif
-
-# ifdef BABL_OSKEYS
-# define B_UNDO BABL_UNDO
-# define B_REDO BABL_REDO
-# define B_CUT BABL_CUT
-# define B_COPY BABL_COPY
-# define B_PASTE BABL_PASTE
-# define B_SELALL BABL_SELECT_ALL
-# define B_SELA BABL_SELECT_ALL
-# define B_FIND BABL_FIND
-# define B_FINDN BABL_FIND_NEXT
-# define B_FINDP BABL_FIND_PREV
-# define B_RPLACE BABL_FIND_REPLACE
-# define B_RUNAPP BABL_RUNAPP
-# define B_NAPP BABL_SWITCH_APP_NEXT
-# define B_PAPP BABL_SWITCH_APP_LAST // previous
-# define B_NWIN BABL_WINDOW_NEXT
-# define B_PWIN BABL_WINDOW_PREV
-# define B_WINN BABL_WINDOW_NEW
-# define B_CAPP BABL_CLOSE_APP
-# define B_HELP BABL_HELP
-# define B_LOCK BABL_LOCK
-# define B_SCAP BABL_SCREENCAPTURE
-# define B_KEYB BABL_SWITCH_KEYBOARD_LAYOUT
-# endif
-
-# ifdef BABL_BROWSER
-# define B_NTAB BABL_BROWSER_NEW_TAB
-# define B_CTAB BABL_BROWSER_CLOSE_TAB
-# define B_ROTB BABL_BROWSER_REOPEN_LAST_TAB
-# define B_NXTB BABL_BROWSER_NEXT_TAB
-# define B_PTAB BABL_BROWSER_PREV_TAB
-# define B_NURL BABL_BROWSER_URL_BAR
-# define B_BFWD BABL_BROWSER_FORWARD
-# define B_BBAK BABL_BROWSER_BACK
-# define B_BFND BABL_BROWSER_FIND
-# define B_BOOK BABL_BROWSER_BOOKMARK
-# define B_BDEV BABL_BROWSER_DEV_TOOLS // hard one to remember
-# define B_BRLD BABL_BROWSER_RELOAD
-# define B_BFULL BABL_BROWSER_FULLSCREEN
-# define B_ZIN BABL_BROWSER_ZOOM_IN
-# define B_ZOUT BABL_BROWSER_ZOOM_OUT
-# endif
-
-# ifdef BABL_APP
-# define B_SAVE BABL_APP_SAVE
-# ifdef BABL_APP_CELLS // spreadsheets and tables
-# define B_PASTV BABL_APP_PASTE_VALUES
-# define B_CALN BABL_APP_CENTER_ALIGN
-# define B_CFMT BABL_APP_CLEAR_FORMATTING
-# define B_SCLA BABL_APP_SCROLL_ACTIVE_CELL
-# define B_NCEL BABL_NEWLINE_IN_CELL
-# define B_IPRW BABL_INSERT_ROW_ABOVE
-# define B_ICOL BABL_INSERT_COL_LEFT
-# define B_IROW BABL_INSERT_ROW
-# define B_DROW BABL_DELETE_ROW
-# define B_SELC BABL_SELECT_COL
-# define B_SELR BABL_SELECT_ROW
-# endif // BABL_APP_CELLS
-# ifdef BABL_APP_EDITOR
-# define B_MSEL BABL_APP_MULTI_SELECT
-# define B_MARK BABL_APP_SET_MARK
-/* www.sublimetext.com/docs/2/multiple_selection_with_the_keyboard.html */
-# endif // BABL_APP_EDITOR
-# ifdef BABL_APP_WINDOWSPLITTING
-# define B_VSPLIT BABL_SPLIT_FRAME_VERT
-# define B_VUNSPT BABL_UNSPLIT_FRAME_VERT
-# define B_HSPLIT BABL_SPLIT_FRAME_HORIZONTAL
-# define B_HUNSPT BABL_UNSPLIT_FRAME_HORIZONTAL
-# define B_NXTFM BABL_NEXT_FRAME
-# define B_PRVFM BABL_PREV_FRAME
-# endif // BABL_APP_WINDOWSPLITTING
-# endif // BABL_APP
-
-#endif