Create ajp10304 userspace and ortho_4x12 layout. (#9304)
This commit is contained in:
		
							parent
							
								
									bae3e03e5f
								
							
						
					
					
						commit
						c5e255a417
					
				
					 16 changed files with 741 additions and 802 deletions
				
			
		
							
								
								
									
										154
									
								
								users/ajp10304/ajp10304.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										154
									
								
								users/ajp10304/ajp10304.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,154 @@
 | 
			
		|||
#include "ajp10304.h"
 | 
			
		||||
 | 
			
		||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
 | 
			
		||||
 | 
			
		||||
  switch (keycode) {
 | 
			
		||||
    case QWERTY:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        set_single_persistent_default_layer(_QWERTY);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
    case LOWER:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_LOWER);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_LOWER);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
    case RAISE:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_RAISE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_RAISE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
    case MLWR:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_LOWER);
 | 
			
		||||
        layer_on(_MLWR);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_LOWER);
 | 
			
		||||
        layer_off(_MLWR);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
    case MRSE:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_RAISE);
 | 
			
		||||
        layer_on(_MRSE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_RAISE);
 | 
			
		||||
        layer_off(_MRSE);
 | 
			
		||||
        update_tri_layer(_LOWER, _RAISE, _ADJUST);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
    case MFNC:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_FUNC);
 | 
			
		||||
        layer_on(_MFNC);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_FUNC);
 | 
			
		||||
        layer_off(_MFNC);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
    case MFNC2:
 | 
			
		||||
      if (record->event.pressed) {
 | 
			
		||||
        layer_on(_FUNC2);
 | 
			
		||||
        layer_on(_MFNC2);
 | 
			
		||||
      } else {
 | 
			
		||||
        layer_off(_FUNC2);
 | 
			
		||||
        layer_off(_MFNC2);
 | 
			
		||||
      }
 | 
			
		||||
      return false;
 | 
			
		||||
    case M_CUSTOM:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING("Custom text here");
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_WORD_SEL:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            register_mods(MOD_LCTL);
 | 
			
		||||
            tap_code(KC_RGHT);
 | 
			
		||||
            tap_code16(S(KC_LEFT));
 | 
			
		||||
            unregister_mods(MOD_LCTL);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_WORD_SEL_MAC:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            register_mods(MOD_LALT);
 | 
			
		||||
            tap_code(KC_RGHT);
 | 
			
		||||
            tap_code16(S(KC_LEFT));
 | 
			
		||||
            unregister_mods(MOD_LALT);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_LINE_SEL:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            tap_code(KC_HOME);
 | 
			
		||||
            tap_code16(S(KC_END));
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_LINE_SEL_MAC:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            tap_code16(C(KC_A));
 | 
			
		||||
            tap_code16(C(S(KC_E)));
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_LINE_DEL:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            tap_code(KC_HOME);
 | 
			
		||||
            tap_code16(S(KC_END));
 | 
			
		||||
            tap_code(KC_BSPC);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_LINE_DEL_MAC:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            tap_code16(C(KC_A));
 | 
			
		||||
            tap_code16(C(S(KC_E)));
 | 
			
		||||
            tap_code(KC_BSPC);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_DUP:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            tap_code16(C(KC_C));
 | 
			
		||||
            tap_code(KC_RGHT);
 | 
			
		||||
            tap_code16(C(KC_V));
 | 
			
		||||
         }
 | 
			
		||||
         break;
 | 
			
		||||
    case M_DUP_MAC:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            tap_code16(G(KC_C));
 | 
			
		||||
            tap_code(KC_RGHT);
 | 
			
		||||
            tap_code16(G(KC_V));
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_JOIN:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            tap_code(KC_END);
 | 
			
		||||
            tap_code(KC_DEL);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_JOIN_MAC:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            tap_code16(C(KC_E));
 | 
			
		||||
            tap_code(KC_DEL);
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_MODE:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING("PC");
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
    case M_MODE_MAC:
 | 
			
		||||
        if (record->event.pressed) {
 | 
			
		||||
            SEND_STRING("OSX");
 | 
			
		||||
        }
 | 
			
		||||
        break;
 | 
			
		||||
  }
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										45
									
								
								users/ajp10304/ajp10304.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								users/ajp10304/ajp10304.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
#include QMK_KEYBOARD_H
 | 
			
		||||
 | 
			
		||||
enum ajp10304_layers {
 | 
			
		||||
  _QWERTY,
 | 
			
		||||
  _MAC,
 | 
			
		||||
  _LOWER,
 | 
			
		||||
  _MLWR,
 | 
			
		||||
  _RAISE,
 | 
			
		||||
  _MRSE,
 | 
			
		||||
  _FUNC,
 | 
			
		||||
  _MFNC,
 | 
			
		||||
  _FUNC2,
 | 
			
		||||
  _MFNC2,
 | 
			
		||||
  _ADJUST,
 | 
			
		||||
  _MOUSE,
 | 
			
		||||
  _NUMPAD
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum ajp10304_keycodes {
 | 
			
		||||
  QWERTY = SAFE_RANGE,
 | 
			
		||||
  MAC,
 | 
			
		||||
  FUNC,
 | 
			
		||||
  MFNC,
 | 
			
		||||
  FUNC2,
 | 
			
		||||
  MFNC2,
 | 
			
		||||
  LOWER,
 | 
			
		||||
  MLWR,
 | 
			
		||||
  RAISE,
 | 
			
		||||
  MRSE,
 | 
			
		||||
  MOUSE,
 | 
			
		||||
  NUMPAD,
 | 
			
		||||
  M_CUSTOM,
 | 
			
		||||
  M_WORD_SEL,
 | 
			
		||||
  M_WORD_SEL_MAC,
 | 
			
		||||
  M_LINE_SEL,
 | 
			
		||||
  M_LINE_SEL_MAC,
 | 
			
		||||
  M_LINE_DEL,
 | 
			
		||||
  M_LINE_DEL_MAC,
 | 
			
		||||
  M_DUP,
 | 
			
		||||
  M_DUP_MAC,
 | 
			
		||||
  M_JOIN,
 | 
			
		||||
  M_JOIN_MAC,
 | 
			
		||||
  M_MODE,
 | 
			
		||||
  M_MODE_MAC
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										132
									
								
								users/ajp10304/readme.md
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										132
									
								
								users/ajp10304/readme.md
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,132 @@
 | 
			
		|||
Copyright 2020 Alan Pocklington <ajp10304@gmail.com> @ajp10304
 | 
			
		||||
 | 
			
		||||
This program is free software: you can redistribute it and/or modify
 | 
			
		||||
it under the terms of the GNU General Public License as published by
 | 
			
		||||
the Free Software Foundation, either version 2 of the License, or
 | 
			
		||||
(at your option) any later version.
 | 
			
		||||
 | 
			
		||||
This program is distributed in the hope that it will be useful,
 | 
			
		||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
You should have received a copy of the GNU General Public License
 | 
			
		||||
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# AJP10304 Custom 40% Layout
 | 
			
		||||
# For the Planck, Shark, JJ40 and Atreus50
 | 
			
		||||
 | 
			
		||||
**Note:** In the tables below where there are two characters on a key,
 | 
			
		||||
the second is the output when shift is applied.
 | 
			
		||||
 | 
			
		||||
**Note:** The below tables assume a UK layout.
 | 
			
		||||
 | 
			
		||||
#### Flashing
 | 
			
		||||
Refer to the README.md of the keyboard you want to flash.
 | 
			
		||||
 | 
			
		||||
##### Main Qwerty Layer
 | 
			
		||||
 | 
			
		||||
* Tab: when held, operates as shift.
 | 
			
		||||
* Enter: when held, operates as shift.
 | 
			
		||||
* MENU: perform right-click
 | 
			
		||||
 | 
			
		||||
|      |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
| ---- |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| ----:|
 | 
			
		||||
| Esc  |   Q  |   W  |   E  |   R  |   T  |   Y  |   U  |   I  |   O  |   P  | Bksp |
 | 
			
		||||
| Tab  |   A  |   S  |   D  |   F  |   G  |   H  |   J  |   K  |   L  |  ;:  | Enter|
 | 
			
		||||
| Shft |   Z  |   X  |   C  |   V  |   B  |   N  |   M  |  ,<  |  .>  |  /?  | Shft |
 | 
			
		||||
| Fn   | Ctrl | Alt  | GUI  |Lower | Bksp |Space |Raise | Shift| MENU | Ctrl | Fn2  |
 | 
			
		||||
 | 
			
		||||
##### Function Layer
 | 
			
		||||
Activated when `fn` held in the above `qwerty` layer.
 | 
			
		||||
 | 
			
		||||
|       |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
 | 
			
		||||
|  F1   |  F2  |  F3  |  F4  |  F5  |  F6  |  F7  |  F8  |  F9  |  F10 |  F11 |  F12 |
 | 
			
		||||
|  1!   |  2"  |  3£  |  4$  |  5%  |  6^  |  7&  |  8*  |  9(  |  0)  |  ~   |INSERT|
 | 
			
		||||
| Shift |  \|  |  `¬  |  #~  |   *  |  -_  |  =+  |  \|  |  [{  |  ]}  |  '@  |Shift |
 | 
			
		||||
| Fn    | Ctrl | Alt  | GUI  |Lower | Bksp |Space |Mouse | MENU | Alt  | Ctrl | Fn2  |
 | 
			
		||||
 | 
			
		||||
##### Lower Layer
 | 
			
		||||
Activated when `Lower` is held in the above `qwerty` layer.
 | 
			
		||||
 | 
			
		||||
* Numbers are along the top row, their shifted counterparts are on row 2.
 | 
			
		||||
* WrdBks: `backspace` with `ctrl` applied. I.e. delete a word.
 | 
			
		||||
* WrdDel: `delete` with `ctrl` applied. I.e. forward delete a word.
 | 
			
		||||
 | 
			
		||||
|       |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
 | 
			
		||||
|  1!   |  2"  |  3£  |  4$  |  5%  |  6^  |  7&  |  8*  |  9(  |  0)  | DEL  | Bksp |
 | 
			
		||||
|  !    |   "  |   £  |   $  |   %  |   ^  |   &  |   *  |   (  |   )  |WrdDel|WrdBks|
 | 
			
		||||
| Shift |  \|  |  `¬  |  #~  |  '@  |  -_  |  =+  |  #~  |  [{  |  ]}  |  '@  |Shift |
 | 
			
		||||
|       |      |      |      |Lower | Del  |Space |      | Next | Vol- | Vol+ | Play |
 | 
			
		||||
 | 
			
		||||
##### Raise Layer
 | 
			
		||||
Activated when `Raise` is held in the above `qwerty` layer.
 | 
			
		||||
 | 
			
		||||
* Preferred layer for typing brackets.
 | 
			
		||||
* Allows for cursor navigation to be used solely with the right hand.
 | 
			
		||||
* WRDSEL: Select the word where the cursor is.
 | 
			
		||||
* |< and >|: Apply `ctrl` to `left` and `right` respectively for word jumping.
 | 
			
		||||
 | 
			
		||||
|       |      |      |      |      |      |       |      |      |      |       |      |
 | 
			
		||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---: | :---:| :---:| :---:| :---: | :---:|
 | 
			
		||||
|   `   |      |WRDSEL|  [   |   ]  |      |       | PGUP | HOME |PGDOWN|       |PRNTSC|
 | 
			
		||||
|   `   |      |      |  (   |   )  |      |       | HOME |  UP  | END  |       |ZOOM +|
 | 
			
		||||
|       |      |      |  {   |   }  |      ||<| LEFT | DOWN |RIGHT |>||ZOOM -|
 | 
			
		||||
| Mouse |      |      |      |      |  Alt | Enter |Raise |      |      |       |      |
 | 
			
		||||
 | 
			
		||||
##### Lower + Raise
 | 
			
		||||
Activated when `Lower` and `Raise` are held together in the above `qwerty` layer.
 | 
			
		||||
 | 
			
		||||
* Audio controls in the same position as cursor keys from the `Raise` layer.
 | 
			
		||||
* ????: Runs a macro for outputting a text string.  Do not use this store passwords.
 | 
			
		||||
* Reset: Enter bootloader for flashing firmware to the keyboard.
 | 
			
		||||
* CAPS: Toggle caps lock.
 | 
			
		||||
* Macro functions: Allows recording of macros.  To start recording the macro, press either REC1 or REC2. 
 | 
			
		||||
To finish the recording, press STOP. To replay the macro, press either PLAY1 or PLAY2.
 | 
			
		||||
* MAC: Toggle MAC OS extensions to layers. This allows MLWR to be enabled with LOWER,
 | 
			
		||||
MRSE with RAISE, MFNC with FUNC and MFNC2 with FUNC2 respectively.
 | 
			
		||||
 | 
			
		||||
|       |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
| :---: |:----:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
 | 
			
		||||
| ????  | Reset|Qwerty|      |      | REC1 | REC2 |      |      |      |      |  Del |
 | 
			
		||||
| CAPS  |      |      |      |      | PLAY1|PLAY2 | Mute | Vol+ | Play |      |      |
 | 
			
		||||
| MAC   |      |      |      |      | STOP1|STOP2 | Prev | Vol- | Next |      |      |
 | 
			
		||||
|       |      |      |      |      |      |      |      | DYN  |      |      |      |
 | 
			
		||||
 | 
			
		||||
##### Function 2 Layer
 | 
			
		||||
Activated when `fn` held in the above `qwerty` layer.
 | 
			
		||||
* WRDSEL: Select the word where the cursor is.
 | 
			
		||||
* LNDEL: Delete the line where the cursor is.
 | 
			
		||||
* LNSEL: Select the line where the cursor is.
 | 
			
		||||
* DUP: Duplicate the selected text.
 | 
			
		||||
* LNJOIN: Join the line where the cursor is with the following line.
 | 
			
		||||
* MODE: Print either `PC` or `OSX` depending on what layer mode is active.
 | 
			
		||||
 | 
			
		||||
|       |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
 | 
			
		||||
|       |      |WRDSEL|      |      |      | LNDEL|      |      |      |      |      |
 | 
			
		||||
|       |      | LNSEL| DUP  |      |      |      |      |LNJOIN|      |      |      |
 | 
			
		||||
|       | UNDO | CUT  | COPY | PASTE|      |      |      |      |      |      | MODE |
 | 
			
		||||
|       |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
 | 
			
		||||
##### Mouse Layer
 | 
			
		||||
Activated when `fn` and `raise` held together.
 | 
			
		||||
 | 
			
		||||
|       |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
 | 
			
		||||
| ESC   |      |      |      |      |      |      |      | BTN3 |      |      |      |
 | 
			
		||||
| ACC0  | ACC1 | ACC2 |      |      |      |      | BTN1 |  UP  | BTN2 |      |      |
 | 
			
		||||
| ACC0  | ACC1 | ACC2 |      |      |      |      | LEFT | DOWN | RIGHT|      |      |
 | 
			
		||||
|       |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
 | 
			
		||||
##### Number Pad Layout
 | 
			
		||||
Activated when holding `Esc` key.
 | 
			
		||||
 | 
			
		||||
|       |      |      |      |      |      |      |      |      |      |      |      |
 | 
			
		||||
| :---: | :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:| :---:|
 | 
			
		||||
|       |      |      |      |      |      |NMLOCK|   7  |   8  |   9  |   /  |      |
 | 
			
		||||
|       |      |      |      |      |      |      |   4  |   5  |   6  |   *  |      |
 | 
			
		||||
|       |      |      |      |      |      |      |   1  |   2  |   3  |   +  |      |
 | 
			
		||||
|       |      |      |      |      |      |      |   0  |   .  |   ,  |   -  |      |
 | 
			
		||||
							
								
								
									
										1
									
								
								users/ajp10304/rules.mk
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								users/ajp10304/rules.mk
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
SRC += ajp10304.c
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue