~ruther/qmk_firmware

9ab786d1d8f07a252d109e4fcea92b929a7fb5cf — Ethan Madden 7 years ago ec9058f
Added amj40 keymap (#2754)

fixed shift area

keymap updates to try to make this thing usable

documentation tweaks

fix readme mismatch

clean up and finish docs
A keyboards/amj40/keymaps/jetpacktuxedo/keymap.c => keyboards/amj40/keymaps/jetpacktuxedo/keymap.c +43 -0
@@ 0,0 1,43 @@
#include "amj40.h"

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  // Default Layer
  [0] = KEYMAP( \
      KC_GESC,       KC_Q,    KC_W,   KC_E, KC_R, KC_T,    KC_Y, KC_U,    KC_I,    KC_O,   KC_P,   KC_BSPC,\
      LT(2, KC_TAB), KC_A,    KC_S,   KC_D, KC_F, KC_G,    KC_H, KC_J,    KC_K,    KC_L,   LT(2, KC_ENT),\
      KC_LSFT,       KC_Z,    KC_X,   KC_C, KC_V, KC_B,    KC_N, KC_M,    KC_COMM, KC_DOT, MT(MOD_RSFT, KC_SLSH),\
      KC_LCTL,       KC_LGUI, KC_LALT,      LT(1, KC_SPC), LT(1, KC_SPC), KC_RALT, MO(3),  KC_RCTL \
      ),

  // Number Layer
  [1] = KEYMAP( \
      KC_GRV,  KC_1,    KC_2,    KC_3,    KC_4,    KC_5,    KC_6,    KC_7,    KC_8,    KC_9,    KC_0,    KC_DEL, \
      KC_TRNS, KC_MINS, KC_EQL,  KC_SCLN, KC_QUOT, KC_TRNS, KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, KC_TRNS, \
      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, MT(MOD_RSFT, KC_BSLS), \
      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS\
      ),

  // Shifted Layer
  [2] = KEYMAP( \
      KC_TILD, KC_EXLM, KC_AT,   KC_HASH, KC_DLR,  KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,\
      KC_TRNS, KC_UNDS, KC_PLUS, KC_COLN, KC_DQUO, KC_TRNS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,  KC_TRNS, \
      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCBR, KC_RCBR, KC_PIPE, \
      KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS\
      ),

  // Fkey Layer
  [3] = KEYMAP( \
      KC_TRNS, KC_F1,   KC_F2,   KC_F3,   KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10, RESET,\
      KC_TRNS, KC_F11,  KC_F12,  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, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, \
      KC_TRNS, TG(4),   KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS\
      ),

  // Gaming Layer
  [4] = KEYMAP( \
      KC_ESC,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_BTN1, KC_MS_U, KC_BTN2, KC_TRNS, KC_TRNS,\
      KC_TAB,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_D, KC_MS_L, KC_MS_D, KC_MS_R, 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, KC_TRNS, KC_TRNS, KC_SPC,  KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS\
      ),
};

A keyboards/amj40/keymaps/jetpacktuxedo/readme.md => keyboards/amj40/keymaps/jetpacktuxedo/readme.md +55 -0
@@ 0,0 1,55 @@
Jetpacktuxedo's AMJ40 layout
=====================

This is based heavily on my minivan layout, with most difference stemming from the different widths between the minivan and the AMJ40. ![Image of my specific layout](https://i.imgur.com/B9XraJY.jpg)

## Base Layer (0)

The base layer is pretty simple, straight qwerty layout where available. Both spacebars go to layer 1 when held. `tab` is `tab` when pressed and `fn2` when held, `enter` is the same. `GESC` is `esc` when used alone, but `~` when shifted. `/` is `/` when tapped but `rshift` when held.
```
|GESC| Q  | W  | E  | R  | T  | Y  | U  | I  | O  | P  |BSPC|
| TAB | A  | S  | D  | F  | G  | H  | J  | K  | L  | ENTER  |
|LSHIFT | Z  | X  | C  | V  | B  | N  | M  | ,  | .  |  /   |
|LCTRL|LWIN|LALT |  SPACE   |    SPACE    |RALT |FN 3|RCTRL |
```

## Number Layer (1)

Numbers are set up just like on my minivan layout, but symbols are a bit different because the AMJ40 is one key narrower than the minivan and also lacks dedicated arrows. Decided to go with `hjkl` arrows, which takes some getting used to. `;` is on a layer now because of the narrowness I mentioned before, and it (along with `-`, `=`, and `'`) moves to the right hand to leave room for the `hjkl` arrows. `delete` on `backspace`, `[` and `]` on `<` and `>`, and `\` on `/` are all stolen straight from my minivan layout.
```
| `  | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 0  |DEL |
|     | -  | =  | ;  | '  |    | ←  | ↓  | ↑  | →  |        |
|       |    |    |    |    |    |    |    | [  | ]  |  \   |
|     |    |     |          |             |     |    |      |
```

## Shifted Layer (2)

I don't want to be using two key combos constantly, so I also added this symbol layer that is basically shift+numeric layer. Also has nav keys on top of where arrows sit on the previous layer
```
| ~  | !  | @  | #  | $  | %  | ^  | &  | *  | (  | )  |DEL |
|     | _  | +  | :  | "  |    |HOME|PGDN|PGUP|END |        |
|       |    |    |    |    |    |    |    | {  | }  |  |   |
|     |    |     |          |             |     |    |      |
```

## Fkey Layer (3)

Honestly, I use this more for jumping to my gaming layer and for reset than I use it for Fkeys. Lol. Hitting the left windows key while in this layer locks the gaming layer listed below
```
|    | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 |F10 |RSET|
|     |F11 |F12 |    |    |    |    |    |    |    |        |
|       |    |    |    |    |    |    |    |    |    |      |
|     |FN 4|     |          |             |     |    |      |
```

## "Gaming" Layer (4)

Based on the "gaming" layer on my minivan that I mostly just use for mouse keys. To toggle this back off you hit the right windows key (to go to layer 3) and then the left windows key again.
```
|ESC |    |    |    |    |    |MWUP|MLCK|M UP|MRCK|    |    |
| TAB |    |    |    |    |    |MWDN|M L |M DN|M R |        |
|       |    |    |    |    |    |    |    |    |    |      |
|     |    |     |  SPACE   |             |     |    |      |
```


A keyboards/amj40/keymaps/jetpacktuxedo/rules.mk => keyboards/amj40/keymaps/jetpacktuxedo/rules.mk +27 -0
@@ 0,0 1,27 @@
# Build Options
#   change to "no" to disable the options, or define them in the Makefile in
#   the appropriate keymap folder that will get included automatically
#
BOOTMAGIC_ENABLE = no  # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE  = yes # Mouse keys(+4700)
EXTRAKEY_ENABLE  = yes # Audio control and System control(+450)
CONSOLE_ENABLE   = no  # Console for debug(+400)
COMMAND_ENABLE   = no  # Commands for debug and configuration
NKRO_ENABLE      = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
MIDI_ENABLE      = no  # MIDI controls
AUDIO_ENABLE     = no  # Audio output on port C6
UNICODE_ENABLE   = no  # Unicode
BLUETOOTH_ENABLE = no  # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE  = no  # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.

# Do not enable SLEEP_LED_ENABLE. It uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend

#define ws2812_PORTREG  PORTD
#define ws2812_DDRREG   DDRD


ifndef QUANTUM_DIR
	include ../../../../Makefile
endif