summaryrefslogtreecommitdiff
path: root/keyboards/z12/keymaps/zigotica/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/z12/keymaps/zigotica/keymap.c')
-rw-r--r--keyboards/z12/keymaps/zigotica/keymap.c116
1 files changed, 82 insertions, 34 deletions
diff --git a/keyboards/z12/keymaps/zigotica/keymap.c b/keyboards/z12/keymaps/zigotica/keymap.c
index 7e969de96e..ef01561f1a 100644
--- a/keyboards/z12/keymaps/zigotica/keymap.c
+++ b/keyboards/z12/keymaps/zigotica/keymap.c
@@ -16,25 +16,73 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "zigotica.h"
+#include "raw_hid.h"
+
+#ifdef RAW_ENABLE
+void raw_hid_receive(uint8_t* data, uint8_t length) {
+ layer_clear();
+ if (data[0] == 99) {
+ layer_on(_BASE);
+ }
+ else {
+ layer_on(data[0]);
+ }
+}
+#endif
// Custom Keycodes
-#define MODE_1 TO(_TERMINAL)
+#define MODE_1 TO(_BASE)
#define MODE_2 TO(_FIGMA)
#define MODE_3 TO(_BROWSER)
#define MODE_4 TO(_VIM)
enum custom_keycodes {
- VIM_SIP = SAFE_RANGE
+ VIM_SIF = SAFE_RANGE,
+ VIM_SIP,
+ VIM_RIF,
+ VIM_RIP,
+ VIM_NEW
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case VIM_SIP:
+ case VIM_SIF:// Search in File
+ if (record->event.pressed) {
+ register_code(KC_ESC);
+ tap_code(KC_SLASH);
+ } else { // released
+ unregister_code(KC_ESC);
+ }
+ break;
+ case VIM_SIP:// Search in Project
if (record->event.pressed) {
register_code(KC_ESC);
SEND_STRING(":Ag ");
- } else {
- // released
+ } else { // released
+ unregister_code(KC_ESC);
+ }
+ break;
+ case VIM_RIF:// Replace in File
+ if (record->event.pressed) {
+ register_code(KC_ESC);
+ SEND_STRING(":%s/a/b/g");
+ } else { // released
+ unregister_code(KC_ESC);
+ }
+ break;
+ case VIM_RIP:// Replace in Project
+ if (record->event.pressed) {
+ register_code(KC_ESC);
+ SEND_STRING(":cdo %s/a/b/g");
+ } else { // released
+ unregister_code(KC_ESC);
+ }
+ break;
+ case VIM_NEW:// New buffer
+ if (record->event.pressed) {
+ SEND_STRING("\e:vnew\n");
+ } else { // released
+ unregister_code(KC_ENT);
unregister_code(KC_ESC);
}
break;
@@ -44,83 +92,83 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
- * TERMINAL Layer
+ * BASE Layer
*
* ,-----------------------------.
- * | | TERM | FIGM | |
+ * | | BASE | FIGM | |
* |-------+------+------+-------|
- * | VOL | BROW | VIM | SCROLL|
+ * |VOL/PLY| BROW | VIM | SCROLL|
* |-------+------+------+-------|
* |-------+-------+-------|
- * | MEDIA | o | o |
+ * | o | o | o |
* |-------+-------+-------|
* | o | o | o |
* |-------+-------+-------|
*/
- [_TERMINAL] = LAYOUT(
+ [_BASE] = LAYOUT(
MODE_1, MODE_2,
ZK_MEDIA, MODE_3, MODE_4, _______,
_______, _______, _______,
_______, _______, _______
),
/*
- * VIM Layer
+ * FIGMA Layer
*
* ,-----------------------------.
- * | | TERM | FIGM | |
+ * | | BASE | FIGM | |
* |-------+------+------+-------|
- * |BUFFER | BROW | VIM | SCROLL|
+ * | TABS | BROW | VIM | ZOOM |
* |-------+------+------+-------|
* |-------+-------+-------|
- * |SEARCH | o | o |
+ * |ZOOMFIT| GRIDS | FULL |
* |-------+-------+-------|
- * | o | o | o |
+ * |ZOOM100| NEXT | COLOR |
* |-------+-------+-------|
*/
- [_VIM] = LAYOUT(
+ [_FIGMA] = LAYOUT(
_______, _______,
_______, _______, _______, _______,
- VIM_SIP, _______, _______,
- _______, _______, _______
+ LSFT(KC_1), LCTL(KC_G), LGUI(KC_BSLS),
+ LSFT(KC_0), KC_N, LCTL(KC_C)
),
/*
- * FIGMA Layer
+ * BROWSER Layer
*
* ,-----------------------------.
- * | | TERM | FIGM | |
+ * | | BASE | FIGM | |
* |-------+------+------+-------|
- * | VOL | BROW | VIM | ZOOM |
+ * | TABS | BROW | VIM | SCROLL|
* |-------+------+------+-------|
* |-------+-------+-------|
- * | ZOOM | GRIDS | FULL |
+ * |SEARCH | BOOKM | DEVTL |
* |-------+-------+-------|
- * | o | o | o |
+ * |ZOOM100| MUTE | READ |
* |-------+-------+-------|
*/
- [_FIGMA] = LAYOUT(
+ [_BROWSER] = LAYOUT(
_______, _______,
_______, _______, _______, _______,
- LSFT(KC_1), LCTL(KC_G), LGUI(KC_BSLS),
- _______, _______, _______
+ G(KC_F), G(KC_D), G(A(KC_I)),
+ G(KC_0), C(KC_M), G(A(KC_R))
),
/*
- * BROWSER Layer
+ * VIM Layer
*
* ,-----------------------------.
- * | | TERM | FIGM | |
+ * | | BASE | FIGM | |
* |-------+------+------+-------|
- * | TABS | BROW | VIM | SCROLL|
+ * |BUFFER | BROW | VIM | SCROLL|
* |-------+------+------+-------|
* |-------+-------+-------|
- * |SEARCH | BOOKM | DEVTL |
+ * |SRCH FL|REPL FL|NEW BUF|
* |-------+-------+-------|
- * | o | o | o |
+ * |SRCH PR|REPL PR| o |
* |-------+-------+-------|
*/
- [_BROWSER] = LAYOUT(
+ [_VIM] = LAYOUT(
_______, _______,
_______, _______, _______, _______,
- G(KC_F), G(KC_D), G(A(KC_I)),
- _______, _______, _______
+ VIM_SIF, VIM_RIF, VIM_NEW,
+ VIM_SIP, VIM_RIP, _______
),
};