forked from Github/qmk_firmware
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
28fbf84cc5 | ||
![]() |
8b6cdd1788 | ||
![]() |
d46d304395 | ||
![]() |
b11c332477 | ||
![]() |
200ee8e797 | ||
![]() |
7c63c0a950 | ||
![]() |
a5a46f3d36 | ||
![]() |
fb900e2ad1 | ||
![]() |
930e1dfc4c | ||
![]() |
cce19d265d | ||
![]() |
a003be1e9c |
@@ -68,7 +68,7 @@ These allow you to combine a modifier with a keycode. When pressed, the keydown
|
||||
|`LGUI(kc)`|`LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|
||||
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|
||||
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|
||||
|`RALT(kc)`| |Hold Right Alt and press `kc` |
|
||||
|`RALT(kc)`|`ALGR(kc)` |Hold Right Alt and press `kc` |
|
||||
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`|Hold Right GUI and press `kc` |
|
||||
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
|
||||
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|
||||
@@ -92,7 +92,7 @@ The modifiers this keycode and `OSM()` accept are prefixed with `MOD_`, not `KC_
|
||||
|`MOD_LGUI`|Left GUI (Windows/Command/Meta key) |
|
||||
|`MOD_RCTL`|Right Control |
|
||||
|`MOD_RSFT`|Right Shift |
|
||||
|`MOD_RALT`|Right Alt |
|
||||
|`MOD_RALT`|Right Alt (AltGr) |
|
||||
|`MOD_RGUI`|Right GUI (Windows/Command/Meta key) |
|
||||
|`MOD_HYPR`|Hyper (Left Control, Shift, Alt and GUI)|
|
||||
|`MOD_MEH` |Meh (Left Control, Shift, and Alt) |
|
||||
|
@@ -12,24 +12,28 @@ Here is an example `keymap.c` for a two-key keyboard:
|
||||
|
||||
```c
|
||||
enum custom_keycodes {
|
||||
MY_CUSTOM_MACRO = SAFE_RANGE
|
||||
QMKBEST = SAFE_RANGE,
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch(keycode) {
|
||||
case MY_CUSTOM_MACRO:
|
||||
SEND_STRING("QMK is the best thing ever!"); // this is our macro!
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
switch (keycode) {
|
||||
case QMKBEST:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING("QMK is the best thing ever!");
|
||||
} else {
|
||||
// when keycode QMKBEST is released
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = {
|
||||
{MY_CUSTOM_MACRO, KC_ESC}
|
||||
}
|
||||
[0] = {
|
||||
{QMKBEST, KC_ESC}
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
@@ -37,7 +41,7 @@ What happens here is this:
|
||||
We first define a new custom keycode in the range not occupied by any other keycodes.
|
||||
Then we use the `process_record_user` function, which is called whenever a key is pressed or released, to check if our custom keycode has been activated.
|
||||
If yes, we send the string `"QMK is the best thing ever!"` to the computer via the `SEND_STRING` macro (this is a C preprocessor macro, not to be confused with QMK macros).
|
||||
We return `false` to indicate to the caller that the key press we just processed need not be processed any further.
|
||||
We return `true` to indicate to the caller that the key press we just processed should continue to be processed as normal (as we didn't replace or alter the functionality).
|
||||
Finally, we define the keymap so that the first button activates our macro and the second button is just an escape button.
|
||||
|
||||
You might want to add more than one macro.
|
||||
@@ -45,28 +49,42 @@ You can do that by adding another keycode and adding another case to the switch
|
||||
|
||||
```c
|
||||
enum custom_keycodes {
|
||||
MY_CUSTOM_MACRO = SAFE_RANGE,
|
||||
MY_OTHER_MACRO
|
||||
QMKBEST = SAFE_RANGE,
|
||||
QMKURL,
|
||||
MY_OTHER_MACRO
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
switch(keycode) {
|
||||
case MY_CUSTOM_MACRO:
|
||||
SEND_STRING("QMK is the best thing ever!");
|
||||
return false;
|
||||
case MY_OTHER_MACRO:
|
||||
SEND_STRING(SS_LCTRL("ac")); // selects all and copies
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
switch (keycode) {
|
||||
case QMKBEST:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKBEST is pressed
|
||||
SEND_STRING("QMK is the best thing ever!");
|
||||
} else {
|
||||
// when keycode QMKBEST is released
|
||||
}
|
||||
break;
|
||||
case QMKURL:
|
||||
if (record->event.pressed) {
|
||||
// when keycode QMKURL is pressed
|
||||
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
|
||||
} else {
|
||||
// when keycode QMKURL is released
|
||||
}
|
||||
break;
|
||||
case MY_OTHER_MACRO:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING(SS_LCTRL("ac")); // selects all and copies
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = {
|
||||
{MY_CUSTOM_MACRO, MY_OTHER_MACRO}
|
||||
}
|
||||
[0] = {
|
||||
{MY_CUSTOM_MACRO, MY_OTHER_MACRO}
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
@@ -136,21 +154,21 @@ By default QMK assumes you don't have any macros. To define your macros you crea
|
||||
|
||||
```c
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
if (record->event.pressed) {
|
||||
switch(id) {
|
||||
case 0:
|
||||
return MACRO(D(LSFT), T(H), U(LSFT), T(I), D(LSFT), T(1), U(LSFT), END);
|
||||
case 1:
|
||||
return MACRO(D(LSFT), T(B), U(LSFT), T(Y), T(E), D(LSFT), T(1), U(LSFT), END);
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
if (record->event.pressed) {
|
||||
switch(id) {
|
||||
case 0:
|
||||
return MACRO(D(LSFT), T(H), U(LSFT), T(I), D(LSFT), T(1), U(LSFT), END);
|
||||
case 1:
|
||||
return MACRO(D(LSFT), T(B), U(LSFT), T(Y), T(E), D(LSFT), T(1), U(LSFT), END);
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
```
|
||||
|
||||
This defines two macros which will be run when the key they are assigned to is pressed. If instead you'd like them to run when the key is released you can change the if statement:
|
||||
|
||||
if (!record->event.pressed) {
|
||||
if (!record->event.pressed) {
|
||||
|
||||
### Macro Commands
|
||||
|
||||
@@ -169,21 +187,21 @@ Use the `M()` function within your `KEYMAP()` to call a macro. For example, here
|
||||
|
||||
```c
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP(
|
||||
M(0), M(1)
|
||||
),
|
||||
[0] = KEYMAP(
|
||||
M(0), M(1)
|
||||
),
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
if (record->event.pressed) {
|
||||
switch(id) {
|
||||
case 0:
|
||||
return MACRO(D(LSFT), T(H), U(LSFT), T(I), D(LSFT), T(1), U(LSFT), END);
|
||||
case 1:
|
||||
return MACRO(D(LSFT), T(B), U(LSFT), T(Y), T(E), D(LSFT), T(1), U(LSFT), END);
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
if (record->event.pressed) {
|
||||
switch(id) {
|
||||
case 0:
|
||||
return MACRO(D(LSFT), T(H), U(LSFT), T(I), D(LSFT), T(1), U(LSFT), END);
|
||||
case 1:
|
||||
return MACRO(D(LSFT), T(B), U(LSFT), T(Y), T(E), D(LSFT), T(1), U(LSFT), END);
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
```
|
||||
|
||||
@@ -198,9 +216,9 @@ If you have a bunch of macros you want to refer to from your keymap while keepin
|
||||
#define M_BYE M(1)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP(
|
||||
M_HI, M_BYE
|
||||
),
|
||||
[0] = KEYMAP(
|
||||
M_HI, M_BYE
|
||||
),
|
||||
};
|
||||
```
|
||||
|
||||
@@ -213,11 +231,11 @@ There are some functions you may find useful in macro-writing. Keep in mind that
|
||||
This is a boolean value that can be tested to see if the switch is being pressed or released. An example of this is
|
||||
|
||||
```c
|
||||
if (record->event.pressed) {
|
||||
// on keydown
|
||||
} else {
|
||||
// on keyup
|
||||
}
|
||||
if (record->event.pressed) {
|
||||
// on keydown
|
||||
} else {
|
||||
// on keyup
|
||||
}
|
||||
```
|
||||
|
||||
### `register_code(<kc>);`
|
||||
@@ -250,16 +268,16 @@ This example defines a macro which sends `Ctrl-C` when pressed down, and `Ctrl-V
|
||||
|
||||
```c
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) {
|
||||
switch(id) {
|
||||
case 0: {
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LCTL), T(C), U(LCTL), END );
|
||||
} else {
|
||||
return MACRO( D(LCTL), T(V), U(LCTL), END );
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
switch(id) {
|
||||
case 0: {
|
||||
if (record->event.pressed) {
|
||||
return MACRO( D(LCTL), T(C), U(LCTL), END );
|
||||
} else {
|
||||
return MACRO( D(LCTL), T(V), U(LCTL), END );
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
```
|
||||
|
@@ -177,7 +177,7 @@ This is a reference only. Each group of keys links to the page documenting their
|
||||
|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
|
||||
|`KC_RCTRL` |`KC_RCTL` |Right Control |
|
||||
|`KC_RSHIFT` |`KC_RSFT` |Right Shift |
|
||||
|`KC_RALT` | |Right Alt |
|
||||
|`KC_RALT` |`KC_ALGR` |Right Alt (AltGr) |
|
||||
|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key) |
|
||||
|`KC_SYSTEM_POWER` |`KC_PWR` |System Power Down |
|
||||
|`KC_SYSTEM_SLEEP` |`KC_SLEP` |System Sleep |
|
||||
@@ -331,7 +331,7 @@ This is a reference only. Each group of keys links to the page documenting their
|
||||
|`LGUI(kc)`|`LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|
||||
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|
||||
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|
||||
|`RALT(kc)`| |Hold Right Alt and press `kc` |
|
||||
|`RALT(kc)`|`ALGR(kc)` |Hold Right Alt and press `kc` |
|
||||
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)`|Hold Right GUI and press `kc` |
|
||||
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc`|
|
||||
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|
||||
|
@@ -116,7 +116,7 @@ The basic set of keycodes are based on the [HID Keyboard/Keypad Usage Page (0x07
|
||||
|`KC_LGUI` |`KC_LCMD`, `KC_LWIN`|Left GUI (Windows/Command/Meta key) |
|
||||
|`KC_RCTRL` |`KC_RCTL` |Right Control |
|
||||
|`KC_RSHIFT`|`KC_RSFT` |Right Shift |
|
||||
|`KC_RALT` | |Right Alt |
|
||||
|`KC_RALT` |`KC_ALGR` |Right Alt (AltGr) |
|
||||
|`KC_RGUI` |`KC_RCMD`, `KC_RWIN`|Right GUI (Windows/Command/Meta key)|
|
||||
|
||||
## International
|
||||
|
196
keyboards/dichotomy/keymaps/alairock/keymap.c
Normal file
196
keyboards/dichotomy/keymaps/alairock/keymap.c
Normal file
@@ -0,0 +1,196 @@
|
||||
// this is the style you want to emulate.
|
||||
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
||||
// entirely and just use numbers.
|
||||
#define _QWERTY 0
|
||||
#define _LOWER 1
|
||||
#define _RAISE 2
|
||||
#define _MOUSE 8
|
||||
#define _ADJUST 16
|
||||
|
||||
|
||||
enum dichotomy_keycodes
|
||||
{
|
||||
QWERTY = SAFE_RANGE,
|
||||
LOWER,
|
||||
RAISE,
|
||||
ADJUST,
|
||||
MOUKEY,
|
||||
MS_BTN1,
|
||||
MS_BTN2,
|
||||
MS_BTN3
|
||||
};
|
||||
|
||||
#define RED_BRIGHTNESS 3
|
||||
#define GREEN_BRIGHTNESS 2
|
||||
#define BLUE_BRIGHTNESS 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
|
||||
[_QWERTY] = LAYOUT( /* Base layout, nearly qwerty but with modifications because it's not a full keyboard. Obviously. */
|
||||
KC_ESCAPE, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MOUKEY,
|
||||
KC_LCTL, KC_LALT, MOUKEY, KC_RGUI, KC_RALT, KC_RCTL,
|
||||
MS_BTN3, SFT_T(KC_ESCAPE), KC_LGUI, KC_BSPC, KC_SPC, RAISE, LOWER, MS_BTN3
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT( /* Shifted layout, small changes (because angle brackets have been moved to thumb cluster buttons) */
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
_______, _______, KC_VOLD, KC_VOLU, KC_MPLY, KC_MFFD, KC_MUTE, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
|
||||
_______, _______, _______, _______, _______, KC_MRWD, _______, _______, _______, KC_BSLS, KC_QUOT, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_LABK, _______, _______, KC_RABK, _______, _______
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT( /* Number layout, basically the main function layer */
|
||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, _______,
|
||||
_______, KC_TILD, KC_GRV, KC_F13, KC_F14, KC_F15, KC_F16, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, RAISE, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT( /* Shifted number/function layout, for per-key control. Only active when shift is held, and number is toggled or held */
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_MOUSE] = LAYOUT( /* Mouse layer, including buttons for clicking. */
|
||||
_______, _______, _______, _______, _______, _______, KC_VOLU, KC_HOME, KC_PGUP, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, MS_BTN1, MS_BTN2, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, KC_VOLD, KC_END, KC_PGDN, _______, _______, _______,
|
||||
_______, _______, _______, _______, KC_UP, _______,
|
||||
_______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______
|
||||
)
|
||||
|
||||
}; // end keymaps block
|
||||
|
||||
static bool shift_held = false;
|
||||
static bool shift_suspended = false;
|
||||
report_mouse_t currentReport = {};
|
||||
|
||||
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;
|
||||
break;
|
||||
case LOWER:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_LOWER);
|
||||
grn_led_on();
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_LOWER);
|
||||
grn_led_off();
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
//SHIFT is handled as LSHIFT in the general case - 'toggle' shoudl activate caps, while the layer is only active when shift is held.
|
||||
case RAISE:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_RAISE);
|
||||
red_led_on();
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_RAISE);
|
||||
red_led_off();
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
case ADJUST:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_ADJUST);
|
||||
} else {
|
||||
layer_off(_ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
//MOUSE layer needs to be handled the same way as NUMKEY, but differently from shift
|
||||
case MOUKEY:
|
||||
if (record->event.pressed) {
|
||||
layer_on(_MOUSE);
|
||||
blu_led_on();
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
} else {
|
||||
layer_off(_MOUSE);
|
||||
blu_led_off();
|
||||
update_tri_layer(_LOWER, _RAISE, _ADJUST);
|
||||
}
|
||||
return false;
|
||||
break;
|
||||
|
||||
//mouse buttons, for 1-3, to update the mouse report:
|
||||
case MS_BTN1:
|
||||
currentReport = pointing_device_get_report();
|
||||
if (record->event.pressed) {
|
||||
if (shift_held && shift_suspended){
|
||||
register_code(KC_LSFT);
|
||||
shift_suspended = false;
|
||||
}
|
||||
//update mouse report here
|
||||
currentReport.buttons |= MOUSE_BTN1; //MOUSE_BTN1 is a const defined in report.h
|
||||
} else {
|
||||
//update mouse report here
|
||||
currentReport.buttons &= ~MOUSE_BTN1;
|
||||
}
|
||||
pointing_device_set_report(currentReport);
|
||||
return false;
|
||||
break;
|
||||
case MS_BTN2:
|
||||
currentReport = pointing_device_get_report();
|
||||
if (record->event.pressed) {
|
||||
if (shift_held && shift_suspended){
|
||||
register_code(KC_LSFT);
|
||||
shift_suspended = false;
|
||||
}
|
||||
//update mouse report here
|
||||
currentReport.buttons |= MOUSE_BTN2; //MOUSE_BTN2 is a const defined in report.h
|
||||
} else {
|
||||
//update mouse report here
|
||||
currentReport.buttons &= ~MOUSE_BTN2;
|
||||
}
|
||||
pointing_device_set_report(currentReport);
|
||||
return false;
|
||||
break;
|
||||
case MS_BTN3:
|
||||
currentReport = pointing_device_get_report();
|
||||
if (record->event.pressed) {
|
||||
if (shift_held && shift_suspended){
|
||||
register_code(KC_LSFT);
|
||||
shift_suspended = false;
|
||||
}
|
||||
//update mouse report here
|
||||
currentReport.buttons |= MOUSE_BTN3; //MOUSE_BTN3 is a const defined in report.h
|
||||
} else {
|
||||
//update mouse report here
|
||||
currentReport.buttons &= ~MOUSE_BTN3;
|
||||
}
|
||||
pointing_device_set_report(currentReport);
|
||||
return false;
|
||||
break;
|
||||
//Additionally, if NS_ keys are in use, then shift may be held (but is
|
||||
//disabled for the unshifted keycodes to be send. Check the bool and
|
||||
//register shift as necessary.
|
||||
// default:
|
||||
// if (shift_held){
|
||||
// register_code(KC_LSFT);
|
||||
// }
|
||||
// break;
|
||||
}
|
||||
return true;
|
||||
};
|
11
keyboards/dz60/keymaps/drewsky/Readme.md
Executable file
11
keyboards/dz60/keymaps/drewsky/Readme.md
Executable file
@@ -0,0 +1,11 @@
|
||||
# **DREWSKY'S DZ60 ANSI Layout**
|
||||

|
||||
|
||||
|
||||
Layer 1 is default configuration, for the exception of the Space cadet shifts. Layer 2 is for WASD arrows and Media, which I have included both PREV and NEXT for Windows and macOS. Layer 3 is for RGB underglow. Legends in picture follow Layers. Modifier one is momentary, and the RGB layer is TT (TAP_TOGGLE)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make dz60:drewsky
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
34
keyboards/dz60/keymaps/drewsky/keymap.c
Executable file
34
keyboards/dz60/keymaps/drewsky/keymap.c
Executable file
@@ -0,0 +1,34 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Helpful defines
|
||||
#define _L0 0
|
||||
#define _L1 1
|
||||
#define _L2 2
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_L0] = LAYOUT_60_ansi(
|
||||
KC_GESC, 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_BSPC,
|
||||
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,
|
||||
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,
|
||||
KC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, TT(2), KC_RALT, MO(1), KC_RCTL),
|
||||
|
||||
[_L1] = LAYOUT_60_ansi(
|
||||
KC_ESC, 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_DEL,
|
||||
KC_NO, KC_NO, KC_UP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGUP,
|
||||
KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_PGDN,
|
||||
KC_NO, KC_MRWD, KC_MFFD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_MSTP, KC_VOLD, KC_VOLU, KC_MPLY, KC__VOLDOWN, KC__VOLUP, KC_TRNS, KC_NO),
|
||||
|
||||
[_L2] = LAYOUT_60_ansi(
|
||||
KC_ESC, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, RGB_HUD, RGB_HUI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, RGB_SAD, RGB_SAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
|
||||
KC_NO, RGB_VAD, RGB_VAI, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_SPD, RGB_SPI, KC_NO,
|
||||
KC_NO, KC_NO, KC_NO, RGB_TOG, KC_TRNS, KC_NO, KC_NO, DEBUG)
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
33
keyboards/handwired/numpad20/info.json
Normal file
33
keyboards/handwired/numpad20/info.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"keyboard_name": "numpad20 handwired",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 4,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"K00", "x":0, "y":0},
|
||||
{"label":"K01", "x":1, "y":0},
|
||||
{"label":"K02", "x":2, "y":0},
|
||||
{"label":"K03", "x":3, "y":0},
|
||||
{"label":"K10", "x":0, "y":1},
|
||||
{"label":"K11", "x":1, "y":1},
|
||||
{"label":"K12", "x":2, "y":1},
|
||||
{"label":"K13", "x":3, "y":1},
|
||||
{"label":"K20", "x":0, "y":2},
|
||||
{"label":"K21", "x":1, "y":2},
|
||||
{"label":"K22", "x":2, "y":2},
|
||||
{"label":"K23", "x":3, "y":2},
|
||||
{"label":"K30", "x":0, "y":3},
|
||||
{"label":"K31", "x":1, "y":3},
|
||||
{"label":"K32", "x":2, "y":3},
|
||||
{"label":"K33", "x":3, "y":3},
|
||||
{"label":"K40", "x":0, "y":4},
|
||||
{"label":"K41", "x":1, "y":4},
|
||||
{"label":"K42", "x":2, "y":4},
|
||||
{"label":"K43", "x":3, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,16 +1,11 @@
|
||||
#include "numpad20.h"
|
||||
|
||||
#define KC_ KC_TRNS
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
LEFT,RGHT, UP ,DOWN, \
|
||||
P7 , P8 , P9 ,PLUS, \
|
||||
P4 , P5 , P6 ,MINS, \
|
||||
P1 , P2 , P3 , ENT, \
|
||||
P0 ,DOT ,RGHT, TAB \
|
||||
)
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
KC_LEFT, KC_RGHT, KC_UP, KC_DOWN, \
|
||||
KC_P7, KC_P8, KC_P9, KC_PLUS, \
|
||||
KC_P4, KC_P5, KC_P6, KC_MINS, \
|
||||
KC_P1, KC_P2, KC_P3, KC_ENT, \
|
||||
KC_P0, KC_DOT, KC_RGHT, KC_TAB \
|
||||
)
|
||||
};
|
||||
|
@@ -10,11 +10,11 @@
|
||||
K30, K31, K32, K33, \
|
||||
K40, K41, K42, K43 \
|
||||
) { \
|
||||
{ KC_##K00, KC_##K01, KC_##K02, KC_##K03 }, \
|
||||
{ KC_##K10, KC_##K11, KC_##K12, KC_##K13 }, \
|
||||
{ KC_##K20, KC_##K21, KC_##K22, KC_##K23 }, \
|
||||
{ KC_##K30, KC_##K31, KC_##K32, KC_##K33 }, \
|
||||
{ KC_##K40, KC_##K41, KC_##K42, KC_##K43 } \
|
||||
{ K00, K01, K02, K03 }, \
|
||||
{ K10, K11, K12, K13 }, \
|
||||
{ K20, K21, K22, K23 }, \
|
||||
{ K30, K31, K32, K33 }, \
|
||||
{ K40, K41, K42, K43 } \
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
53
keyboards/handwired/pilcrow/info.json
Normal file
53
keyboards/handwired/pilcrow/info.json
Normal file
@@ -0,0 +1,53 @@
|
||||
{
|
||||
"keyboard_name": "pilcrow",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 10,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"Q", "x":0, "y":0},
|
||||
{"label":"W", "x":1, "y":0},
|
||||
{"label":"E", "x":2, "y":0},
|
||||
{"label":"R", "x":3, "y":0},
|
||||
{"label":"T", "x":4, "y":0},
|
||||
{"label":"Y", "x":5, "y":0},
|
||||
{"label":"U", "x":6, "y":0},
|
||||
{"label":"I", "x":7, "y":0},
|
||||
{"label":"O", "x":8, "y":0},
|
||||
{"label":"P", "x":9, "y":0},
|
||||
{"label":"A", "x":0, "y":1},
|
||||
{"label":"S", "x":1, "y":1},
|
||||
{"label":"D", "x":2, "y":1},
|
||||
{"label":"F", "x":3, "y":1},
|
||||
{"label":"G", "x":4, "y":1},
|
||||
{"label":"H", "x":5, "y":1},
|
||||
{"label":"J", "x":6, "y":1},
|
||||
{"label":"K", "x":7, "y":1},
|
||||
{"label":"L", "x":8, "y":1},
|
||||
{"label":";", "x":9, "y":1},
|
||||
{"label":"Z", "x":0, "y":2},
|
||||
{"label":"X", "x":1, "y":2},
|
||||
{"label":"C", "x":2, "y":2},
|
||||
{"label":"V", "x":3, "y":2},
|
||||
{"label":"B", "x":4, "y":2},
|
||||
{"label":"N", "x":5, "y":2},
|
||||
{"label":"M", "x":6, "y":2},
|
||||
{"label":",", "x":7, "y":2},
|
||||
{"label":".", "x":8, "y":2},
|
||||
{"label":"/", "x":9, "y":2},
|
||||
{"label":"Ctrl", "x":0, "y":3},
|
||||
{"label":"Alt", "x":1, "y":3},
|
||||
{"label":"GUI", "x":2, "y":3},
|
||||
{"label":"MO(1)", "x":3, "y":3},
|
||||
{"label":"Space", "x":4, "y":3},
|
||||
{"label":"Shift / Space", "x":5, "y":3},
|
||||
{"label":"MO(2)", "x":6, "y":3},
|
||||
{"label":"MO(3)", "x":7, "y":3},
|
||||
{"label":"Delete", "x":8, "y":3},
|
||||
{"label":"Esc", "x":9, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,8 +1,3 @@
|
||||
#ifndef CONFIG_USER_H
|
||||
#define CONFIG_USER_H
|
||||
|
||||
#include "../../config.h"
|
||||
#pragma once
|
||||
|
||||
// place overrides here
|
||||
|
||||
#endif
|
@@ -1,76 +1,58 @@
|
||||
#include "pilcrow.h"
|
||||
#define _______ KC_TRNS
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
#define SFT_SPC MT(MOD_LSFT, KC_SPC)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = KEYMAP( \
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, MT(MOD_LSFT, KC_SPC), MO(2), MO(3), KC_DEL, KC_ESC \
|
||||
),
|
||||
[0] = LAYOUT( \
|
||||
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
|
||||
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, \
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
|
||||
KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, SFT_SPC, MO(2), MO(3), KC_DEL, KC_ESC \
|
||||
),
|
||||
|
||||
/* Colemak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[1] = KEYMAP( \
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, \
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_PIPE, S(KC_QUOT), \
|
||||
_______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_GRV \
|
||||
),
|
||||
[2] = KEYMAP( \
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \
|
||||
KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT,KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, \
|
||||
OSM(MOD_LSFT), KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_BSLS, KC_QUOT, \
|
||||
_______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_MNXT, KC_VOLD, KC_VOLU \
|
||||
),
|
||||
/* Colemak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[1] = LAYOUT( \
|
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, \
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, \
|
||||
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_PIPE, S(KC_QUOT), \
|
||||
_______, _______, _______, _______, KC_BSPC, KC_BSPC, _______, KC_MNXT, KC_VOLD, KC_GRV \
|
||||
),
|
||||
[2] = LAYOUT( \
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \
|
||||
KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, \
|
||||
OSM(MOD_LSFT), KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_BSLS, KC_QUOT, \
|
||||
_______, _______, _______, _______, KC_ENT, KC_ENT, _______, KC_MNXT, KC_VOLD, KC_VOLU \
|
||||
),
|
||||
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | Reset| | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[3] = KEYMAP( \
|
||||
RESET, KC_UP, _______, _______, _______, _______, _______, KC_MS_WH_DOWN, KC_MS_U, KC_MS_WH_UP, \
|
||||
KC_LEFT, KC_DOWN, KC_RIGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_MS_L,KC_MS_D, KC_MS_R, \
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, \
|
||||
_______, _______, _______, _______, KC_MS_BTN1, KC_MS_BTN2, _______, _______, _______, _______ \
|
||||
)
|
||||
/* Adjust (Lower + Raise)
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | | Reset| | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[3] = LAYOUT( \
|
||||
RESET, KC_UP, _______, _______, _______, _______, _______, KC_WH_D, KC_MS_U, KC_WH_U, \
|
||||
KC_LEFT, KC_DOWN, KC_RGHT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, KC_MS_L, KC_MS_D, KC_MS_R, \
|
||||
RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, \
|
||||
_______, _______, _______, _______, KC_BTN1, KC_BTN2, _______, _______, _______, _______ \
|
||||
)
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM fn_actions[] = {
|
||||
|
||||
};
|
||||
|
||||
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||
{
|
||||
// MACRODOWN only works in this function
|
||||
switch(id) {
|
||||
case 0:
|
||||
if (record->event.pressed) {
|
||||
register_code(KC_RSFT);
|
||||
} else {
|
||||
unregister_code(KC_RSFT);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return MACRO_NONE;
|
||||
};
|
||||
|
||||
|
||||
void matrix_init_user(void) {
|
||||
|
||||
}
|
||||
|
@@ -7,7 +7,7 @@
|
||||
// The following is an example using the Planck MIT layout
|
||||
// The first section contains all of the arguements
|
||||
// The second converts the arguments into a two-dimensional array
|
||||
#define KEYMAP( \
|
||||
#define LAYOUT( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
|
||||
|
@@ -1,28 +1,14 @@
|
||||
pilcrow keyboard firmware
|
||||
======================
|
||||
# pilcrow
|
||||
|
||||
## Quantum MK Firmware
|
||||

|
||||
|
||||
For the full Quantum feature list, see [the parent readme](/).
|
||||
A 4x10 ortholinear keyboard powered by a Teensy.
|
||||
|
||||
## Building
|
||||
Keyboard Maintainer: [The QMK Community](https://github.com/qmk)
|
||||
Hardware Supported: Teensy-powered pilcrow
|
||||
|
||||
Download or clone the whole firmware and navigate to the keyboards/pilcrow folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file.
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
Depending on which keymap you would like to use, you will have to compile slightly differently.
|
||||
make handwired/pilcrow:default
|
||||
|
||||
### Default
|
||||
|
||||
To build with the default keymap, simply run `make default`.
|
||||
|
||||
### Other Keymaps
|
||||
|
||||
Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create a folder with the name of your keymap in the keymaps folder, and see keymap documentation (you can find in top readme.md) and existant keymap files.
|
||||
|
||||
To build the firmware binary hex file with a keymap just do `make` with a keymap like this:
|
||||
|
||||
```
|
||||
$ make [default|jack|<name>]
|
||||
```
|
||||
|
||||
Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
74
keyboards/handwired/practice60/info.json
Normal file
74
keyboards/handwired/practice60/info.json
Normal file
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"keyboard_name": "Practice 60",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_60_ansi": {
|
||||
"layout": [
|
||||
{"label":"`", "x":0, "y":0},
|
||||
{"label":"1", "x":1, "y":0},
|
||||
{"label":"2", "x":2, "y":0},
|
||||
{"label":"3", "x":3, "y":0},
|
||||
{"label":"4", "x":4, "y":0},
|
||||
{"label":"5", "x":5, "y":0},
|
||||
{"label":"6", "x":6, "y":0},
|
||||
{"label":"7", "x":7, "y":0},
|
||||
{"label":"8", "x":8, "y":0},
|
||||
{"label":"9", "x":9, "y":0},
|
||||
{"label":"0", "x":10, "y":0},
|
||||
{"label":"-", "x":11, "y":0},
|
||||
{"label":"=", "x":12, "y":0},
|
||||
{"label":"Backspace", "x":13, "y":0, "w":2},
|
||||
{"label":"Tab", "x":0, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":1},
|
||||
{"label":"W", "x":2.5, "y":1},
|
||||
{"label":"E", "x":3.5, "y":1},
|
||||
{"label":"R", "x":4.5, "y":1},
|
||||
{"label":"T", "x":5.5, "y":1},
|
||||
{"label":"Y", "x":6.5, "y":1},
|
||||
{"label":"U", "x":7.5, "y":1},
|
||||
{"label":"I", "x":8.5, "y":1},
|
||||
{"label":"O", "x":9.5, "y":1},
|
||||
{"label":"P", "x":10.5, "y":1},
|
||||
{"label":"[", "x":11.5, "y":1},
|
||||
{"label":"]", "x":12.5, "y":1},
|
||||
{"label":"\\", "x":13.5, "y":1, "w":1.5},
|
||||
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":2},
|
||||
{"label":"S", "x":2.75, "y":2},
|
||||
{"label":"D", "x":3.75, "y":2},
|
||||
{"label":"F", "x":4.75, "y":2},
|
||||
{"label":"G", "x":5.75, "y":2},
|
||||
{"label":"H", "x":6.75, "y":2},
|
||||
{"label":"J", "x":7.75, "y":2},
|
||||
{"label":"K", "x":8.75, "y":2},
|
||||
{"label":"L", "x":9.75, "y":2},
|
||||
{"label":";", "x":10.75, "y":2},
|
||||
{"label":"'", "x":11.75, "y":2},
|
||||
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
|
||||
{"label":"Shift", "x":0, "y":3, "w":2.25},
|
||||
{"label":"Z", "x":2.25, "y":3},
|
||||
{"label":"X", "x":3.25, "y":3},
|
||||
{"label":"C", "x":4.25, "y":3},
|
||||
{"label":"V", "x":5.25, "y":3},
|
||||
{"label":"B", "x":6.25, "y":3},
|
||||
{"label":"N", "x":7.25, "y":3},
|
||||
{"label":"M", "x":8.25, "y":3},
|
||||
{"label":",", "x":9.25, "y":3},
|
||||
{"label":".", "x":10.25, "y":3},
|
||||
{"label":"/", "x":11.25, "y":3},
|
||||
{"label":"Shift", "x":12.25, "y":3, "w":2.75},
|
||||
{"label":"Ctrl", "x":0, "y":4, "w":1.25},
|
||||
{"label":"GUI", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":4, "w":1.25},
|
||||
{"label":"Space", "x":3.75, "y":4, "w":6.25},
|
||||
{"label":"Alt", "x":10, "y":4, "w":1.25},
|
||||
{"label":"GUI", "x":11.25, "y":4, "w":1.25},
|
||||
{"label":"Menu", "x":12.5, "y":4, "w":1.25},
|
||||
{"label":"Ctrl", "x":13.75, "y":4, "w":1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@@ -31,18 +31,18 @@ enum custom_keycodes {
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_60_ansi(
|
||||
KC_GESC, 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_BSPC, \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MT(MOD_LSFT, KC_Y), KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
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, \
|
||||
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_LCTL , KC_LGUI , KC_LALT , KC_SPC , KC_RALT , KC_RGUI , MO(_FN1) , KC_RCTL
|
||||
KC_GESC, 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_BSPC, \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, MT(MOD_LSFT, KC_Y), KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, \
|
||||
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, \
|
||||
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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
|
||||
),
|
||||
|
||||
[_FN1] = LAYOUT_60_ansi(
|
||||
KC_GESC, 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_BSPC, \
|
||||
RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,\
|
||||
BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
KC_GRV, _______, _______, _______, _______, _______, _______, _______
|
||||
RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
BL_INC, BL_DEC, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
|
||||
KC_GRV, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
@@ -3,16 +3,15 @@
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_60_ansi( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \
|
||||
K40, K41, K42, K43, K49, K4A, K4B, K4C \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \
|
||||
K40, K41, K42, K43, K49, K4A, K4B, K4C \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B }, \
|
||||
{ K40, K41, K42, K43, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C }, \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, KC_NO }, \
|
||||
{ K40, K41, K42, K43, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K49, K4A, K4B, K4C, KC_NO } \
|
||||
}
|
||||
|
||||
|
78
keyboards/handwired/pteron/info.json
Normal file
78
keyboards/handwired/pteron/info.json
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"keyboard_name": "pteron",
|
||||
"url": "",
|
||||
"maintainer": "FSund",
|
||||
"width": 17,
|
||||
"height": 5.95,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"K000", "x":0, "y":0.75},
|
||||
{"label":"K001", "x":1, "y":0.75},
|
||||
{"label":"K002", "x":2, "y":0.25},
|
||||
{"label":"K003", "x":3, "y":0},
|
||||
{"label":"K004", "x":4, "y":0.35},
|
||||
{"label":"K005", "x":5, "y":0.45},
|
||||
|
||||
{"label":"K006", "x":11, "y":0.45},
|
||||
{"label":"K007", "x":12, "y":0.35},
|
||||
{"label":"K008", "x":13, "y":0},
|
||||
{"label":"K009", "x":14, "y":0.25},
|
||||
{"label":"K010", "x":15, "y":0.75},
|
||||
{"label":"K011", "x":16, "y":0.75},
|
||||
|
||||
{"label":"K100", "x":0, "y":1.75},
|
||||
{"label":"K101", "x":1, "y":1.75},
|
||||
{"label":"K102", "x":2, "y":1.25},
|
||||
{"label":"K103", "x":3, "y":1},
|
||||
{"label":"K104", "x":4, "y":1.35},
|
||||
{"label":"K105", "x":5, "y":1.45},
|
||||
|
||||
{"label":"K106", "x":11, "y":1.45},
|
||||
{"label":"K107", "x":12, "y":1.35},
|
||||
{"label":"K108", "x":13, "y":1},
|
||||
{"label":"K109", "x":14, "y":1.25},
|
||||
{"label":"K110", "x":15, "y":1.75},
|
||||
{"label":"K111", "x":16, "y":1.75},
|
||||
|
||||
{"label":"K200", "x":0, "y":2.75},
|
||||
{"label":"K201", "x":1, "y":2.75},
|
||||
{"label":"K202", "x":2, "y":2.25},
|
||||
{"label":"K203", "x":3, "y":2},
|
||||
{"label":"K204", "x":4, "y":2.35},
|
||||
{"label":"K205", "x":5, "y":2.45},
|
||||
|
||||
{"label":"K206", "x":11, "y":2.45},
|
||||
{"label":"K207", "x":12, "y":2.35},
|
||||
{"label":"K208", "x":13, "y":2},
|
||||
{"label":"K209", "x":14, "y":2.25},
|
||||
{"label":"K210", "x":15, "y":2.75},
|
||||
{"label":"K211", "x":16, "y":2.75},
|
||||
|
||||
{"label":"K300", "x":0, "y":3.75},
|
||||
{"label":"K301", "x":1, "y":3.75},
|
||||
{"label":"K302", "x":2, "y":3.25},
|
||||
{"label":"K303", "x":3, "y":3},
|
||||
{"label":"K304", "x":4, "y":3.35},
|
||||
{"label":"K305", "x":5, "y":3.45},
|
||||
|
||||
{"label":"K306", "x":11, "y":3.45},
|
||||
{"label":"K307", "x":12, "y":3.35},
|
||||
{"label":"K308", "x":13, "y":3},
|
||||
{"label":"K309", "x":14, "y":3.25},
|
||||
{"label":"K310", "x":15, "y":3.75},
|
||||
{"label":"K311", "x":16, "y":3.75},
|
||||
|
||||
{"label":"K402", "x":4, "y":4.35},
|
||||
{"label":"K403", "x":5, "y":4.45},
|
||||
{"label":"K404", "x":6, "y":4.65},
|
||||
{"label":"K405", "x":7, "y":4.95},
|
||||
|
||||
{"label":"K406", "x":9, "y":4.95},
|
||||
{"label":"K407", "x":10, "y":4.65},
|
||||
{"label":"K408", "x":11, "y":4.45},
|
||||
{"label":"K409", "x":12, "y":4.35}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@@ -8,14 +8,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_LALT, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_BSPACE, KC_DELETE, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_INSERT, KC_HOME, KC_PGUP,\
|
||||
KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_DELETE, KC_END, KC_PGDOWN, KC_KP_PLUS,\
|
||||
KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_ENT, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_KP_1, KC_UP, KC_KP_3,\
|
||||
FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPACE, KC_SPACE, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, NO_ALGR, KC_LEFT, KC_DOWN, KC_RIGHT, KC_KP_ENTER),
|
||||
FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPACE, KC_SPACE, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, FR_ALGR, KC_LEFT, KC_DOWN, KC_RIGHT, KC_KP_ENTER),
|
||||
|
||||
[1] = KEYMAP(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TAB, KC_CAPS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_FN0, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,\
|
||||
KC_LALT, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_BSPACE, KC_DELETE, FR_MINS, FR_EGRV, FR_UNDS, FR_CCED, FR_AGRV, FR_RPRN, FR_EQL, KC_7, KC_8, KC_9,\
|
||||
KC_LGUI, FR_A, FR_Z, KC_E, KC_R, KC_T, KC_LSFT, KC_ENT, KC_Y, KC_U, KC_I, KC_O, KC_P, FR_CIRC, FR_DLR, KC_4, KC_5, KC_6, KC_KP_PLUS,\
|
||||
KC_LCTL, FR_Q, KC_S, KC_D, KC_F, KC_G, KC_ENT, KC_H, KC_J, KC_K, KC_L, FR_M, FR_UGRV, FR_ASTR, KC_1, KC_2, KC_3,\
|
||||
FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPACE, KC_SPACE, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, NO_ALGR, KC_LEFT, KC_DOWN, KC_RIGHT, KC_KP_ENTER),
|
||||
FR_LESS, FR_W, KC_X, KC_C, KC_V, KC_B, KC_SPACE, KC_SPACE, KC_N, FR_COMM, FR_SCLN, FR_COLN, FR_EXLM, FR_ALGR, KC_LEFT, KC_DOWN, KC_RIGHT, KC_KP_ENTER),
|
||||
};
|
||||
|
||||
|
||||
|
@@ -169,8 +169,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
/*
|
||||
* MIDI options
|
||||
@@ -222,4 +222,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define LCD_E_PIN 1 //< pin for Enable line
|
||||
#endif
|
||||
*/
|
||||
|
||||
|
@@ -55,7 +55,7 @@ BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
|
@@ -6,7 +6,7 @@
|
||||
"width": 12,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"KEYMAP": {
|
||||
"LAYOUT_preonic_1x2uC": {
|
||||
"key_count": 59,
|
||||
"layout": [
|
||||
{ "w": 1, "x": 0, "y": 0 },
|
||||
@@ -69,7 +69,7 @@
|
||||
{ "w": 1, "x": 10, "y": 4 },
|
||||
{ "w": 1, "x": 11, "y": 4 } ]
|
||||
},
|
||||
"LAYOUT_preonic_grid": {
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"key_count": 60,
|
||||
"layout": [
|
||||
{ "w": 1, "x": 0, "y": 0 },
|
||||
|
@@ -1,149 +1,26 @@
|
||||
#ifndef PREONIC_H
|
||||
#define PREONIC_H
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#ifdef __AVR__
|
||||
|
||||
#define LAYOUT_preonic_1x2uC( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_grid( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#define KEYMAP LAYOUT_preonic_1x2uC
|
||||
#define LAYOUT_ortho_5x12 LAYOUT_preonic_grid
|
||||
|
||||
#else
|
||||
|
||||
#define LAYOUT_preonic_1x2uC( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k46, k47, k48, k43, k44, k45 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_1x2uR( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k46, k47, k48, k43, k44, k45 } \
|
||||
}
|
||||
#define LAYOUT_preonic_1x2uL( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k46, k47, k48, k43, k44, k45 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_2x2u( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k46, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k46, k47, k48, k43, k44, k45 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_grid( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k46, k47, k48, k43, k44, k45 } \
|
||||
}
|
||||
|
||||
#define KEYMAP LAYOUT_preonic_grid
|
||||
#define LAYOUT_ortho_4x12 LAYOUT_preonic_grid
|
||||
#define KC_LAYOUT_ortho_4x12 KC_KEYMAP
|
||||
|
||||
|
||||
/**************************************************
|
||||
** Include headers specific to keyboard revision **
|
||||
***************************************************/
|
||||
#ifdef KEYBOARD_preonic_rev1
|
||||
#include "rev1.h"
|
||||
#endif
|
||||
|
||||
#ifdef KEYBOARD_preonic_rev2
|
||||
#include "rev2.h"
|
||||
#endif
|
||||
|
||||
#ifdef KEYBOARD_preonic_rev3
|
||||
#include "rev3.h"
|
||||
#endif
|
||||
|
||||
|
||||
/**************************************************
|
||||
** Layout macros aliases common to all revisions **
|
||||
|
||||
Name of Alias Matrix Name:
|
||||
----------------- ------------------- ****/
|
||||
#define LAYOUT_ortho_5x12 LAYOUT_preonic_grid
|
||||
|
@@ -13,4 +13,41 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include "preonic.h"
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "preonic.h"
|
||||
|
||||
#ifdef __AVR__ // Preonic revs. 1 & 2
|
||||
|
||||
#define LAYOUT_preonic_1x2uC( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_grid( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -14,4 +14,40 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "preonic.h"
|
||||
|
||||
#ifdef __AVR__ // Preonic revs. 1 & 2
|
||||
|
||||
#define LAYOUT_preonic_1x2uC( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k45, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_grid( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
330
keyboards/preonic/rev3/info.json
Normal file
330
keyboards/preonic/rev3/info.json
Normal file
@@ -0,0 +1,330 @@
|
||||
{
|
||||
"keyboard_name": "Preonic rev. 3",
|
||||
"keyboard_folder": "preonic/rev3",
|
||||
"url": "https://olkb.com/preonic",
|
||||
"maintainer": "jackhumbert",
|
||||
"width": 12,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_preonic_1x2uC": {
|
||||
"key_count": 59,
|
||||
"layout": [
|
||||
{"label":"k00", "x":0, "y":0},
|
||||
{"label":"k01", "x":1, "y":0},
|
||||
{"label":"k02", "x":2, "y":0},
|
||||
{"label":"k03", "x":3, "y":0},
|
||||
{"label":"k04", "x":4, "y":0},
|
||||
{"label":"k05", "x":5, "y":0},
|
||||
{"label":"k06", "x":6, "y":0},
|
||||
{"label":"k07", "x":7, "y":0},
|
||||
{"label":"k08", "x":8, "y":0},
|
||||
{"label":"k09", "x":9, "y":0},
|
||||
{"label":"k0a", "x":10, "y":0},
|
||||
{"label":"k0b", "x":11, "y":0},
|
||||
{"label":"k10", "x":0, "y":1},
|
||||
{"label":"k11", "x":1, "y":1},
|
||||
{"label":"k12", "x":2, "y":1},
|
||||
{"label":"k13", "x":3, "y":1},
|
||||
{"label":"k14", "x":4, "y":1},
|
||||
{"label":"k15", "x":5, "y":1},
|
||||
{"label":"k16", "x":6, "y":1},
|
||||
{"label":"k17", "x":7, "y":1},
|
||||
{"label":"k18", "x":8, "y":1},
|
||||
{"label":"k19", "x":9, "y":1},
|
||||
{"label":"k1a", "x":10, "y":1},
|
||||
{"label":"k1b", "x":11, "y":1},
|
||||
{"label":"k20", "x":0, "y":2},
|
||||
{"label":"k21", "x":1, "y":2},
|
||||
{"label":"k22", "x":2, "y":2},
|
||||
{"label":"k23", "x":3, "y":2},
|
||||
{"label":"k24", "x":4, "y":2},
|
||||
{"label":"k25", "x":5, "y":2},
|
||||
{"label":"k26", "x":6, "y":2},
|
||||
{"label":"k27", "x":7, "y":2},
|
||||
{"label":"k28", "x":8, "y":2},
|
||||
{"label":"k29", "x":9, "y":2},
|
||||
{"label":"k2a", "x":10, "y":2},
|
||||
{"label":"k2b", "x":11, "y":2},
|
||||
{"label":"k30", "x":0, "y":3},
|
||||
{"label":"k31", "x":1, "y":3},
|
||||
{"label":"k32", "x":2, "y":3},
|
||||
{"label":"k33", "x":3, "y":3},
|
||||
{"label":"k34", "x":4, "y":3},
|
||||
{"label":"k35", "x":5, "y":3},
|
||||
{"label":"k36", "x":6, "y":3},
|
||||
{"label":"k37", "x":7, "y":3},
|
||||
{"label":"k38", "x":8, "y":3},
|
||||
{"label":"k39", "x":9, "y":3},
|
||||
{"label":"k3a", "x":10, "y":3},
|
||||
{"label":"k3b", "x":11, "y":3},
|
||||
{"label":"k40", "x":0, "y":4},
|
||||
{"label":"k41", "x":1, "y":4},
|
||||
{"label":"k42", "x":2, "y":4},
|
||||
{"label":"k43", "x":3, "y":4},
|
||||
{"label":"k44", "x":4, "y":4},
|
||||
{"label":"k45", "x":5, "y":4, "w":2},
|
||||
{"label":"k47", "x":7, "y":4},
|
||||
{"label":"k48", "x":8, "y":4},
|
||||
{"label":"k49", "x":9, "y":4},
|
||||
{"label":"k4a", "x":10, "y":4},
|
||||
{"label":"k4b", "x":11, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_preonic_1x2uR": {
|
||||
"key_count": 59,
|
||||
"layout": [
|
||||
{"label":"k00", "x":0, "y":0},
|
||||
{"label":"k01", "x":1, "y":0},
|
||||
{"label":"k02", "x":2, "y":0},
|
||||
{"label":"k03", "x":3, "y":0},
|
||||
{"label":"k04", "x":4, "y":0},
|
||||
{"label":"k05", "x":5, "y":0},
|
||||
{"label":"k06", "x":6, "y":0},
|
||||
{"label":"k07", "x":7, "y":0},
|
||||
{"label":"k08", "x":8, "y":0},
|
||||
{"label":"k09", "x":9, "y":0},
|
||||
{"label":"k0a", "x":10, "y":0},
|
||||
{"label":"k0b", "x":11, "y":0},
|
||||
{"label":"k10", "x":0, "y":1},
|
||||
{"label":"k11", "x":1, "y":1},
|
||||
{"label":"k12", "x":2, "y":1},
|
||||
{"label":"k13", "x":3, "y":1},
|
||||
{"label":"k14", "x":4, "y":1},
|
||||
{"label":"k15", "x":5, "y":1},
|
||||
{"label":"k16", "x":6, "y":1},
|
||||
{"label":"k17", "x":7, "y":1},
|
||||
{"label":"k18", "x":8, "y":1},
|
||||
{"label":"k19", "x":9, "y":1},
|
||||
{"label":"k1a", "x":10, "y":1},
|
||||
{"label":"k1b", "x":11, "y":1},
|
||||
{"label":"k20", "x":0, "y":2},
|
||||
{"label":"k21", "x":1, "y":2},
|
||||
{"label":"k22", "x":2, "y":2},
|
||||
{"label":"k23", "x":3, "y":2},
|
||||
{"label":"k24", "x":4, "y":2},
|
||||
{"label":"k25", "x":5, "y":2},
|
||||
{"label":"k26", "x":6, "y":2},
|
||||
{"label":"k27", "x":7, "y":2},
|
||||
{"label":"k28", "x":8, "y":2},
|
||||
{"label":"k29", "x":9, "y":2},
|
||||
{"label":"k2a", "x":10, "y":2},
|
||||
{"label":"k2b", "x":11, "y":2},
|
||||
{"label":"k30", "x":0, "y":3},
|
||||
{"label":"k31", "x":1, "y":3},
|
||||
{"label":"k32", "x":2, "y":3},
|
||||
{"label":"k33", "x":3, "y":3},
|
||||
{"label":"k34", "x":4, "y":3},
|
||||
{"label":"k35", "x":5, "y":3},
|
||||
{"label":"k36", "x":6, "y":3},
|
||||
{"label":"k37", "x":7, "y":3},
|
||||
{"label":"k38", "x":8, "y":3},
|
||||
{"label":"k39", "x":9, "y":3},
|
||||
{"label":"k3a", "x":10, "y":3},
|
||||
{"label":"k3b", "x":11, "y":3},
|
||||
{"label":"k40", "x":0, "y":4},
|
||||
{"label":"k41", "x":1, "y":4},
|
||||
{"label":"k42", "x":2, "y":4},
|
||||
{"label":"k43", "x":3, "y":4},
|
||||
{"label":"k44", "x":4, "y":4},
|
||||
{"label":"k45", "x":5, "y":4},
|
||||
{"label":"k47", "x":6, "y":4, "w":2},
|
||||
{"label":"k48", "x":8, "y":4},
|
||||
{"label":"k49", "x":9, "y":4},
|
||||
{"label":"k4a", "x":10, "y":4},
|
||||
{"label":"k4b", "x":11, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_preonic_1x2uL": {
|
||||
"key_count": 59,
|
||||
"layout": [
|
||||
{"label":"k00", "x":0, "y":0},
|
||||
{"label":"k01", "x":1, "y":0},
|
||||
{"label":"k02", "x":2, "y":0},
|
||||
{"label":"k03", "x":3, "y":0},
|
||||
{"label":"k04", "x":4, "y":0},
|
||||
{"label":"k05", "x":5, "y":0},
|
||||
{"label":"k06", "x":6, "y":0},
|
||||
{"label":"k07", "x":7, "y":0},
|
||||
{"label":"k08", "x":8, "y":0},
|
||||
{"label":"k09", "x":9, "y":0},
|
||||
{"label":"k0a", "x":10, "y":0},
|
||||
{"label":"k0b", "x":11, "y":0},
|
||||
{"label":"k10", "x":0, "y":1},
|
||||
{"label":"k11", "x":1, "y":1},
|
||||
{"label":"k12", "x":2, "y":1},
|
||||
{"label":"k13", "x":3, "y":1},
|
||||
{"label":"k14", "x":4, "y":1},
|
||||
{"label":"k15", "x":5, "y":1},
|
||||
{"label":"k16", "x":6, "y":1},
|
||||
{"label":"k17", "x":7, "y":1},
|
||||
{"label":"k18", "x":8, "y":1},
|
||||
{"label":"k19", "x":9, "y":1},
|
||||
{"label":"k1a", "x":10, "y":1},
|
||||
{"label":"k1b", "x":11, "y":1},
|
||||
{"label":"k20", "x":0, "y":2},
|
||||
{"label":"k21", "x":1, "y":2},
|
||||
{"label":"k22", "x":2, "y":2},
|
||||
{"label":"k23", "x":3, "y":2},
|
||||
{"label":"k24", "x":4, "y":2},
|
||||
{"label":"k25", "x":5, "y":2},
|
||||
{"label":"k26", "x":6, "y":2},
|
||||
{"label":"k27", "x":7, "y":2},
|
||||
{"label":"k28", "x":8, "y":2},
|
||||
{"label":"k29", "x":9, "y":2},
|
||||
{"label":"k2a", "x":10, "y":2},
|
||||
{"label":"k2b", "x":11, "y":2},
|
||||
{"label":"k30", "x":0, "y":3},
|
||||
{"label":"k31", "x":1, "y":3},
|
||||
{"label":"k32", "x":2, "y":3},
|
||||
{"label":"k33", "x":3, "y":3},
|
||||
{"label":"k34", "x":4, "y":3},
|
||||
{"label":"k35", "x":5, "y":3},
|
||||
{"label":"k36", "x":6, "y":3},
|
||||
{"label":"k37", "x":7, "y":3},
|
||||
{"label":"k38", "x":8, "y":3},
|
||||
{"label":"k39", "x":9, "y":3},
|
||||
{"label":"k3a", "x":10, "y":3},
|
||||
{"label":"k3b", "x":11, "y":3},
|
||||
{"label":"k40", "x":0, "y":4},
|
||||
{"label":"k41", "x":1, "y":4},
|
||||
{"label":"k42", "x":2, "y":4},
|
||||
{"label":"k43", "x":3, "y":4},
|
||||
{"label":"k44", "x":4, "y":4, "w":2},
|
||||
{"label":"k46", "x":6, "y":4},
|
||||
{"label":"k47", "x":7, "y":4},
|
||||
{"label":"k48", "x":8, "y":4},
|
||||
{"label":"k49", "x":9, "y":4},
|
||||
{"label":"k4a", "x":10, "y":4},
|
||||
{"label":"k4b", "x":11, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_preonic_2x2u": {
|
||||
"key_count": 58,
|
||||
"layout": [
|
||||
{"label":"k00", "x":0, "y":0},
|
||||
{"label":"k01", "x":1, "y":0},
|
||||
{"label":"k02", "x":2, "y":0},
|
||||
{"label":"k03", "x":3, "y":0},
|
||||
{"label":"k04", "x":4, "y":0},
|
||||
{"label":"k05", "x":5, "y":0},
|
||||
{"label":"k06", "x":6, "y":0},
|
||||
{"label":"k07", "x":7, "y":0},
|
||||
{"label":"k08", "x":8, "y":0},
|
||||
{"label":"k09", "x":9, "y":0},
|
||||
{"label":"k0a", "x":10, "y":0},
|
||||
{"label":"k0b", "x":11, "y":0},
|
||||
{"label":"k10", "x":0, "y":1},
|
||||
{"label":"k11", "x":1, "y":1},
|
||||
{"label":"k12", "x":2, "y":1},
|
||||
{"label":"k13", "x":3, "y":1},
|
||||
{"label":"k14", "x":4, "y":1},
|
||||
{"label":"k15", "x":5, "y":1},
|
||||
{"label":"k16", "x":6, "y":1},
|
||||
{"label":"k17", "x":7, "y":1},
|
||||
{"label":"k18", "x":8, "y":1},
|
||||
{"label":"k19", "x":9, "y":1},
|
||||
{"label":"k1a", "x":10, "y":1},
|
||||
{"label":"k1b", "x":11, "y":1},
|
||||
{"label":"k20", "x":0, "y":2},
|
||||
{"label":"k21", "x":1, "y":2},
|
||||
{"label":"k22", "x":2, "y":2},
|
||||
{"label":"k23", "x":3, "y":2},
|
||||
{"label":"k24", "x":4, "y":2},
|
||||
{"label":"k25", "x":5, "y":2},
|
||||
{"label":"k26", "x":6, "y":2},
|
||||
{"label":"k27", "x":7, "y":2},
|
||||
{"label":"k28", "x":8, "y":2},
|
||||
{"label":"k29", "x":9, "y":2},
|
||||
{"label":"k2a", "x":10, "y":2},
|
||||
{"label":"k2b", "x":11, "y":2},
|
||||
{"label":"k30", "x":0, "y":3},
|
||||
{"label":"k31", "x":1, "y":3},
|
||||
{"label":"k32", "x":2, "y":3},
|
||||
{"label":"k33", "x":3, "y":3},
|
||||
{"label":"k34", "x":4, "y":3},
|
||||
{"label":"k35", "x":5, "y":3},
|
||||
{"label":"k36", "x":6, "y":3},
|
||||
{"label":"k37", "x":7, "y":3},
|
||||
{"label":"k38", "x":8, "y":3},
|
||||
{"label":"k39", "x":9, "y":3},
|
||||
{"label":"k3a", "x":10, "y":3},
|
||||
{"label":"k3b", "x":11, "y":3},
|
||||
{"label":"k40", "x":0, "y":4},
|
||||
{"label":"k41", "x":1, "y":4},
|
||||
{"label":"k42", "x":2, "y":4},
|
||||
{"label":"k43", "x":3, "y":4},
|
||||
{"label":"k44", "x":4, "y":4, "w":2},
|
||||
{"label":"k46", "x":6, "y":4, "w":2},
|
||||
{"label":"k48", "x":8, "y":4},
|
||||
{"label":"k49", "x":9, "y":4},
|
||||
{"label":"k4a", "x":10, "y":4},
|
||||
{"label":"k4b", "x":11, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
"key_count": 60,
|
||||
{"label":"k00", "x":0, "y":0},
|
||||
{"label":"k01", "x":1, "y":0},
|
||||
{"label":"k02", "x":2, "y":0},
|
||||
{"label":"k03", "x":3, "y":0},
|
||||
{"label":"k04", "x":4, "y":0},
|
||||
{"label":"k05", "x":5, "y":0},
|
||||
{"label":"k06", "x":6, "y":0},
|
||||
{"label":"k07", "x":7, "y":0},
|
||||
{"label":"k08", "x":8, "y":0},
|
||||
{"label":"k09", "x":9, "y":0},
|
||||
{"label":"k0a", "x":10, "y":0},
|
||||
{"label":"k0b", "x":11, "y":0},
|
||||
{"label":"k10", "x":0, "y":1},
|
||||
{"label":"k11", "x":1, "y":1},
|
||||
{"label":"k12", "x":2, "y":1},
|
||||
{"label":"k13", "x":3, "y":1},
|
||||
{"label":"k14", "x":4, "y":1},
|
||||
{"label":"k15", "x":5, "y":1},
|
||||
{"label":"k16", "x":6, "y":1},
|
||||
{"label":"k17", "x":7, "y":1},
|
||||
{"label":"k18", "x":8, "y":1},
|
||||
{"label":"k19", "x":9, "y":1},
|
||||
{"label":"k1a", "x":10, "y":1},
|
||||
{"label":"k1b", "x":11, "y":1},
|
||||
{"label":"k20", "x":0, "y":2},
|
||||
{"label":"k21", "x":1, "y":2},
|
||||
{"label":"k22", "x":2, "y":2},
|
||||
{"label":"k23", "x":3, "y":2},
|
||||
{"label":"k24", "x":4, "y":2},
|
||||
{"label":"k25", "x":5, "y":2},
|
||||
{"label":"k26", "x":6, "y":2},
|
||||
{"label":"k27", "x":7, "y":2},
|
||||
{"label":"k28", "x":8, "y":2},
|
||||
{"label":"k29", "x":9, "y":2},
|
||||
{"label":"k2a", "x":10, "y":2},
|
||||
{"label":"k2b", "x":11, "y":2},
|
||||
{"label":"k30", "x":0, "y":3},
|
||||
{"label":"k31", "x":1, "y":3},
|
||||
{"label":"k32", "x":2, "y":3},
|
||||
{"label":"k33", "x":3, "y":3},
|
||||
{"label":"k34", "x":4, "y":3},
|
||||
{"label":"k35", "x":5, "y":3},
|
||||
{"label":"k36", "x":6, "y":3},
|
||||
{"label":"k37", "x":7, "y":3},
|
||||
{"label":"k38", "x":8, "y":3},
|
||||
{"label":"k39", "x":9, "y":3},
|
||||
{"label":"k3a", "x":10, "y":3},
|
||||
{"label":"k3b", "x":11, "y":3},
|
||||
{"label":"k40", "x":0, "y":4},
|
||||
{"label":"k41", "x":1, "y":4},
|
||||
{"label":"k42", "x":2, "y":4},
|
||||
{"label":"k43", "x":3, "y":4},
|
||||
{"label":"k44", "x":4, "y":4},
|
||||
{"label":"k45", "x":5, "y":4},
|
||||
{"label":"k46", "x":6, "y":4},
|
||||
{"label":"k47", "x":7, "y":4},
|
||||
{"label":"k48", "x":8, "y":4},
|
||||
{"label":"k49", "x":9, "y":4},
|
||||
{"label":"k4a", "x":10, "y":4},
|
||||
{"label":"k4b", "x":11, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@@ -13,9 +13,111 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#ifndef REV3_H
|
||||
#define REV3_H
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "preonic.h"
|
||||
|
||||
#ifndef __AVR__ // Preonic rev. 3 and later
|
||||
|
||||
#define LAYOUT_preonic_1x2uC( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k45, k47, k48, k43, k44, k45 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_1x2uR( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k47, k47, k48, k43, k44, k45 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_1x2uL( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k46, k47, k48, k43, k44, k44 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_2x2u( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k46, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k46, k46, k48, k43, k44, k44 } \
|
||||
}
|
||||
|
||||
#define LAYOUT_preonic_grid( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05 }, \
|
||||
{ k10, k11, k12, k13, k14, k15 }, \
|
||||
{ k20, k21, k22, k23, k24, k25 }, \
|
||||
{ k30, k31, k32, k33, k34, k35 }, \
|
||||
{ k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k49, k4a, k4b }, \
|
||||
{ k46, k47, k48, k43, k44, k45 } \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -28,7 +28,6 @@
|
||||
#define TAPPING_TERM 200
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define DE_ALGR KC_RALT
|
||||
|
||||
// normal characters
|
||||
|
@@ -18,12 +18,12 @@
|
||||
#include "config_common.h"
|
||||
|
||||
// USB Device descriptor parameter
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define VENDOR_ID 0x5A45 // ZealPC ("ZE")
|
||||
#define PRODUCT_ID 0x0060 // Zeal60
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER ZealPC
|
||||
#define PRODUCT Zeal60
|
||||
#define DESCRIPTION Zeal60 (QMK Firmware)
|
||||
#define DESCRIPTION Zeal60
|
||||
|
||||
// key matrix size
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -18,12 +18,12 @@
|
||||
#include "config_common.h"
|
||||
|
||||
// USB Device descriptor parameter
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6065
|
||||
#define VENDOR_ID 0x5A45 // ZealPC ("ZE")
|
||||
#define PRODUCT_ID 0x0065 // Zeal65
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER ZealPC
|
||||
#define PRODUCT Zeal65
|
||||
#define DESCRIPTION Zeal65 (QMK Firmware)
|
||||
#define DESCRIPTION Zeal65
|
||||
|
||||
// key matrix size
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -22,10 +22,7 @@
|
||||
#define BE_LALT KC_LGUI
|
||||
|
||||
// Alt gr
|
||||
#ifndef ALGR
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#endif
|
||||
#define NO_ALGR KC_RALT
|
||||
#define BE_ALGR KC_RALT
|
||||
|
||||
// Normal characters
|
||||
// Line 1
|
||||
|
@@ -21,10 +21,7 @@
|
||||
|
||||
// Alt gr
|
||||
#ifndef ALTGR
|
||||
#define ALTGR(kc) RALT(kc)
|
||||
#endif
|
||||
#ifndef ALGR
|
||||
#define ALGR(kc) ALTGR(kc)
|
||||
#define ALTGR(kc) ALGR(kc)
|
||||
#endif
|
||||
#define BP_ALGR KC_RALT
|
||||
|
||||
|
@@ -20,10 +20,7 @@
|
||||
|
||||
// Alt gr
|
||||
#ifndef ALTGR
|
||||
#define ALTGR(kc) RALT(kc)
|
||||
#endif
|
||||
#ifndef ALGR
|
||||
#define ALGR(kc) ALTGR(kc)
|
||||
#define ALTGR(kc) ALGR(kc)
|
||||
#endif
|
||||
|
||||
#define CSA_ALTGR KC_RALT
|
||||
|
@@ -19,7 +19,6 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define FR_CH_ALGR KC_RALT
|
||||
|
||||
// normal characters
|
||||
|
@@ -19,10 +19,7 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#ifndef ALGR
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#endif
|
||||
#define NO_ALGR KC_RALT
|
||||
#define FR_ALGR KC_RALT
|
||||
|
||||
// Normal characters
|
||||
#define FR_SUP2 KC_GRV
|
||||
|
@@ -20,7 +20,6 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define DE_ALGR KC_RALT
|
||||
|
||||
// normal characters
|
||||
|
@@ -19,7 +19,6 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define CH_ALGR KC_RALT
|
||||
|
||||
// normal characters
|
||||
|
@@ -20,7 +20,6 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define HU_ALGR KC_RALT
|
||||
|
||||
// basic letters
|
||||
|
@@ -20,7 +20,6 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define IT_ALGR KC_RALT
|
||||
|
||||
// normal characters
|
||||
|
@@ -19,7 +19,6 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define NO_ALGR KC_RALT
|
||||
|
||||
// Normal characters
|
||||
|
@@ -21,7 +21,6 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define SI_ALGR KC_RALT
|
||||
|
||||
//Swapped Z and Y
|
||||
|
@@ -19,8 +19,7 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define NO_ALGR KC_RALT
|
||||
#define ES_ALGR KC_RALT
|
||||
|
||||
// Normal characters
|
||||
#define ES_OVRR KC_GRV
|
||||
|
@@ -19,8 +19,7 @@
|
||||
#include "keymap.h"
|
||||
|
||||
// Alt gr
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define NO_ALGR KC_RALT
|
||||
#define UK_ALGR KC_RALT
|
||||
|
||||
// Normal characters
|
||||
#define UK_HASH KC_NUHS
|
||||
|
@@ -197,6 +197,7 @@ extern uint32_t default_layer_state;
|
||||
#define SS_LALT(string) SS_DOWN(X_LALT) string SS_UP(X_LALT)
|
||||
#define SS_LSFT(string) SS_DOWN(X_LSHIFT) string SS_UP(X_LSHIFT)
|
||||
#define SS_RALT(string) SS_DOWN(X_RALT) string SS_UP(X_RALT)
|
||||
#define SS_ALGR(string) SS_RALT(string)
|
||||
|
||||
#define SEND_STRING(str) send_string_P(PSTR(str))
|
||||
extern const bool ascii_to_shift_lut[0x80];
|
||||
|
@@ -470,6 +470,7 @@ enum quantum_keycodes {
|
||||
#define RCTL(kc) (QK_RCTL | (kc))
|
||||
#define RSFT(kc) (QK_RSFT | (kc))
|
||||
#define RALT(kc) (QK_RALT | (kc))
|
||||
#define ALGR(kc) RALT(kc)
|
||||
#define RGUI(kc) (QK_RGUI | (kc))
|
||||
#define RCMD(kc) RGUI(kc)
|
||||
#define RWIN(kc) RGUI(kc)
|
||||
@@ -480,7 +481,7 @@ enum quantum_keycodes {
|
||||
#define SGUI(kc) (QK_LGUI | QK_LSFT | (kc))
|
||||
#define SCMD(kc) SGUI(kc)
|
||||
#define SWIN(kc) SGUI(kc)
|
||||
#define LCA(kc) (QK_LCTL | QK_LALT | (kc))
|
||||
#define LCA(kc) (QK_LCTL | QK_LALT | (kc))
|
||||
|
||||
#define MOD_HYPR 0xf
|
||||
#define MOD_MEH 0x7
|
||||
@@ -645,7 +646,7 @@ enum quantum_keycodes {
|
||||
#define ALT_T(kc) MT(MOD_LALT, kc)
|
||||
#define LALT_T(kc) MT(MOD_LALT, kc)
|
||||
#define RALT_T(kc) MT(MOD_RALT, kc)
|
||||
#define ALGR_T(kc) MT(MOD_RALT, kc) // dual-function AltGR
|
||||
#define ALGR_T(kc) RALT_T(kc)
|
||||
|
||||
#define GUI_T(kc) MT(MOD_LGUI, kc)
|
||||
#define CMD_T(kc) GUI_T(kc)
|
||||
|
@@ -140,6 +140,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define KC_LWIN KC_LGUI
|
||||
#define KC_RCTL KC_RCTRL
|
||||
#define KC_RSFT KC_RSHIFT
|
||||
#define KC_ALGR KC_RALT
|
||||
#define KC_RCMD KC_RGUI
|
||||
#define KC_RWIN KC_RGUI
|
||||
|
||||
|
Reference in New Issue
Block a user