~ruther/qmk_firmware

3a49ad06cdd1898acd23bc893b3caa14674a1fff — Yida Xu 7 years ago f56ded3
New keymaps for bananasplit (#2586)

* New bananasplit keymap with toggable capslock led.

* Update comments.

* Update readme.md

* Updated keymap name

* update some keys.

* new layout for bananasplit

* update comment

* Update readme.md
A keyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c => keyboards/bananasplit/keymaps/jockyxu1122_ansi/keymap.c +92 -0
@@ 0,0 1,92 @@
/*
  Author: jockyxu1122

  Hightlight: split backspace, split space, arrows on bottom right,
    and backlighting support (capslock's backlighting cannot be controlled separately).

  Note that "Previous track" and "next track" might only work with Windows.
*/

#include "bananasplit.h"

#define DEFAULT_LAYER 0
#define LAYER_1 1

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  /*
  -------------------------------------------------------------
  |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
  -------------------------------------------------------------
  | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] |  \  |
  -------------------------------------------------------------
  | Caps | A | S | D | F | G | H | J | K | L | ; | ' |  Enter |
  -------------------------------------------------------------
  | Shift  | Z | X | C | V | B | N | M | , | . | / | Shift| Up|
  -------------------------------------------------------------
  |Ctrl| GUI| Alt|  Space   |MoL1| Backspc| Hm|End| <-|Dwn| ->|
  -------------------------------------------------------------
  Hm: Home
  MoL1: Mo(L1)
  */
  [DEFAULT_LAYER] = KEYMAP_HHKB_ARROW(
    // row 1
    KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, \
      KC_DEL, \
    // row 2
    KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
    // row 3
    KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \
    // row 4
    KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \
    // row 5
    KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(LAYER_1), KC_BSPC, KC_HOME, KC_END, KC_LEFT, KC_DOWN, \
      KC_RIGHT
  ),

  /*
  -------------------------------------------------------------
  |LED| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|   |Ins|
  -------------------------------------------------------------
  |     |   |   | @ |   |   |   |   |   |   |   |BDn|BUp|     |
  -------------------------------------------------------------
  |      |   |   |   |   |   |   |   |   |   |   |   |        |
  -------------------------------------------------------------
  |        |   |   |Cal|   |www|   |Mut|   |   |   |      |VUp|
  -------------------------------------------------------------
  |    |    |    |  Pause   |    |        |PUp|PDn|PTk|VDn|NTk|
  -------------------------------------------------------------
  @: Email
  BDn: LED brightness down
  BUp: LED brightness up
  Cal: Calculator
  Ins: Insert
  Mut: Mute
  NTk: Next track
  PDn: Page down
  PTk: Previous track
  PUp: Page up
  VDn: Volume down
  VUp: Volume up
  www: Browser home page
  */
  [LAYER_1] = KEYMAP_HHKB_ARROW(
    // row 1
    BL_TOGG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \
      KC_F12, KC_TRNS, KC_INS, \
    // row 2
    KC_TRNS, KC_TRNS, KC_TRNS, KC_MAIL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
      KC_TRNS, BL_DEC, BL_INC, KC_TRNS, \
    // row 3
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
      KC_TRNS, KC_TRNS, KC_TRNS, \
    // row 4
    KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_WHOM, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, \
      KC_TRNS, KC_TRNS, KC_VOLU, \
    // row 5
    KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_MPRV, KC_VOLD, \
      KC_MNXT
  )
};

const uint16_t PROGMEM fn_actions[] = {
};

A keyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md => keyboards/bananasplit/keymaps/jockyxu1122_ansi/readme.md +66 -0
@@ 0,0 1,66 @@
Yida's keymap for BananaSplit
===

Hightlight: split backspace, split space, arrows on bottom right, and
backlighting support (capslock's backlighting cannot be controlled separately).

Note that "Previous track" and "next track" might only work with Windows.

Default layer:

```
  -------------------------------------------------------------
  |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
  -------------------------------------------------------------
  | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] |  \  |
  -------------------------------------------------------------
  | Caps | A | S | D | F | G | H | J | K | L | ; | ' |  Enter |
  -------------------------------------------------------------
  | Shift  | Z | X | C | V | B | N | M | , | . | / | Shift| Up|
  -------------------------------------------------------------
  |Ctrl| GUI| Alt|  Space   |MoL1| Backspc| Hm|End| <-|Dwn| ->|
  -------------------------------------------------------------
  Hm: Home
  MoL1: Mo(L1)
```

Layer_1:

```
  -------------------------------------------------------------
  |LED| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|   |Ins|
  -------------------------------------------------------------
  |     |   |   | @ |   |   |   |   |   |   |   |BDn|BUp|     |
  -------------------------------------------------------------
  |      |   |   |   |   |   |   |   |   |   |   |   |        |
  -------------------------------------------------------------
  |        |   |   |Cal|   |www|   |Mut|   |   |   |      |VUp|
  -------------------------------------------------------------
  |    |    |    |  Pause   |    |        |PUp|PDn|PTk|VDn|NTk|
  -------------------------------------------------------------
  @: Email
  BDn: LED brightness down
  BUp: LED brightness up
  Cal: Calculator
  Ins: Insert
  Mut: Mute
  NTk: Next track
  PDn: Page down
  PTk: Previous track
  PUp: Page up
  VDn: Volume down
  VUp: Volume up
  www: Browser home page
```

Compile and flash:

`cd` to `/qmk_firmware` folder, then
```
make bananasplit:jockyxu1122_ansi
```

A .hex file will be generated under `/qmk_firmware` folder.


To flash, use QMK Toolbox.

A keyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c => keyboards/bananasplit/keymaps/jockyxu1122_iso/keymap.c +105 -0
@@ 0,0 1,105 @@
/*
  Author: jockyxu1122

  Hightlight: split backspace, ISO Enter, split space, arrows on bottom right,
    and toggable capslock backlight.

  Note that "Previous track" and "next track" might only work with Windows.
*/

#include "bananasplit.h"

#define DEFAULT_LAYER 0
#define LAYER_1 1

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  /*
  -------------------------------------------------------------
  |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
  -------------------------------------------------------------
  | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Ent |
  --------------------------------------------------------    -
  | Caps | A | S | D | F | G | H | J | K | L | ; | ' | \ |    |
  -------------------------------------------------------------
  | Shift  | Z | X | C | V | B | N | M | , | . | Shift| Up| / |
  -------------------------------------------------------------
  |Ctrl| GUI| Alt|  Space   |MoL1| Backspc| Hm|End| <-|Dwn| ->|
  -------------------------------------------------------------
  Hm: Home
  MoL1: Mo(L1)
  */
  [DEFAULT_LAYER] = KEYMAP_HHKB_ARROW(
    // row 1
    KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, \
      KC_DEL, \
    // row 2
    KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT, \
    // row 3
    KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, \
    // row 4
    KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH, \
    // row 5
    KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(LAYER_1), KC_BSPC, KC_HOME, KC_END, KC_LEFT, KC_DOWN, \
      KC_RIGHT
  ),

  /*
  -------------------------------------------------------------
  |   | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|   |Ins|
  -------------------------------------------------------------
  |     |   |   | @ |   |   |   |   |   |   |   |   |   |     |
  --------------------------------------------------------    -
  |      |   |   |   |   |   |   |   |   |   |   |   |   |    |
  -------------------------------------------------------------
  |        |   |   |Cal|   |www|   |Mut|   |   |      |VUp|   |
  -------------------------------------------------------------
  |    |    |    |  Pause   |    |        |PUp|PDn|PTk|VDn|NTk|
  -------------------------------------------------------------
  @: Email
  Cal: Calculator
  Ins: Insert
  Mut: Mute
  NTk: Next track
  PDn: Page down
  PTk: Previous track
  PUp: Page up
  VDn: Volume down
  VUp: Volume up
  www: Browser home page
  */
  [LAYER_1] = KEYMAP_HHKB_ARROW(
    // row 1
    KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \
      KC_F12, KC_TRNS, KC_INS, \
    // row 2
    KC_TRNS, KC_TRNS, KC_TRNS, KC_MAIL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
    // row 3
    KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
      KC_TRNS, KC_TRNS, KC_TRNS, \
    // row 4
    KC_TRNS, KC_TRNS, KC_TRNS, KC_CALC, KC_TRNS, KC_WHOM, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, \
      KC_TRNS, KC_VOLU, KC_TRNS, \
    // row 5
    KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_MPRV, KC_VOLD, \
      KC_MNXT
  )
};

const uint16_t PROGMEM fn_actions[] = {
};

/*
Capslock's led cannot be controlled separately on bananasplit and you can only turn on/off all
  leds at once. If you only install led for capslock, it will look like capslock has toggable
  backlight.
*/
void led_set_user(uint8_t usb_led) {
  if (usb_led && (1 << USB_LED_CAPS_LOCK)) {
    DDRB |= (1 << 7);
    PORTB |= (1 << 7);
  } else {
    DDRB &= ~(1 << 7);
    PORTB &= ~(1 << 7);
  }
}

A keyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md => keyboards/bananasplit/keymaps/jockyxu1122_iso/readme.md +61 -0
@@ 0,0 1,61 @@
Yida's keymap for BananaSplit
===

Hightlight: split backspace, ISO Enter, split space, arrows on bottom right, and toggable capslock backlight.

Note that "Previous track" and "next track" might only work with Windows.

Default layer:
```
  -------------------------------------------------------------
  |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | ` |Del|
  -------------------------------------------------------------
  | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Ent |
  --------------------------------------------------------    -
  | Caps | A | S | D | F | G | H | J | K | L | ; | ' | \ |    |
  -------------------------------------------------------------
  | Shift  | Z | X | C | V | B | N | M | , | . | Shift| Up| / |
  -------------------------------------------------------------
  |Ctrl| GUI| Alt|  Space   |MoL1| Backspc| Hm|End| <-|Dwn| ->|
  -------------------------------------------------------------
  Hm: Home
  MoL1: Mo(L1)
```

Layer_1:
```
  -------------------------------------------------------------
  |   | F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|   |Ins|
  -------------------------------------------------------------
  |     |   |   | @ |   |   |   |   |   |   |   |   |   |     |
  --------------------------------------------------------    -
  |      |   |   |   |   |   |   |   |   |   |   |   |   |    |
  -------------------------------------------------------------
  |        |   |   |Cal|   |www|   |Mut|   |   |      |VUp|   |
  -------------------------------------------------------------
  |    |    |    |  Pause   |    |        |PUp|PDn|PTk|VDn|NTk|
  -------------------------------------------------------------
  @: Email
  Cal: Calculator
  Ins: Insert
  Mut: Mute
  NTk: Next track
  PDn: Page down
  PTk: Previous track
  PUp: Page up
  VDn: Volume down
  VUp: Volume up
  www: Browser home page
```

Compile and flash:

`cd` to `/qmk_firmware` folder, then
```
make bananasplit:jockyxu1122_iso
```

A .hex file will be generated under `/qmk_firmware` folder.


To flash, use QMK Toolbox.