mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-08-26 17:01:41 +00:00
Compare commits
71 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8e820cde13 | ||
![]() |
572395ac20 | ||
![]() |
95c74ae4ae | ||
![]() |
3fc710e0b1 | ||
![]() |
dd0a35273c | ||
![]() |
cf7404630e | ||
![]() |
ef872595ae | ||
![]() |
eac9ee8d3f | ||
![]() |
1d706bd77c | ||
![]() |
3e60997edb | ||
![]() |
a74846a0db | ||
![]() |
038d9118b6 | ||
![]() |
be771e5fd2 | ||
![]() |
1fbee7c316 | ||
![]() |
8b39ae13c7 | ||
![]() |
1bb6d8de6f | ||
![]() |
a888057453 | ||
![]() |
eae7343741 | ||
![]() |
c59fb1b477 | ||
![]() |
e7cb7bc737 | ||
![]() |
1ed48c774e | ||
![]() |
54b80ecf9f | ||
![]() |
97a73637e0 | ||
![]() |
653ecf91c2 | ||
![]() |
b7870ae78c | ||
![]() |
299008be36 | ||
![]() |
723d9af04d | ||
![]() |
6edcbdca19 | ||
![]() |
2882ee9f55 | ||
![]() |
78149505f9 | ||
![]() |
7b07ce3fef | ||
![]() |
d395c81606 | ||
![]() |
be257b6f9f | ||
![]() |
d4a8123267 | ||
![]() |
e1a7027fe8 | ||
![]() |
c5b0366a25 | ||
![]() |
217e3a59c4 | ||
![]() |
0ab88f5342 | ||
![]() |
8dfe37a3a3 | ||
![]() |
69eca63a84 | ||
![]() |
a5576f9738 | ||
![]() |
c833b77646 | ||
![]() |
ed446360a4 | ||
![]() |
9807225f90 | ||
![]() |
9331c22620 | ||
![]() |
cc84831cae | ||
![]() |
f490777502 | ||
![]() |
6e79767f5a | ||
![]() |
3bc7f46412 | ||
![]() |
8a2d3a8861 | ||
![]() |
538194344a | ||
![]() |
23765332fa | ||
![]() |
163e9b02bf | ||
![]() |
90f95de5c9 | ||
![]() |
ffc4380b30 | ||
![]() |
314ef9df03 | ||
![]() |
563be8ca2a | ||
![]() |
e527b375e8 | ||
![]() |
4e8a218d17 | ||
![]() |
57de02c9f2 | ||
![]() |
3c4972a53f | ||
![]() |
6af387ec6f | ||
![]() |
554b73643d | ||
![]() |
e941ae3811 | ||
![]() |
f75420c209 | ||
![]() |
d99806cc27 | ||
![]() |
cd8497b9fb | ||
![]() |
469b4b21d2 | ||
![]() |
926389f3a7 | ||
![]() |
52b7ebd6be | ||
![]() |
2e50b34c67 |
443
data/mappings/keyboard_aliases.json
Normal file
443
data/mappings/keyboard_aliases.json
Normal file
@@ -0,0 +1,443 @@
|
||||
{
|
||||
# Format for each entry:
|
||||
# <alias>: {
|
||||
# target: <keyboard_folder>,
|
||||
# layouts: {
|
||||
# <layout_alias>: <layout_target>
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# Both target and layouts are optional.
|
||||
'2_milk': {
|
||||
target: 'spaceman/2_milk'
|
||||
},
|
||||
'aeboards/ext65': {
|
||||
target: 'aeboards/ext65/rev1'
|
||||
},
|
||||
'ai03/equinox': {
|
||||
target: 'ai03/equinox/rev1'
|
||||
},
|
||||
aleth42: {
|
||||
target: 'aleth42/rev1'
|
||||
},
|
||||
alice: {
|
||||
target: 'tgr/alice'
|
||||
},
|
||||
angel17: {
|
||||
target: 'angel17/alpha'
|
||||
},
|
||||
angel64: {
|
||||
target: 'angel64/alpha'
|
||||
},
|
||||
at101_blackheart: {
|
||||
target: 'at101_bh'
|
||||
},
|
||||
'atom47/rev2': {
|
||||
target: 'maartenwut/atom47/rev2'
|
||||
},
|
||||
'atom47/rev3': {
|
||||
target: 'maartenwut/atom47/rev3'
|
||||
},
|
||||
bear_face: {
|
||||
target: 'bear_face/v1'
|
||||
},
|
||||
'bpiphany/pegasushoof': {
|
||||
target: 'bpiphany/pegasushoof/2013'
|
||||
},
|
||||
chavdai40: {
|
||||
target: 'chavdai40/rev1'
|
||||
},
|
||||
'candybar/lefty': {
|
||||
target: 'tkc/candybar/lefty'
|
||||
},
|
||||
'candybar/righty': {
|
||||
target: 'tkc/candybar/righty'
|
||||
},
|
||||
canoe: {
|
||||
target: 'percent/canoe'
|
||||
},
|
||||
'cmm_studio/saka68': {
|
||||
target: 'cmm_studio/saka68/solder'
|
||||
},
|
||||
'crkbd/rev1': {
|
||||
target: 'crkbd/rev1/legacy'
|
||||
},
|
||||
'doro67/multi': {
|
||||
layouts: {
|
||||
LAYOUT_ansi: 'LAYOUT_65_ansi_blocker'
|
||||
}
|
||||
},
|
||||
'doro67/regular': {
|
||||
layouts: {
|
||||
LAYOUT: 'LAYOUT_65_ansi_blocker'
|
||||
}
|
||||
},
|
||||
'doro67/rgb': {
|
||||
layouts: {
|
||||
LAYOUT: 'LAYOUT_65_ansi_blocker'
|
||||
}
|
||||
},
|
||||
drakon: {
|
||||
target: 'jagdpietr/drakon'
|
||||
},
|
||||
'dztech/dz60rgb': {
|
||||
target: 'dztech/dz60rgb/v1'
|
||||
},
|
||||
'dztech/dz60rgb_ansi': {
|
||||
target: 'dztech/dz60rgb_ansi/v1'
|
||||
},
|
||||
'dztech/dz60rgb_wkl': {
|
||||
target: 'dztech/dz60rgb_wkl/v1'
|
||||
},
|
||||
'dztech/dz65rgb': {
|
||||
target: 'dztech/dz65rgb/v1'
|
||||
},
|
||||
eek: {
|
||||
target: 'eek/silk_down'
|
||||
},
|
||||
ergoinu: {
|
||||
target: 'dm9records/ergoinu'
|
||||
},
|
||||
'exclusive/e85': {
|
||||
target: 'exclusive/e85/hotswap'
|
||||
},
|
||||
gh60: {
|
||||
target: 'gh60/revc'
|
||||
},
|
||||
'handwired/ferris': {
|
||||
target: 'ferris/0_1'
|
||||
},
|
||||
'helix/pico/sc/back': {
|
||||
target: 'helix/pico/sc'
|
||||
},
|
||||
'helix/pico/sc/under': {
|
||||
target: 'helix/pico/sc'
|
||||
},
|
||||
'helix/rev2/back/oled': {
|
||||
target: 'helix/rev2/back'
|
||||
},
|
||||
'helix/rev2/oled': {
|
||||
target: 'helix/rev2'
|
||||
},
|
||||
'helix/rev2/oled/back': {
|
||||
target: 'helix/rev2/back'
|
||||
},
|
||||
'helix/rev2/oled/under': {
|
||||
target: 'helix/rev2/under'
|
||||
},
|
||||
'helix/rev2/sc/back': {
|
||||
target: 'helix/rev2/sc'
|
||||
},
|
||||
'helix/rev2/sc/oled': {
|
||||
target: 'helix/rev2/sc'
|
||||
},
|
||||
'helix/rev2/sc/oledback': {
|
||||
target: 'helix/rev2/sc'
|
||||
},
|
||||
'helix/rev2/sc/oledunder': {
|
||||
target: 'helix/rev2/sc'
|
||||
},
|
||||
'helix/rev2/sc/under': {
|
||||
target: 'helix/rev2/sc'
|
||||
},
|
||||
'helix/rev2/under': {
|
||||
target: 'helix/rev2/sc'
|
||||
},
|
||||
'helix/rev2/under/oled': {
|
||||
target: 'helix/rev2/under'
|
||||
},
|
||||
id80: {
|
||||
target: 'id80/ansi'
|
||||
},
|
||||
idb_60: {
|
||||
target: 'idb/idb_60',
|
||||
layouts: {
|
||||
LAYOUT: 'LAYOUT_all'
|
||||
}
|
||||
},
|
||||
jones: {
|
||||
target: 'jones/v03_1'
|
||||
},
|
||||
katana60: {
|
||||
target: 'rominronin/katana60/rev1'
|
||||
},
|
||||
'kbdfans/kbd67mkiirgb': {
|
||||
target: 'kbdfans/kbd67/mkiirgb',
|
||||
layouts: {
|
||||
LAYOUT: 'LAYOUT_65_ansi_blocker'
|
||||
}
|
||||
},
|
||||
'kbdfans/kbd67/mkiirgb': {
|
||||
target: 'kbdfans/kbd67/mkiirgb/v1'
|
||||
},
|
||||
'keebio/dsp40': {
|
||||
target: 'keebio/dsp40/rev1'
|
||||
},
|
||||
'keycapsss/plaid_pad': {
|
||||
target: 'keycapsss/plaid_pad/rev1'
|
||||
},
|
||||
kudox: {
|
||||
target: 'kudox/rev1'
|
||||
},
|
||||
'lfkeyboards/lfk78': {
|
||||
target: 'lfkeyboards/lfk78/revj'
|
||||
},
|
||||
'lfkeyboards/smk65': {
|
||||
target: 'lfkeyboards/smk65/revb'
|
||||
},
|
||||
'maartenwut/atom47/rev2': {
|
||||
target: 'evyd13/atom47/rev2'
|
||||
},
|
||||
'maartenwut/atom47/rev3': {
|
||||
target: 'evyd13/atom47/rev3'
|
||||
},
|
||||
'maartenwut/eon40': {
|
||||
target: 'evyd13/eon40'
|
||||
},
|
||||
'maartenwut/eon65': {
|
||||
target: 'evyd13/eon65'
|
||||
},
|
||||
'maartenwut/eon75': {
|
||||
target: 'evyd13/eon75'
|
||||
},
|
||||
'maartenwut/eon87': {
|
||||
target: 'evyd13/eon87'
|
||||
},
|
||||
'maartenwut/eon95': {
|
||||
target: 'evyd13/eon95'
|
||||
},
|
||||
'maartenwut/gh80_1800': {
|
||||
target: 'evyd13/gh80_1800'
|
||||
},
|
||||
'maartenwut/gh80_3700': {
|
||||
target: 'evyd13/gh80_3700'
|
||||
},
|
||||
'maartenwut/minitomic': {
|
||||
target: 'evyd13/minitomic'
|
||||
},
|
||||
'maartenwut/mx5160': {
|
||||
target: 'evyd13/mx5160'
|
||||
},
|
||||
'maartenwut/nt660': {
|
||||
target: 'evyd13/nt660'
|
||||
},
|
||||
'maartenwut/omrontkl': {
|
||||
target: 'evyd13/omrontkl'
|
||||
},
|
||||
'maartenwut/plain60': {
|
||||
target: 'evyd13/plain60'
|
||||
},
|
||||
'maartenwut/pockettype': {
|
||||
target: 'evyd13/pockettype'
|
||||
},
|
||||
'maartenwut/quackfire': {
|
||||
target: 'evyd13/quackfire'
|
||||
},
|
||||
'maartenwut/solheim68': {
|
||||
target: 'evyd13/solheim68'
|
||||
},
|
||||
'maartenwut/ta65': {
|
||||
target: 'evyd13/ta65'
|
||||
},
|
||||
'maartenwut/wasdat': {
|
||||
target: 'evyd13/wasdat'
|
||||
},
|
||||
'maartenwut/wasdat_code': {
|
||||
target: 'evyd13/wasdat_code'
|
||||
},
|
||||
'maartenwut/wonderland': {
|
||||
target: 'evyd13/wonderland'
|
||||
},
|
||||
'mechlovin/hannah910': {
|
||||
target: 'mechlovin/hannah910/rev1'
|
||||
},
|
||||
'mechlovin/adelais/rgb_led': {
|
||||
target: 'mechlovin/adelais/rgb_led/rev1'
|
||||
},
|
||||
'mechlovin/adelais/standard_led': {
|
||||
target: 'mechlovin/adelais/standard_led/rev2'
|
||||
},
|
||||
'mechlovin/delphine': {
|
||||
target: 'mechlovin/delphine/mono_led'
|
||||
},
|
||||
'mechlovin/hannah60rgb': {
|
||||
target: 'mechlovin/hannah60rgb/rev1'
|
||||
},
|
||||
'melgeek/z70ultra': {
|
||||
target: 'melgeek/z70ultra/rev1'
|
||||
},
|
||||
'mechlovin/hannah65': {
|
||||
target: 'mechlovin/hannah65/rev1'
|
||||
},
|
||||
model01: {
|
||||
target: 'keyboardio/model01'
|
||||
},
|
||||
m0lly: {
|
||||
target: 'tkc/m0lly'
|
||||
},
|
||||
'montsinger/rebound': {
|
||||
target: 'montsinger/rebound/rev1'
|
||||
},
|
||||
nomu30: {
|
||||
target: 'nomu30/rev1'
|
||||
},
|
||||
'noxary/268_2': {
|
||||
layouts: {
|
||||
LAYOUT: 'LAYOUT_65_ansi_blocker'
|
||||
}
|
||||
},
|
||||
oddball: {
|
||||
target: 'oddball/v1'
|
||||
},
|
||||
omnikey_blackheart: {
|
||||
target: 'omnikey_bh'
|
||||
},
|
||||
'pabile/p20': {
|
||||
target: 'pabile/p20/ver1'
|
||||
},
|
||||
'pancake/feather': {
|
||||
target: 'spaceman/pancake/feather'
|
||||
},
|
||||
'pancake/promicro': {
|
||||
target: 'spaceman/pancake/promicro'
|
||||
},
|
||||
'percent/canoe': {
|
||||
layouts: {
|
||||
LAYOUT_iso: 'LAYOUT_65_iso_blocker'
|
||||
}
|
||||
},
|
||||
plaid: {
|
||||
target: 'dm9records/plaid'
|
||||
},
|
||||
plain60: {
|
||||
target: 'maartenwut/plain60'
|
||||
},
|
||||
'ploopyco/trackball': {
|
||||
target: 'ploopyco/trackball/rev1_005'
|
||||
},
|
||||
polilla: {
|
||||
target: 'polilla/rev1'
|
||||
},
|
||||
'preonic/rev1': {
|
||||
layouts: {
|
||||
LAYOUT_preonic_grid: 'LAYOUT_ortho_5x12'
|
||||
}
|
||||
},
|
||||
'preonic/rev2': {
|
||||
layouts: {
|
||||
LAYOUT_preonic_grid: 'LAYOUT_ortho_5x12'
|
||||
}
|
||||
},
|
||||
'preonic/rev3': {
|
||||
layouts: {
|
||||
LAYOUT_preonic_grid: 'LAYOUT_ortho_5x12'
|
||||
}
|
||||
},
|
||||
'primekb/prime_l': {
|
||||
target: 'primekb/prime_l/v1'
|
||||
},
|
||||
'primekb/prime_l_v2': {
|
||||
target: 'primekb/prime_l/v2'
|
||||
},
|
||||
'projectkb/alice': {
|
||||
target: 'projectkb/alice/rev1'
|
||||
},
|
||||
'rama/koyu': {
|
||||
target: 'wilba_tech/rama_works_koyu'
|
||||
},
|
||||
'rama/m6_a': {
|
||||
target: 'wilba_tech/rama_works_m6_a'
|
||||
},
|
||||
'rama/m6_b': {
|
||||
target: 'wilba_tech/rama_works_m6_b'
|
||||
},
|
||||
'rama/m10_b': {
|
||||
target: 'wilba_tech/rama_works_m10_b'
|
||||
},
|
||||
'rama/m60_a': {
|
||||
target: 'wilba_tech/rama_works_m60_a'
|
||||
},
|
||||
'rama/u80_a': {
|
||||
target: 'wilba_tech/rama_works_u80_a'
|
||||
},
|
||||
'ramonimbao/herringbone': {
|
||||
target: 'ramonimbao/herringbone/v1'
|
||||
},
|
||||
'rgbkb/pan': {
|
||||
target: 'rgbkb/pan/rev1/32a'
|
||||
},
|
||||
'rgbkb/pan/rev1': {
|
||||
target: 'rgbkb/pan/rev1/32a'
|
||||
},
|
||||
romac: {
|
||||
target: 'kingly_keys/romac'
|
||||
},
|
||||
ropro: {
|
||||
target: 'kingly_keys/ropro'
|
||||
},
|
||||
satan: {
|
||||
target: 'gh60/satan'
|
||||
},
|
||||
skog: {
|
||||
target: 'percent/skog'
|
||||
},
|
||||
speedo: {
|
||||
target: 'cozykeys/speedo/v2'
|
||||
},
|
||||
stoutgat: {
|
||||
target: 'tkw/stoutgat/v1'
|
||||
},
|
||||
suihankey: {
|
||||
target: 'suihankey/split/alpha'
|
||||
},
|
||||
ta65: {
|
||||
target: 'maartenwut/ta65'
|
||||
},
|
||||
tartan: {
|
||||
target: 'dm9records/tartan'
|
||||
},
|
||||
tkc1800: {
|
||||
target: 'tkc/tkc1800'
|
||||
},
|
||||
'tkw/stoutgat/v2': {
|
||||
target: 'tkw/stoutgat/v2/f411'
|
||||
},
|
||||
underscore33: {
|
||||
target: 'underscore33/rev1'
|
||||
},
|
||||
vinta: {
|
||||
layouts: {
|
||||
LAYOUT_67_ansi: 'LAYOUT_65_ansi_blocker'
|
||||
}
|
||||
},
|
||||
wasdat: {
|
||||
target: 'maartenwut/wasdat'
|
||||
},
|
||||
'westfoxtrot/cypher': {
|
||||
target: 'westfoxtrot/cypher/rev1'
|
||||
},
|
||||
'whale/sk': {
|
||||
target: 'whale/sk/v3'
|
||||
},
|
||||
'xelus/dawn60': {
|
||||
target: 'xelus/dawn60/rev1'
|
||||
},
|
||||
'xelus/valor': {
|
||||
target: 'xelus/valor/rev1'
|
||||
},
|
||||
yd60mq: {
|
||||
target: 'yd60mq/12led'
|
||||
},
|
||||
ymd75: {
|
||||
target: 'ymd75/rev1'
|
||||
},
|
||||
z150_blackheart: {
|
||||
target: 'z150_bh'
|
||||
},
|
||||
zeal60: {
|
||||
target: 'wilba_tech/zeal60'
|
||||
},
|
||||
zeal65: {
|
||||
target: 'wilba_tech/zeal65'
|
||||
}
|
||||
}
|
@@ -131,6 +131,16 @@ Check your environment and report problems only:
|
||||
|
||||
qmk doctor -n
|
||||
|
||||
## `qmk format-json`
|
||||
|
||||
Formats a JSON file in a (mostly) human-friendly way. Will usually correctly detect the format of the JSON (info.json or keymap.json) but you can override this with `--format` if neccesary.
|
||||
|
||||
**Usage**:
|
||||
|
||||
```
|
||||
qmk format-json [-f FORMAT] <json_file>
|
||||
```
|
||||
|
||||
## `qmk info`
|
||||
|
||||
Displays information about keyboards and keymaps in QMK. You can use this to get information about a keyboard, show the layouts, display the underlying key matrix, or to pretty-print JSON keymaps.
|
||||
@@ -170,7 +180,7 @@ qmk json2c [-o OUTPUT] filename
|
||||
## `qmk c2json`
|
||||
|
||||
Creates a keymap.json from a keymap.c.
|
||||
**Note:** Parsing C source files is not easy, therefore this subcommand may not work your keymap. In some cases not using the C pre-processor helps.
|
||||
**Note:** Parsing C source files is not easy, therefore this subcommand may not work with your keymap. In some cases not using the C pre-processor helps.
|
||||
|
||||
**Usage**:
|
||||
|
||||
|
@@ -19,12 +19,10 @@ These functions allow you to activate layers in various ways. Note that layers a
|
||||
|
||||
### Caveats :id=caveats
|
||||
|
||||
Currently, `LT()` and `MT()` are limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. Specifically, dual function keys like `LT` and `MT` use a 16 bit keycode. 4 bits are used for the function identifier, the next 12 are divided into the parameters. Layer Tap uses 4 bits for the layer (and is why it's limited to layers 0-15, actually), while Mod Tap does the same, 4 bits for the identifier, 4 bits for which mods are used, and all of them use 8 bits for the keycode. Because of this, the keycode used is limited to `0xFF` (0-255), which are the basic keycodes only.
|
||||
Currently, the `layer` argument of `LT()` is limited to layers 0-15, and the `kc` argument to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. This is because QMK uses 16-bit keycodes, of which 4 bits are used for the function identifier and 4 bits for the layer, leaving only 8 bits for the keycode.
|
||||
|
||||
Expanding this would be complicated, at best. Moving to a 32-bit keycode would solve a lot of this, but would double the amount of space that the keymap matrix uses. And it could potentially cause issues, too. If you need to apply modifiers to your tapped keycode, [Tap Dance](feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) can be used to accomplish this.
|
||||
|
||||
Additionally, if at least one right-handed modifier is specified in a Mod Tap or Layer Tap, it will cause all modifiers specified to become right-handed, so it is not possible to mix and match the two.
|
||||
|
||||
## Working with Layers :id=working-with-layers
|
||||
|
||||
Care must be taken when switching layers, it's possible to lock yourself into a layer with no way to deactivate that layer (without unplugging your keyboard.) We've created some guidelines to help users avoid the most common problems.
|
||||
|
@@ -76,7 +76,7 @@ qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
[TD_ESC_CAPS] = ACTION_TAP_DANCE_DOUBLE(KC_ESC, KC_CAPS),
|
||||
};
|
||||
|
||||
// Add tap dance item in place of a key code
|
||||
// Add tap dance item to your keymap in place of a keycode
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// ...
|
||||
TD(TD_ESC_CAPS)
|
||||
@@ -206,20 +206,22 @@ You will need a few things that can be used for 'Quad Function Tap-Dance'.
|
||||
You'll need to add these to the top of your `keymap.c` file, before your keymap.
|
||||
|
||||
```c
|
||||
typedef enum {
|
||||
TD_NONE,
|
||||
TD_UNKNOWN,
|
||||
TD_SINGLE_TAP,
|
||||
TD_SINGLE_HOLD,
|
||||
TD_DOUBLE_TAP,
|
||||
TD_DOUBLE_HOLD,
|
||||
TD_DOUBLE_SINGLE_TAP, // Send two single taps
|
||||
TD_TRIPLE_TAP,
|
||||
TD_TRIPLE_HOLD
|
||||
} td_state_t;
|
||||
|
||||
typedef struct {
|
||||
bool is_press_action;
|
||||
uint8_t state;
|
||||
} tap;
|
||||
|
||||
enum {
|
||||
SINGLE_TAP = 1,
|
||||
SINGLE_HOLD,
|
||||
DOUBLE_TAP,
|
||||
DOUBLE_HOLD,
|
||||
DOUBLE_SINGLE_TAP, // Send two single taps
|
||||
TRIPLE_TAP,
|
||||
TRIPLE_HOLD
|
||||
};
|
||||
td_state_t state;
|
||||
} td_tap_t;
|
||||
|
||||
// Tap dance enums
|
||||
enum {
|
||||
@@ -227,7 +229,7 @@ enum {
|
||||
SOME_OTHER_DANCE
|
||||
};
|
||||
|
||||
uint8_t cur_dance(qk_tap_dance_state_t *state);
|
||||
td_state_t cur_dance(qk_tap_dance_state_t *state);
|
||||
|
||||
// For the x tap dance. Put it here so it can be used in any keymap
|
||||
void x_finished(qk_tap_dance_state_t *state, void *user_data);
|
||||
@@ -261,61 +263,61 @@ Now, at the bottom of your `keymap.c` file, you'll need to add the following:
|
||||
* Letters used in common words as a double. For example 'p' in 'pepper'. If a tap dance function existed on the
|
||||
* letter 'p', the word 'pepper' would be quite frustating to type.
|
||||
*
|
||||
* For the third point, there does exist the 'DOUBLE_SINGLE_TAP', however this is not fully tested
|
||||
* For the third point, there does exist the 'TD_DOUBLE_SINGLE_TAP', however this is not fully tested
|
||||
*
|
||||
*/
|
||||
uint8_t cur_dance(qk_tap_dance_state_t *state) {
|
||||
td_state_t cur_dance(qk_tap_dance_state_t *state) {
|
||||
if (state->count == 1) {
|
||||
if (state->interrupted || !state->pressed) return SINGLE_TAP;
|
||||
if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
|
||||
// Key has not been interrupted, but the key is still held. Means you want to send a 'HOLD'.
|
||||
else return SINGLE_HOLD;
|
||||
else return TD_SINGLE_HOLD;
|
||||
} else if (state->count == 2) {
|
||||
// DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap
|
||||
// TD_DOUBLE_SINGLE_TAP is to distinguish between typing "pepper", and actually wanting a double tap
|
||||
// action when hitting 'pp'. Suggested use case for this return value is when you want to send two
|
||||
// keystrokes of the key, and not the 'double tap' action/macro.
|
||||
if (state->interrupted) return DOUBLE_SINGLE_TAP;
|
||||
else if (state->pressed) return DOUBLE_HOLD;
|
||||
else return DOUBLE_TAP;
|
||||
if (state->interrupted) return TD_DOUBLE_SINGLE_TAP;
|
||||
else if (state->pressed) return TD_DOUBLE_HOLD;
|
||||
else return TD_DOUBLE_TAP;
|
||||
}
|
||||
|
||||
// Assumes no one is trying to type the same letter three times (at least not quickly).
|
||||
// If your tap dance key is 'KC_W', and you want to type "www." quickly - then you will need to add
|
||||
// an exception here to return a 'TRIPLE_SINGLE_TAP', and define that enum just like 'DOUBLE_SINGLE_TAP'
|
||||
// an exception here to return a 'TD_TRIPLE_SINGLE_TAP', and define that enum just like 'TD_DOUBLE_SINGLE_TAP'
|
||||
if (state->count == 3) {
|
||||
if (state->interrupted || !state->pressed) return TRIPLE_TAP;
|
||||
else return TRIPLE_HOLD;
|
||||
} else return 8; // Magic number. At some point this method will expand to work for more presses
|
||||
if (state->interrupted || !state->pressed) return TD_TRIPLE_TAP;
|
||||
else return TD_TRIPLE_HOLD;
|
||||
} else return TD_UNKNOWN;
|
||||
}
|
||||
|
||||
// Create an instance of 'tap' for the 'x' tap dance.
|
||||
static tap xtap_state = {
|
||||
// Create an instance of 'td_tap_t' for the 'x' tap dance.
|
||||
static td_tap_t xtap_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
.state = TD_NONE
|
||||
};
|
||||
|
||||
void x_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
xtap_state.state = cur_dance(state);
|
||||
switch (xtap_state.state) {
|
||||
case SINGLE_TAP: register_code(KC_X); break;
|
||||
case SINGLE_HOLD: register_code(KC_LCTRL); break;
|
||||
case DOUBLE_TAP: register_code(KC_ESC); break;
|
||||
case DOUBLE_HOLD: register_code(KC_LALT); break;
|
||||
case TD_SINGLE_TAP: register_code(KC_X); break;
|
||||
case TD_SINGLE_HOLD: register_code(KC_LCTRL); break;
|
||||
case TD_DOUBLE_TAP: register_code(KC_ESC); break;
|
||||
case TD_DOUBLE_HOLD: register_code(KC_LALT); break;
|
||||
// Last case is for fast typing. Assuming your key is `f`:
|
||||
// For example, when typing the word `buffer`, and you want to make sure that you send `ff` and not `Esc`.
|
||||
// In order to type `ff` when typing fast, the next character will have to be hit within the `TAPPING_TERM`, which by default is 200ms.
|
||||
case DOUBLE_SINGLE_TAP: tap_code(KC_X); register_code(KC_X);
|
||||
case TD_DOUBLE_SINGLE_TAP: tap_code(KC_X); register_code(KC_X);
|
||||
}
|
||||
}
|
||||
|
||||
void x_reset(qk_tap_dance_state_t *state, void *user_data) {
|
||||
switch (xtap_state.state) {
|
||||
case SINGLE_TAP: unregister_code(KC_X); break;
|
||||
case SINGLE_HOLD: unregister_code(KC_LCTRL); break;
|
||||
case DOUBLE_TAP: unregister_code(KC_ESC); break;
|
||||
case DOUBLE_HOLD: unregister_code(KC_LALT);
|
||||
case DOUBLE_SINGLE_TAP: unregister_code(KC_X);
|
||||
case TD_SINGLE_TAP: unregister_code(KC_X); break;
|
||||
case TD_SINGLE_HOLD: unregister_code(KC_LCTRL); break;
|
||||
case TD_DOUBLE_TAP: unregister_code(KC_ESC); break;
|
||||
case TD_DOUBLE_HOLD: unregister_code(KC_LALT);
|
||||
case TD_DOUBLE_SINGLE_TAP: unregister_code(KC_X);
|
||||
}
|
||||
xtap_state.state = 0;
|
||||
xtap_state.state = TD_NONE;
|
||||
}
|
||||
|
||||
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||
@@ -343,9 +345,11 @@ enum td_keycodes {
|
||||
|
||||
// Define a type containing as many tapdance states as you need
|
||||
typedef enum {
|
||||
SINGLE_TAP,
|
||||
SINGLE_HOLD,
|
||||
DOUBLE_SINGLE_TAP
|
||||
TD_NONE,
|
||||
TD_UNKNOWN,
|
||||
TD_SINGLE_TAP,
|
||||
TD_SINGLE_HOLD,
|
||||
TD_DOUBLE_SINGLE_TAP
|
||||
} td_state_t;
|
||||
|
||||
// Create a global instance of the tapdance state type
|
||||
@@ -354,7 +358,7 @@ static td_state_t td_state;
|
||||
// Declare your tapdance functions:
|
||||
|
||||
// Function to determine the current tapdance state
|
||||
uint8_t cur_dance(qk_tap_dance_state_t *state);
|
||||
td_state_t cur_dance(qk_tap_dance_state_t *state);
|
||||
|
||||
// `finished` and `reset` functions for each tapdance keycode
|
||||
void altlp_finished(qk_tap_dance_state_t *state, void *user_data);
|
||||
@@ -365,14 +369,14 @@ Below your `LAYOUT`, define each of the tapdance functions:
|
||||
|
||||
```c
|
||||
// Determine the tapdance state to return
|
||||
uint8_t cur_dance(qk_tap_dance_state_t *state) {
|
||||
td_state_t cur_dance(qk_tap_dance_state_t *state) {
|
||||
if (state->count == 1) {
|
||||
if (state->interrupted || !state->pressed) return SINGLE_TAP;
|
||||
else return SINGLE_HOLD;
|
||||
if (state->interrupted || !state->pressed) return TD_SINGLE_TAP;
|
||||
else return TD_SINGLE_HOLD;
|
||||
}
|
||||
|
||||
if (state->count == 2) return DOUBLE_SINGLE_TAP;
|
||||
else return 3; // Any number higher than the maximum state value you return above
|
||||
if (state->count == 2) return TD_DOUBLE_SINGLE_TAP;
|
||||
else return TD_UNKNOWN; // Any number higher than the maximum state value you return above
|
||||
}
|
||||
|
||||
// Handle the possible states for each tapdance keycode you define:
|
||||
@@ -380,13 +384,13 @@ uint8_t cur_dance(qk_tap_dance_state_t *state) {
|
||||
void altlp_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
td_state = cur_dance(state);
|
||||
switch (td_state) {
|
||||
case SINGLE_TAP:
|
||||
case TD_SINGLE_TAP:
|
||||
register_code16(KC_LPRN);
|
||||
break;
|
||||
case SINGLE_HOLD:
|
||||
case TD_SINGLE_HOLD:
|
||||
register_mods(MOD_BIT(KC_LALT)); // For a layer-tap key, use `layer_on(_MY_LAYER)` here
|
||||
break;
|
||||
case DOUBLE_SINGLE_TAP: // Allow nesting of 2 parens `((` within tapping term
|
||||
case TD_DOUBLE_SINGLE_TAP: // Allow nesting of 2 parens `((` within tapping term
|
||||
tap_code16(KC_LPRN);
|
||||
register_code16(KC_LPRN);
|
||||
}
|
||||
@@ -394,13 +398,13 @@ void altlp_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
|
||||
void altlp_reset(qk_tap_dance_state_t *state, void *user_data) {
|
||||
switch (td_state) {
|
||||
case SINGLE_TAP:
|
||||
case TD_SINGLE_TAP:
|
||||
unregister_code16(KC_LPRN);
|
||||
break;
|
||||
case SINGLE_HOLD:
|
||||
case TD_SINGLE_HOLD:
|
||||
unregister_mods(MOD_BIT(KC_LALT)); // For a layer-tap key, use `layer_off(_MY_LAYER)` here
|
||||
break;
|
||||
case DOUBLE_SINGLE_TAP:
|
||||
case TD_DOUBLE_SINGLE_TAP:
|
||||
unregister_code16(KC_LPRN);
|
||||
}
|
||||
}
|
||||
@@ -420,17 +424,19 @@ Tap Dance can be used to mimic MO(layer) and TG(layer) functionality. For this e
|
||||
The first step is to include the following code towards the beginning of your `keymap.c`:
|
||||
|
||||
```c
|
||||
// Define a type for as many tap dance states as you need
|
||||
typedef enum {
|
||||
TD_NONE,
|
||||
TD_UNKNOWN,
|
||||
TD_SINGLE_TAP,
|
||||
TD_SINGLE_HOLD,
|
||||
TD_DOUBLE_TAP
|
||||
} td_state_t;
|
||||
|
||||
typedef struct {
|
||||
bool is_press_action;
|
||||
uint8_t state;
|
||||
} tap;
|
||||
|
||||
// Define a type for as many tap dance states as you need
|
||||
enum {
|
||||
SINGLE_TAP = 1,
|
||||
SINGLE_HOLD,
|
||||
DOUBLE_TAP
|
||||
};
|
||||
td_state_t state;
|
||||
} td_tap_t;
|
||||
|
||||
enum {
|
||||
QUOT_LAYR, // Our custom tap dance key; add any other tap dance keys to this enum
|
||||
@@ -439,7 +445,7 @@ enum {
|
||||
// Declare the functions to be used with your tap dance key(s)
|
||||
|
||||
// Function associated with all tap dances
|
||||
uint8_t cur_dance(qk_tap_dance_state_t *state);
|
||||
td_state_t cur_dance(qk_tap_dance_state_t *state);
|
||||
|
||||
// Functions associated with individual tap dances
|
||||
void ql_finished(qk_tap_dance_state_t *state, void *user_data);
|
||||
@@ -450,31 +456,31 @@ Towards the bottom of your `keymap.c`, include the following code:
|
||||
|
||||
```c
|
||||
// Determine the current tap dance state
|
||||
uint8_t cur_dance(qk_tap_dance_state_t *state) {
|
||||
td_state_t cur_dance(qk_tap_dance_state_t *state) {
|
||||
if (state->count == 1) {
|
||||
if (!state->pressed) return SINGLE_TAP;
|
||||
else return SINGLE_HOLD;
|
||||
} else if (state->count == 2) return DOUBLE_TAP;
|
||||
else return 8;
|
||||
if (!state->pressed) return TD_SINGLE_TAP;
|
||||
else return TD_SINGLE_HOLD;
|
||||
} else if (state->count == 2) return TD_DOUBLE_TAP;
|
||||
else return TD_UNKNOWN;
|
||||
}
|
||||
|
||||
// Initialize tap structure associated with example tap dance key
|
||||
static tap ql_tap_state = {
|
||||
static td_tap_t ql_tap_state = {
|
||||
.is_press_action = true,
|
||||
.state = 0
|
||||
.state = TD_NONE
|
||||
};
|
||||
|
||||
// Functions that control what our tap dance key does
|
||||
void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
ql_tap_state.state = cur_dance(state);
|
||||
switch (ql_tap_state.state) {
|
||||
case SINGLE_TAP:
|
||||
case TD_SINGLE_TAP:
|
||||
tap_code(KC_QUOT);
|
||||
break;
|
||||
case SINGLE_HOLD:
|
||||
case TD_SINGLE_HOLD:
|
||||
layer_on(_MY_LAYER);
|
||||
break;
|
||||
case DOUBLE_TAP:
|
||||
case TD_DOUBLE_TAP:
|
||||
// Check to see if the layer is already set
|
||||
if (layer_state_is(_MY_LAYER)) {
|
||||
// If already set, then switch it off
|
||||
@@ -489,10 +495,10 @@ void ql_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||
|
||||
void ql_reset(qk_tap_dance_state_t *state, void *user_data) {
|
||||
// If the key was held down and now is released then switch off the layer
|
||||
if (ql_tap_state.state == SINGLE_HOLD) {
|
||||
if (ql_tap_state.state == TD_SINGLE_HOLD) {
|
||||
layer_off(_MY_LAYER);
|
||||
}
|
||||
ql_tap_state.state = 0;
|
||||
ql_tap_state.state = TD_NONE;
|
||||
}
|
||||
|
||||
// Associate our tap dance key with its functionality
|
||||
@@ -505,7 +511,7 @@ The above code is similar to that used in previous examples. The one point to no
|
||||
|
||||
The use of `cur_dance()` and `ql_tap_state` mirrors the above examples.
|
||||
|
||||
The `case:SINGLE_TAP` in `ql_finished` is similar to the above examples. The `SINGLE_HOLD` case works in conjunction with `ql_reset()` to switch to `_MY_LAYER` while the tap dance key is held, and to switch away from `_MY_LAYER` when the key is released. This mirrors the use of `MO(_MY_LAYER)`. The `DOUBLE_TAP` case works by checking whether `_MY_LAYER` is the active layer, and toggling it on or off accordingly. This mirrors the use of `TG(_MY_LAYER)`.
|
||||
The `case: TD_SINGLE_TAP` in `ql_finished` is similar to the above examples. The `TD_SINGLE_HOLD` case works in conjunction with `ql_reset()` to switch to `_MY_LAYER` while the tap dance key is held, and to switch away from `_MY_LAYER` when the key is released. This mirrors the use of `MO(_MY_LAYER)`. The `TD_DOUBLE_TAP` case works by checking whether `_MY_LAYER` is the active layer, and toggling it on or off accordingly. This mirrors the use of `TG(_MY_LAYER)`.
|
||||
|
||||
`tap_dance_actions[]` works similar to the above examples. Note that I used `ACTION_TAP_DANCE_FN_ADVANCED_TIME()` instead of `ACTION_TAP_DANCE_FN_ADVANCED()`. This is because I like my `TAPPING_TERM` to be short (\~175ms) for my non-tap-dance keys but find that this is too quick for me to reliably complete tap dance actions - thus the increased time of 275ms here.
|
||||
|
||||
|
@@ -50,11 +50,13 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations
|
||||
|
||||
## Caveats
|
||||
|
||||
Unfortunately, these keycodes cannot be used in Mod-Taps or Layer-Taps, since any modifiers specified in the keycode are ignored.
|
||||
Currently, the `kc` argument of `MT()` is limited to the [Basic Keycode set](keycodes_basic.md), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. This is because QMK uses 16-bit keycodes, of which 3 bits are used for the function identifier, 1 bit for selecting right or left mods, and 4 bits to tell which mods are used, leaving only 8 bits for the keycode. Additionally, if at least one right-handed modifier is specified in a Mod-Tap, it will cause all modifiers specified to become right-handed, so it is not possible to mix and match the two - for example, Left Control and Right Shift would become Right Control and Right Shift.
|
||||
|
||||
Additionally, you may run into issues when using Remote Desktop Connection on Windows. Because these codes send shift very fast, Remote Desktop may miss the codes.
|
||||
Expanding this would be complicated, at best. Moving to a 32-bit keycode would solve a lot of this, but would double the amount of space that the keymap matrix uses. And it could potentially cause issues, too. If you need to apply modifiers to your tapped keycode, [Tap Dance](feature_tap_dance.md#example-5-using-tap-dance-for-advanced-mod-tap-and-layer-tap-keys) can be used to accomplish this.
|
||||
|
||||
To fix this, open Remote Desktop Connection, click on "Show Options", open the the "Local Resources" tab. In the keyboard section, change the drop down to "On this Computer". This will fix the issue, and allow the characters to work correctly.
|
||||
You may also run into issues when using Remote Desktop Connection on Windows. Because these keycodes send key events faster than a human, Remote Desktop could miss them.
|
||||
To fix this, open Remote Desktop Connection, click on "Show Options", open the the "Local Resources" tab, and in the keyboard section, change the drop down to "On this Computer". This will fix the issue, and allow the characters to work correctly.
|
||||
It can also be mitigated by increasing [`TAP_CODE_DELAY`](config_options.md#behaviors-that-can-be-configured).
|
||||
|
||||
## Other Resources
|
||||
|
||||
|
25
keyboards/2key2crawl/info.json
Normal file
25
keyboards/2key2crawl/info.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"keyboard_name": "2Key2CrawlPad",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 6.5,
|
||||
"height": 2,
|
||||
"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":"K15", "x":4, "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":"K16", "x":5.5, "y":0.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
197
keyboards/40percentclub/4x4/info.json
Normal file
197
keyboards/40percentclub/4x4/info.json
Normal file
@@ -0,0 +1,197 @@
|
||||
{
|
||||
"keyboard_name": "40percent.club 4x4",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"height": 4,
|
||||
"width": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x4": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_4x8": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_4x12": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_4x16": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
{"x":12, "y":1},
|
||||
{"x":13, "y":1},
|
||||
{"x":14, "y":1},
|
||||
{"x":15, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":2},
|
||||
{"x":15, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3},
|
||||
{"x":12, "y":3},
|
||||
{"x":13, "y":3},
|
||||
{"x":14, "y":3},
|
||||
{"x":15, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
183
keyboards/40percentclub/5x5/info.json
Normal file
183
keyboards/40percentclub/5x5/info.json
Normal file
@@ -0,0 +1,183 @@
|
||||
{
|
||||
"keyboard_name": "40percent.club 4x4",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"height": 4,
|
||||
"width": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x5": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
|
||||
{"x":0, "y":4},
|
||||
{"x":1, "y":4},
|
||||
{"x":2, "y":4},
|
||||
{"x":3, "y":4},
|
||||
{"x":4, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_5x10": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
|
||||
{"x":0, "y":4},
|
||||
{"x":1, "y":4},
|
||||
{"x":2, "y":4},
|
||||
{"x":3, "y":4},
|
||||
{"x":4, "y":4},
|
||||
{"x":5, "y":4},
|
||||
{"x":6, "y":4},
|
||||
{"x":7, "y":4},
|
||||
{"x":8, "y":4},
|
||||
{"x":9, "y":4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_5x15": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
{"x":12, "y":1},
|
||||
{"x":13, "y":1},
|
||||
{"x":14, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3},
|
||||
{"x":12, "y":3},
|
||||
{"x":13, "y":3},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4},
|
||||
{"x":1, "y":4},
|
||||
{"x":2, "y":4},
|
||||
{"x":3, "y":4},
|
||||
{"x":4, "y":4},
|
||||
{"x":5, "y":4},
|
||||
{"x":6, "y":4},
|
||||
{"x":7, "y":4},
|
||||
{"x":8, "y":4},
|
||||
{"x":9, "y":4},
|
||||
{"x":10, "y":4},
|
||||
{"x":11, "y":4},
|
||||
{"x":12, "y":4},
|
||||
{"x":13, "y":4},
|
||||
{"x":14, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
81
keyboards/4pplet/aekiso60/rev_a/info.json
Normal file
81
keyboards/4pplet/aekiso60/rev_a/info.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"keyboard_name": "AEKISO60 Rev A",
|
||||
"url": "",
|
||||
"maintainer": "4pplet",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0, "w":1.25},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.25, "y":0},
|
||||
{"x":6.25, "y":0},
|
||||
{"x":7.25, "y":0},
|
||||
{"x":8.25, "y":0},
|
||||
{"x":9.25, "y":0},
|
||||
{"x":10.25, "y":0},
|
||||
{"x":11.25, "y":0},
|
||||
{"x":12.25, "y":0},
|
||||
{"x":13.25, "y":0, "w":1.75},
|
||||
|
||||
{"x":0, "y":1, "w":1.75},
|
||||
{"x":1.75, "y":1},
|
||||
{"x":2.75, "y":1},
|
||||
{"x":3.75, "y":1},
|
||||
{"x":4.75, "y":1},
|
||||
{"x":5.75, "y":1},
|
||||
{"x":6.75, "y":1},
|
||||
{"x":7.75, "y":1},
|
||||
{"x":8.75, "y":1},
|
||||
{"x":9.75, "y":1},
|
||||
{"x":10.75, "y":1},
|
||||
{"x":11.75, "y":1},
|
||||
{"x":12.75, "y":1},
|
||||
|
||||
{"x":0, "y":2, "w":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":1, "h":2},
|
||||
|
||||
{"x":0, "y":3, "w":1.5},
|
||||
{"x":1.5, "y":3},
|
||||
{"x":2.5, "y":3},
|
||||
{"x":3.5, "y":3},
|
||||
{"x":4.5, "y":3},
|
||||
{"x":5.5, "y":3},
|
||||
{"x":6.5, "y":3},
|
||||
{"x":7.5, "y":3},
|
||||
{"x":8.5, "y":3},
|
||||
{"x":9.5, "y":3},
|
||||
{"x":10.5, "y":3},
|
||||
{"x":11.5, "y":3},
|
||||
{"x":12.5, "y":3, "w":1.5},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4, "w":1.5},
|
||||
{"x":1.5, "y":4, "w":1.25},
|
||||
{"x":2.75, "y":4, "w":1.5},
|
||||
{"x":4.25, "y":4, "w":2.75},
|
||||
{"x":7, "y":4},
|
||||
{"x":8, "y":4, "w":2.75},
|
||||
{"x":10.75, "y":4, "w":1.5},
|
||||
{"x":12.25, "y":4, "w":1.25},
|
||||
{"x":13.5, "y":4, "w":1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
87
keyboards/4pplet/steezy60/rev_a/info.json
Normal file
87
keyboards/4pplet/steezy60/rev_a/info.json
Normal file
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"keyboard_name": "Steezy60 Rev A",
|
||||
"url": "",
|
||||
"maintainer": "4pplet",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
|
||||
{"x":0, "y":1, "w":1.5},
|
||||
{"x":1.5, "y":1},
|
||||
{"x":2.5, "y":1},
|
||||
{"x":3.5, "y":1},
|
||||
{"x":4.5, "y":1},
|
||||
{"x":5.5, "y":1},
|
||||
{"x":6.5, "y":1},
|
||||
{"x":7.5, "y":1},
|
||||
{"x":8.5, "y":1},
|
||||
{"x":9.5, "y":1},
|
||||
{"x":10.5, "y":1},
|
||||
{"x":11.5, "y":1},
|
||||
{"x":12.5, "y":1},
|
||||
{"x":13.5, "y":1, "w":1.5},
|
||||
|
||||
{"x":0, "y":2, "w":1.75},
|
||||
{"x":1.75, "y":2},
|
||||
{"x":2.75, "y":2},
|
||||
{"x":3.75, "y":2},
|
||||
{"x":4.75, "y":2},
|
||||
{"x":5.75, "y":2},
|
||||
{"x":6.75, "y":2},
|
||||
{"x":7.75, "y":2},
|
||||
{"x":8.75, "y":2},
|
||||
{"x":9.75, "y":2},
|
||||
{"x":10.75, "y":2},
|
||||
{"x":11.75, "y":2},
|
||||
{"x":12.75, "y":2},
|
||||
{"x":13.75, "y":2, "w":1.25},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3},
|
||||
{"x":12, "y":3},
|
||||
{"x":13, "y":3},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4},
|
||||
{"x":1, "y":4},
|
||||
{"x":2, "y":4},
|
||||
{"x":3, "y":4},
|
||||
{"x":4, "y":4, "w":2.25},
|
||||
{"x":6.25, "y":4, "w":1.5},
|
||||
{"x":7.75, "y":4, "w":2.25},
|
||||
{"x":10, "y":4},
|
||||
{"x":11, "y":4},
|
||||
{"x":12, "y":4},
|
||||
{"x":13, "y":4},
|
||||
{"x":14, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
20
keyboards/6ball/info.json
Normal file
20
keyboards/6ball/info.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"keyboard_name": "6-Ball",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 3,
|
||||
"height": 3,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0.5},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0.5},
|
||||
|
||||
{"x":0, "y":1.5},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":1.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
210
keyboards/7c8/framework/info.json
Normal file
210
keyboards/7c8/framework/info.json
Normal file
@@ -0,0 +1,210 @@
|
||||
{
|
||||
"keyboard_name": "Framework",
|
||||
"url": "",
|
||||
"maintainer": "stevennguyen",
|
||||
"width": 12,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4},
|
||||
{"x": 5, "y": 4},
|
||||
{"x": 6, "y": 4},
|
||||
{"x": 7, "y": 4},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_5x12_1x2uC": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4},
|
||||
{"x": 5, "y": 4, "w": 2},
|
||||
{"x": 7, "y": 4},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_preonic_2x2u": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4, "w": 2},
|
||||
{"x": 6, "y": 4, "w": 2},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
85
keyboards/aeboards/constellation/info.json
Normal file
85
keyboards/aeboards/constellation/info.json
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"keyboard_name": "Constellation",
|
||||
"url": "",
|
||||
"maintainer": "Xelus22",
|
||||
"width": 16,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15, "y":0},
|
||||
|
||||
{"x":0, "y":1, "w":1.5},
|
||||
{"x":1.5, "y":1},
|
||||
{"x":2.5, "y":1},
|
||||
{"x":3.5, "y":1},
|
||||
{"x":4.5, "y":1},
|
||||
{"x":5.5, "y":1},
|
||||
{"x":6.5, "y":1},
|
||||
{"x":7.5, "y":1},
|
||||
{"x":8.5, "y":1},
|
||||
{"x":9.5, "y":1},
|
||||
{"x":10.5, "y":1},
|
||||
{"x":11.5, "y":1},
|
||||
{"x":12.5, "y":1},
|
||||
{"x":13.5, "y":1, "w":1.5},
|
||||
{"x":15, "y":1},
|
||||
|
||||
{"x":0, "y":2, "w":1.75},
|
||||
{"x":1.75, "y":2},
|
||||
{"x":2.75, "y":2},
|
||||
{"x":3.75, "y":2},
|
||||
{"x":4.75, "y":2},
|
||||
{"x":5.75, "y":2},
|
||||
{"x":6.75, "y":2},
|
||||
{"x":7.75, "y":2},
|
||||
{"x":8.75, "y":2},
|
||||
{"x":9.75, "y":2},
|
||||
{"x":10.75, "y":2},
|
||||
{"label":"\"", "x":11.75, "y":2},
|
||||
{"x":12.75, "y":2, "w":2.25},
|
||||
{"x":15, "y":2},
|
||||
|
||||
{"x":0, "y":3, "w":2.25},
|
||||
{"x":2.25, "y":3},
|
||||
{"x":3.25, "y":3},
|
||||
{"x":4.25, "y":3},
|
||||
{"x":5.25, "y":3},
|
||||
{"x":6.25, "y":3},
|
||||
{"x":7.25, "y":3},
|
||||
{"x":8.25, "y":3},
|
||||
{"x":9.25, "y":3},
|
||||
{"x":10.25, "y":3},
|
||||
{"x":11.25, "y":3},
|
||||
{"x":12.25, "y":3, "w":1.75},
|
||||
{"x":14, "y":3},
|
||||
{"x":15, "y":3},
|
||||
|
||||
{"x":0, "y":4, "w":1.25},
|
||||
{"x":1.25, "y":4, "w":1.25},
|
||||
{"x":2.5, "y":4, "w":1.25},
|
||||
{"x":3.75, "y":4, "w":6.25},
|
||||
{"x":10, "y":4, "w":1.5},
|
||||
{"x":11.5, "y":4, "w":1.5},
|
||||
{"x":13, "y":4},
|
||||
{"x":14, "y":4},
|
||||
{"x":15, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
87
keyboards/afternoonlabs/breeze/keymaps/via/keymap.c
Normal file
87
keyboards/afternoonlabs/breeze/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,87 @@
|
||||
/* Copyright 2021 eithanshavit
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_MAIN,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_MAIN] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
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_LEFT, KC_DOWN, KC_RIGHT,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
_______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[3] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
)
|
||||
|
||||
|
||||
};
|
5
keyboards/afternoonlabs/breeze/keymaps/via/readme.md
Normal file
5
keyboards/afternoonlabs/breeze/keymaps/via/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Default Breeze Layout + VIA support
|
||||
|
||||

|
||||
|
||||
This is the default suggested layout for Breeze Split Keyboard, with VIA support.
|
10
keyboards/afternoonlabs/breeze/keymaps/via/rules.mk
Normal file
10
keyboards/afternoonlabs/breeze/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,10 @@
|
||||
VIA_ENABLE = yes
|
||||
# LTO: link time optimization makes the build take slightly longer
|
||||
# but makes the resulting .hex file smaller, which allows you to
|
||||
# fit more features into smaller MCUs:
|
||||
LTO_ENABLE = yes
|
||||
# Support for these features make the hex file larger, but we want 'em:
|
||||
MOUSEKEY_ENABLE = yes # Allow mapping of mouse control keys
|
||||
EXTRAKEY_ENABLE = yes # Allow audio & system control keys
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # Support USB N-key roll over.
|
@@ -2,11 +2,86 @@
|
||||
"keyboard_name": "zodiark",
|
||||
"url": "https://github.com/Aleblazer/qmk_firmware/tree/master/keyboards/zodiark",
|
||||
"maintainer": "Aleblazer",
|
||||
"width": 19,
|
||||
"height": 8.48,
|
||||
"width": 18,
|
||||
"height": 6.25,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"L03", "x":3, "y":0}, {"label":"R03", "x":15, "y":0}, {"label":"L02", "x":2, "y":0.125}, {"label":"L04", "x":4, "y":0.125}, {"label":"R02", "x":14, "y":0.125}, {"label":"R04", "x":16, "y":0.125}, {"label":"L05", "x":5, "y":0.25}, {"label":"R01", "x":13, "y":0.25}, {"label":"L00", "x":0, "y":0.53}, {"label":"L01", "x":1, "y":0.53}, {"label":"R05", "x":17, "y":0.53}, {"label":"R06", "x":18, "y":0.53}, {"label":"L13", "x":3, "y":1}, {"label":"R13", "x":15, "y":1}, {"label":"L12", "x":2, "y":1.125}, {"label":"L14", "x":4, "y":1.125}, {"label":"R12", "x":14, "y":1.125}, {"label":"R14", "x":16, "y":1.125}, {"label":"L15", "x":5, "y":1.25}, {"label":"R11", "x":13, "y":1.25}, {"label":"L10", "x":0, "y":1.53}, {"label":"L11", "x":1, "y":1.53}, {"label":"R15", "x":17, "y":1.53}, {"label":"R16", "x":18, "y":1.53}, {"label":"L06", "x":6, "y":1.7000000000000002}, {"label":"R00", "x":12, "y":1.7000000000000002}, {"label":"L23", "x":3, "y":2.0}, {"label":"R23", "x":15, "y":2.0}, {"label":"L22", "x":2, "y":2.125}, {"label":"L24", "x":4, "y":2.125}, {"label":"R22", "x":14, "y":2.125}, {"label":"R24", "x":16, "y":2.125}, {"label":"L25", "x":5, "y":2.25}, {"label":"R21", "x":13, "y":2.25}, {"label":"L20", "x":0, "y":2.5300000000000002}, {"label":"L21", "x":1, "y":2.5300000000000002}, {"label":"R25", "x":17, "y":2.5300000000000002}, {"label":"R26", "x":18, "y":2.5300000000000002}, {"label":"L16", "x":6, "y":2.7}, {"label":"R10", "x":12, "y":2.7}, {"label":"L33", "x":3, "y":3.0000000000000004}, {"label":"R33", "x":15, "y":3.0000000000000004}, {"label":"L32", "x":2, "y":3.1250000000000004}, {"label":"L34", "x":4, "y":3.1250000000000004}, {"label":"R32", "x":14, "y":3.1250000000000004}, {"label":"R34", "x":16, "y":3.1250000000000004}, {"label":"L35", "x":5, "y":3.2500000000000004}, {"label":"R31", "x":13, "y":3.2500000000000004}, {"label":"L30", "x":0, "y":3.5300000000000002}, {"label":"L31", "x":1, "y":3.5300000000000002}, {"label":"R35", "x":17, "y":3.5300000000000002}, {"label":"R36", "x":18, "y":3.5300000000000002}, {"label":"L43", "x":3, "y":4.0}, {"label":"R43", "x":15, "y":4.0}, {"label":"L42", "x":2, "y":4.125}, {"label":"R44", "x":16, "y":4.125}, {"label":"L44", "x":4, "y":4.13}, {"label":"R42", "x":14, "y":4.13}, {"label":"L40", "x":0, "y":4.53}, {"label":"L41", "x":1, "y":4.53}, {"label":"R45", "x":17, "y":4.53}, {"label":"R46", "x":18, "y":4.53}, {"label":"L26", "x":-0.33, "y":5.13}, {"label":"L36", "x":0.6699999999999999, "y":5.13}, {"label":"L45", "x":-0.83, "y":6.13, "w":1.5}, {"label":"L46", "x":0.67, "y":6.13}, {"label":"R30", "x":-2.1, "y":6.48}, {"label":"R20", "x":-1.1, "y":6.48}, {"label":"R40", "x":-2.1, "y":7.48}, {"label":"R41", "x":-1.1, "y":7.48, "w":1.5}]
|
||||
"layout": [
|
||||
{"x":0, "y":0.53},
|
||||
{"x":1, "y":0.53},
|
||||
{"x":2, "y":0.125},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0.125},
|
||||
{"x":5, "y":0.25},
|
||||
{"x":12, "y":0.25},
|
||||
{"x":13, "y":0.125},
|
||||
{"x":14, "y":0},
|
||||
{"x":15, "y":0.125},
|
||||
{"x":16, "y":0.53},
|
||||
{"x":17, "y":0.53},
|
||||
|
||||
{"x":0, "y":1.53},
|
||||
{"x":1, "y":1.53},
|
||||
{"x":2, "y":1.125},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1.125},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":6, "y":1.7},
|
||||
{"x":11, "y":1.7},
|
||||
{"x":12, "y":1.25},
|
||||
{"x":13, "y":1.125},
|
||||
{"x":14, "y":1},
|
||||
{"x":15, "y":1.125},
|
||||
{"x":16, "y":1.53},
|
||||
{"x":17, "y":1.53},
|
||||
|
||||
{"x":0, "y":2.53},
|
||||
{"x":1, "y":2.53},
|
||||
{"x":2, "y":2.125},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2.125},
|
||||
{"x":5, "y":2.25},
|
||||
{"x":6, "y":2.7},
|
||||
{"x":11, "y":2.7},
|
||||
{"x":12, "y":2.25},
|
||||
{"x":13, "y":2.125},
|
||||
{"x":14, "y":2},
|
||||
{"x":15, "y":2.125},
|
||||
{"x":16, "y":2.53},
|
||||
{"x":17, "y":2.53},
|
||||
|
||||
{"x":0, "y":3.53},
|
||||
{"x":1, "y":3.53},
|
||||
{"x":2, "y":3.125},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3.125},
|
||||
{"x":5, "y":3.25},
|
||||
{"x":6.5, "y":4.25},
|
||||
{"x":7.5, "y":4.25},
|
||||
{"x":9.5, "y":4.25},
|
||||
{"x":10.5, "y":4.25},
|
||||
{"x":12, "y":3.25},
|
||||
{"x":13, "y":3.125},
|
||||
{"x":14, "y":3},
|
||||
{"x":15, "y":3.125},
|
||||
{"x":16, "y":3.53},
|
||||
{"x":17, "y":3.53},
|
||||
|
||||
{"x":0, "y":4.53},
|
||||
{"x":1, "y":4.53},
|
||||
{"x":2, "y":4.125},
|
||||
{"x":3, "y":4},
|
||||
{"x":4, "y":4.125},
|
||||
{"x":6, "y":5.25, "w":1.5},
|
||||
{"x":7.5, "y":5.25},
|
||||
{"x":9.5, "y":5.25},
|
||||
{"x":10.5, "y":5.25, "w":1.5},
|
||||
{"x":13, "y":4.125},
|
||||
{"x":14, "y":4},
|
||||
{"x":15, "y":4.125},
|
||||
{"x":16, "y":4.53},
|
||||
{"x":17, "y":4.53}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -10,11 +10,11 @@ A split keyboard with 5x7 including a thumbcluster, encoders on each side, per k
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make zodiark:default
|
||||
make aleblazer/zodiark:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make zodiark:default:flash
|
||||
make aleblazer/zodiark:default:flash
|
||||
|
||||
Remove TRRS cable from halves, plug into one side, press reset button when asked. Repeat process on the other side.
|
||||
|
||||
|
84
keyboards/alpine65/info.json
Normal file
84
keyboards/alpine65/info.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"keyboard_name": "Alpine65",
|
||||
"url": "",
|
||||
"maintainer": "Gondolindrim",
|
||||
"width": 16.25,
|
||||
"height": 5.25,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0, "w":2},
|
||||
|
||||
{"x":0, "y":1, "w":1.5},
|
||||
{"x":1.5, "y":1},
|
||||
{"x":2.5, "y":1},
|
||||
{"x":3.5, "y":1},
|
||||
{"x":4.5, "y":1},
|
||||
{"x":5.5, "y":1},
|
||||
{"x":6.5, "y":1},
|
||||
{"x":7.5, "y":1},
|
||||
{"x":8.5, "y":1},
|
||||
{"x":9.5, "y":1},
|
||||
{"x":10.5, "y":1},
|
||||
{"x":11.5, "y":1},
|
||||
{"x":12.5, "y":1},
|
||||
{"x":13.5, "y":1, "w":1.5},
|
||||
{"x":15.25, "y":1.25},
|
||||
|
||||
{"x":0, "y":2, "w":1.75},
|
||||
{"x":1.75, "y":2},
|
||||
{"x":2.75, "y":2},
|
||||
{"x":3.75, "y":2},
|
||||
{"x":4.75, "y":2},
|
||||
{"x":5.75, "y":2},
|
||||
{"x":6.75, "y":2},
|
||||
{"x":7.75, "y":2},
|
||||
{"x":8.75, "y":2},
|
||||
{"x":9.75, "y":2},
|
||||
{"x":10.75, "y":2},
|
||||
{"x":11.75, "y":2},
|
||||
{"x":12.75, "y":2, "w":2.25},
|
||||
{"x":15.25, "y":2.25},
|
||||
|
||||
{"x":0, "y":3, "w":2.25},
|
||||
{"x":2.25, "y":3},
|
||||
{"x":3.25, "y":3},
|
||||
{"x":4.25, "y":3},
|
||||
{"x":5.25, "y":3},
|
||||
{"x":6.25, "y":3},
|
||||
{"x":7.25, "y":3},
|
||||
{"x":8.25, "y":3},
|
||||
{"x":9.25, "y":3},
|
||||
{"x":10.25, "y":3},
|
||||
{"x":11.25, "y":3},
|
||||
{"x":12.25, "y":3, "w":1.75},
|
||||
{"x":14.25, "y":3.25},
|
||||
{"x":15.25, "y":3.25},
|
||||
|
||||
{"x":0, "y":4, "w":1.25},
|
||||
{"x":1.25, "y":4, "w":1.25},
|
||||
{"x":2.5, "y":4, "w":1.25},
|
||||
{"x":3.75, "y":4, "w":6.25},
|
||||
{"x":10, "y":4},
|
||||
{"x":11, "y":4},
|
||||
{"x":12, "y":4},
|
||||
{"x":13.25, "y":4.25},
|
||||
{"x":14.25, "y":4.25},
|
||||
{"x":15.25, "y":4.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
20
keyboards/aplyard/aplx6/info.json
Normal file
20
keyboards/aplyard/aplx6/info.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"keyboard_name": "Aplx6",
|
||||
"url": "",
|
||||
"maintainer": "Aplyard",
|
||||
"width": 3,
|
||||
"height": 2,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
52
keyboards/arch_36/info.json
Normal file
52
keyboards/arch_36/info.json
Normal file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"keyboard_name": "Arch-36",
|
||||
"url": "",
|
||||
"maintainer": "obosob",
|
||||
"width": 14,
|
||||
"height": 5.1,
|
||||
"layouts": {
|
||||
"LAYOUT_split_3x5_3": {
|
||||
"layout": [
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":0.25},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0.375},
|
||||
{"x":4, "y":0.5},
|
||||
{"x":9, "y":0.5},
|
||||
{"x":10, "y":0.375},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0.25},
|
||||
{"x":13, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":1.25},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1.375},
|
||||
{"x":4, "y":1.5},
|
||||
{"x":9, "y":1.5},
|
||||
{"x":10, "y":1.375},
|
||||
{"x":11, "y":1},
|
||||
{"x":12, "y":1.25},
|
||||
{"x":13, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":2.25},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2.375},
|
||||
{"x":4, "y":2.5},
|
||||
{"x":9, "y":2.5},
|
||||
{"x":10, "y":2.375},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2.25},
|
||||
{"x":13, "y":3},
|
||||
|
||||
{"x":3.5, "y":3.5},
|
||||
{"x":4.5, "y":3.7},
|
||||
{"x":5.5, "y":4.1},
|
||||
{"x":7.5, "y":4.1},
|
||||
{"x":8.5, "y":3.7},
|
||||
{"x":9.5, "y":3.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
84
keyboards/arisu/info.json
Normal file
84
keyboards/arisu/info.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"keyboard_name": "Arisu",
|
||||
"url": "https://github.com/FateNozomi/arisu-pcb",
|
||||
"maintainer": "FateNozomi",
|
||||
"width": 18.3,
|
||||
"height": 5.25,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15, "y":0},
|
||||
{"x":16, "y":0},
|
||||
{"x":17.3, "y":0},
|
||||
|
||||
{"x":0, "y":1, "w":1.5},
|
||||
{"x":1.5, "y":1},
|
||||
{"x":2.5, "y":1},
|
||||
{"x":3.5, "y":1},
|
||||
{"x":4.5, "y":1},
|
||||
{"x":5.5, "y":1},
|
||||
{"x":8.5, "y":1},
|
||||
{"x":9.5, "y":1},
|
||||
{"x":10.5, "y":1},
|
||||
{"x":11.5, "y":1},
|
||||
{"x":12.5, "y":1},
|
||||
{"x":13.5, "y":1},
|
||||
{"x":14.5, "y":1},
|
||||
{"x":15.5, "y":1, "w":1.5},
|
||||
{"x":17.3, "y":1},
|
||||
|
||||
{"x":0, "y":2, "w":1.75},
|
||||
{"x":1.75, "y":2},
|
||||
{"x":2.75, "y":2},
|
||||
{"x":3.75, "y":2},
|
||||
{"x":4.75, "y":2},
|
||||
{"x":5.75, "y":2},
|
||||
{"x":8.75, "y":2},
|
||||
{"x":9.75, "y":2},
|
||||
{"x":10.75, "y":2},
|
||||
{"x":11.75, "y":2},
|
||||
{"x":12.75, "y":2},
|
||||
{"x":13.75, "y":2},
|
||||
{"x":14.75, "y":2, "w":2.25},
|
||||
{"x":17.3, "y":2},
|
||||
|
||||
{"x":0, "y":3, "w":2.25},
|
||||
{"x":2.25, "y":3},
|
||||
{"x":3.25, "y":3},
|
||||
{"x":4.25, "y":3},
|
||||
{"x":5.25, "y":3},
|
||||
{"x":6.25, "y":3},
|
||||
{"x":9.25, "y":3},
|
||||
{"x":10.25, "y":3},
|
||||
{"x":11.25, "y":3},
|
||||
{"x":12.25, "y":3},
|
||||
{"x":13.25, "y":3},
|
||||
{"x":14.25, "y":3, "w":1.75},
|
||||
{"x":16.3, "y":3.25},
|
||||
|
||||
{"x":0, "y":4, "w":1.5},
|
||||
{"x":3.25, "y":4, "w":1.5},
|
||||
{"x":4.75, "y":4, "w":2},
|
||||
{"x":6.75, "y":4, "w":1.25},
|
||||
{"x":8.75, "y":4, "w":2.75},
|
||||
{"x":11.5, "y":4, "w":1.5},
|
||||
{"x":15.3, "y":4.25},
|
||||
{"x":16.3, "y":4.25},
|
||||
{"x":17.3, "y":4.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
16
keyboards/barleycorn_smd/barleycorn_smd.c
Normal file
16
keyboards/barleycorn_smd/barleycorn_smd.c
Normal file
@@ -0,0 +1,16 @@
|
||||
/* Copyright 2021 Matthew Dias
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include "barleycorn_smd.h"
|
63
keyboards/barleycorn_smd/barleycorn_smd.h
Normal file
63
keyboards/barleycorn_smd/barleycorn_smd.h
Normal file
@@ -0,0 +1,63 @@
|
||||
/* Copyright 2021 Matthew Dias
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT_all( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, K0E, K0F, K0G, K0H, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, K1F, K1G, K1H, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, K2F, K2G, K2H, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, \
|
||||
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H }, \
|
||||
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H } \
|
||||
}
|
||||
|
||||
#define LAYOUT_ansi( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, K0E, K0F, K0G, K0H, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K2C, K1E, K1F, K1G, K1H, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, K2F, K2G, K2H, \
|
||||
K30, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, \
|
||||
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H }, \
|
||||
{ K30, XXX, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H }, \
|
||||
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H } \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K1D, K0E, K0F, K0G, K0H, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, K1F, K1G, K1H, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H, \
|
||||
K40, K41, K42, K46, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, K0H }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, K1H }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, K2H }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, K3H }, \
|
||||
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, K4A, K4B, K4C, K4D, K4E, K4F, K4G, K4H } \
|
||||
}
|
111
keyboards/barleycorn_smd/config.h
Normal file
111
keyboards/barleycorn_smd/config.h
Normal file
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
Copyright 2021 Matthew Dias
|
||||
|
||||
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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#define VENDOR_ID 0x7033
|
||||
#define PRODUCT_ID 0x4749
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER P3D Store
|
||||
#define PRODUCT Barleycorn SMD
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 18
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
|
||||
/* A Custom matrix.c is used to poll the port expander C6 shows that the pins are hardwired there */
|
||||
#define MATRIX_ROW_PINS { F5, F4, F1, F0, F6 }
|
||||
#define MATRIX_COL_PINS { D4, D6, D7, B4, B5, B6, C6, C7, D5, D5, D5, D5, D5, D5, D5, D5, D5, D5 }
|
||||
#define UNUSED_PINS
|
||||
#define PORT_EXPANDER_ADDRESS 0x20
|
||||
|
||||
#define RGB_DI_PIN E6
|
||||
#define RGBLED_NUM 15
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_LED_MAP { 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 5 }
|
||||
|
||||
#define LED_CAPS_LOCK_PIN B2
|
||||
#define LED_NUM_LOCK_PIN B3
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define USB_MAX_POWER_CONSUMPTION 400
|
||||
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is userful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
// #define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
*
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
|
||||
/* disable debug print */
|
||||
//#define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
//#define NO_PRINT
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
283
keyboards/barleycorn_smd/info.json
Normal file
283
keyboards/barleycorn_smd/info.json
Normal file
@@ -0,0 +1,283 @@
|
||||
{
|
||||
"keyboard_name": "Barleycorn SMD",
|
||||
"maintainer": "matthewdias",
|
||||
"width": 19.5,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{ "label": "0,0", "x": 0, "y": 0 },
|
||||
{ "label": "0,1", "x": 1, "y": 0 },
|
||||
{ "label": "0,2", "x": 2, "y": 0 },
|
||||
{ "label": "0,3", "x": 3, "y": 0 },
|
||||
{ "label": "0,4", "x": 4, "y": 0 },
|
||||
{ "label": "0,5", "x": 5, "y": 0 },
|
||||
{ "label": "0,6", "x": 6, "y": 0 },
|
||||
{ "label": "0,7", "x": 7, "y": 0 },
|
||||
{ "label": "0,8", "x": 8, "y": 0 },
|
||||
{ "label": "0,9", "x": 9, "y": 0 },
|
||||
{ "label": "0,10", "x": 10, "y": 0 },
|
||||
{ "label": "0,11", "x": 11, "y": 0 },
|
||||
{ "label": "0,12", "x": 12, "y": 0 },
|
||||
{ "label": "0,13", "x": 13, "y": 0 },
|
||||
{ "label": "1,13", "x": 14, "y": 0 },
|
||||
{ "label": "0,14", "x": 15.5, "y": 0 },
|
||||
{ "label": "0,15", "x": 16.5, "y": 0 },
|
||||
{ "label": "0,16", "x": 17.5, "y": 0 },
|
||||
{ "label": "0,17", "x": 18.5, "y": 0 },
|
||||
|
||||
{ "label": "1,0", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "1,1", "x": 1.5, "y": 1 },
|
||||
{ "label": "1,2", "x": 2.5, "y": 1 },
|
||||
{ "label": "1,3", "x": 3.5, "y": 1 },
|
||||
{ "label": "1,4", "x": 4.5, "y": 1 },
|
||||
{ "label": "1,5", "x": 5.5, "y": 1 },
|
||||
{ "label": "1,6", "x": 6.5, "y": 1 },
|
||||
{ "label": "1,7", "x": 7.5, "y": 1 },
|
||||
{ "label": "1,8", "x": 8.5, "y": 1 },
|
||||
{ "label": "1,9", "x": 9.5, "y": 1 },
|
||||
{ "label": "1,10", "x": 10.5, "y": 1 },
|
||||
{ "label": "1,11", "x": 11.5, "y": 1 },
|
||||
{ "label": "1,12", "x": 12.5, "y": 1 },
|
||||
{ "label": "2,12", "x": 13.5, "y": 1, "w": 1.5 },
|
||||
{ "label": "1,14", "x": 15.5, "y": 1 },
|
||||
{ "label": "1,15", "x": 16.5, "y": 1 },
|
||||
{ "label": "1,16", "x": 17.5, "y": 1 },
|
||||
{ "label": "1,17", "x": 18.5, "y": 1 },
|
||||
|
||||
{ "label": "2,0", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "2,1", "x": 1.75, "y": 2 },
|
||||
{ "label": "2,2", "x": 2.75, "y": 2 },
|
||||
{ "label": "2,3", "x": 3.75, "y": 2 },
|
||||
{ "label": "2,4", "x": 4.75, "y": 2 },
|
||||
{ "label": "2,5", "x": 5.75, "y": 2 },
|
||||
{ "label": "2,6", "x": 6.75, "y": 2 },
|
||||
{ "label": "2,7", "x": 7.75, "y": 2 },
|
||||
{ "label": "2,8", "x": 8.75, "y": 2 },
|
||||
{ "label": "2,9", "x": 9.75, "y": 2 },
|
||||
{ "label": "2,10", "x": 10.75, "y": 2 },
|
||||
{ "label": "2,11", "x": 11.75, "y": 2 },
|
||||
{ "label": "2,13", "x": 12.75, "y": 2, "w": 2.25 },
|
||||
{ "label": "2,14", "x": 15.5, "y": 2 },
|
||||
{ "label": "2,15", "x": 16.5, "y": 2 },
|
||||
{ "label": "2,16", "x": 17.5, "y": 2 },
|
||||
{ "label": "2,17", "x": 18.5, "y": 2 },
|
||||
|
||||
{ "label": "3,0", "x": 0, "y": 3, "w": 1.25 },
|
||||
{ "label": "3,1", "x": 1.25, "y": 3 },
|
||||
{ "label": "3,2", "x": 2.25, "y": 3 },
|
||||
{ "label": "3,3", "x": 3.25, "y": 3 },
|
||||
{ "label": "3,4", "x": 4.25, "y": 3 },
|
||||
{ "label": "3,5", "x": 5.25, "y": 3 },
|
||||
{ "label": "3,6", "x": 6.25, "y": 3 },
|
||||
{ "label": "3,7", "x": 7.25, "y": 3 },
|
||||
{ "label": "3,8", "x": 8.25, "y": 3 },
|
||||
{ "label": "3,9", "x": 9.25, "y": 3 },
|
||||
{ "label": "3,10", "x": 10.25, "y": 3 },
|
||||
{ "label": "3,11", "x": 11.25, "y": 3 },
|
||||
{ "label": "3,12", "x": 12.25, "y": 3, "w": 1.75 },
|
||||
{ "label": "3,13", "x": 14.25, "y": 3.25 },
|
||||
{ "label": "3,14", "x": 15.5, "y": 3 },
|
||||
{ "label": "3,15", "x": 16.5, "y": 3 },
|
||||
{ "label": "3,16", "x": 17.5, "y": 3 },
|
||||
{ "label": "3,17", "x": 18.5, "y": 3 },
|
||||
|
||||
{ "label": "4,0", "x": 0, "y": 4, "w": 1.25 },
|
||||
{ "label": "4,1", "x": 1.25, "y": 4, "w": 1.25 },
|
||||
{ "label": "4,2", "x": 2.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "4,6", "x": 3.75, "y": 4, "w": 6.25 },
|
||||
{ "label": "4,10", "x": 10, "y": 4, "w": 1.5 },
|
||||
{ "label": "4,11", "x": 11.5, "y": 4, "w": 1.5 },
|
||||
{ "label": "4,12", "x": 13.25, "y": 4.25 },
|
||||
{ "label": "4,13", "x": 14.25, "y": 4.25 },
|
||||
{ "label": "4,14", "x": 15.25, "y": 4.25 },
|
||||
{ "label": "4,15", "x": 16.5, "y": 4 },
|
||||
{ "label": "4,16", "x": 17.5, "y": 4 },
|
||||
{ "label": "4,17", "x": 18.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_ansi": {
|
||||
"layout": [
|
||||
{ "label": "0,0", "x": 0, "y": 0 },
|
||||
{ "label": "0,1", "x": 1, "y": 0 },
|
||||
{ "label": "0,2", "x": 2, "y": 0 },
|
||||
{ "label": "0,3", "x": 3, "y": 0 },
|
||||
{ "label": "0,4", "x": 4, "y": 0 },
|
||||
{ "label": "0,5", "x": 5, "y": 0 },
|
||||
{ "label": "0,6", "x": 6, "y": 0 },
|
||||
{ "label": "0,7", "x": 7, "y": 0 },
|
||||
{ "label": "0,8", "x": 8, "y": 0 },
|
||||
{ "label": "0,9", "x": 9, "y": 0 },
|
||||
{ "label": "0,10", "x": 10, "y": 0 },
|
||||
{ "label": "0,11", "x": 11, "y": 0 },
|
||||
{ "label": "0,12", "x": 12, "y": 0 },
|
||||
{ "label": "0,13", "x": 13, "y": 0 },
|
||||
{ "label": "1,13", "x": 14, "y": 0 },
|
||||
{ "label": "0,14", "x": 15.5, "y": 0 },
|
||||
{ "label": "0,15", "x": 16.5, "y": 0 },
|
||||
{ "label": "0,16", "x": 17.5, "y": 0 },
|
||||
{ "label": "0,17", "x": 18.5, "y": 0 },
|
||||
|
||||
{ "label": "1,0", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "1,1", "x": 1.5, "y": 1 },
|
||||
{ "label": "1,2", "x": 2.5, "y": 1 },
|
||||
{ "label": "1,3", "x": 3.5, "y": 1 },
|
||||
{ "label": "1,4", "x": 4.5, "y": 1 },
|
||||
{ "label": "1,5", "x": 5.5, "y": 1 },
|
||||
{ "label": "1,6", "x": 6.5, "y": 1 },
|
||||
{ "label": "1,7", "x": 7.5, "y": 1 },
|
||||
{ "label": "1,8", "x": 8.5, "y": 1 },
|
||||
{ "label": "1,9", "x": 9.5, "y": 1 },
|
||||
{ "label": "1,10", "x": 10.5, "y": 1 },
|
||||
{ "label": "1,11", "x": 11.5, "y": 1 },
|
||||
{ "label": "1,12", "x": 12.5, "y": 1 },
|
||||
{ "label": "2,12", "x": 13.5, "y": 1, "w": 1.5 },
|
||||
{ "label": "1,14", "x": 15.5, "y": 1 },
|
||||
{ "label": "1,15", "x": 16.5, "y": 1 },
|
||||
{ "label": "1,16", "x": 17.5, "y": 1 },
|
||||
{ "label": "1,17", "x": 18.5, "y": 1 },
|
||||
|
||||
{ "label": "2,0", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "2,1", "x": 1.75, "y": 2 },
|
||||
{ "label": "2,2", "x": 2.75, "y": 2 },
|
||||
{ "label": "2,3", "x": 3.75, "y": 2 },
|
||||
{ "label": "2,4", "x": 4.75, "y": 2 },
|
||||
{ "label": "2,5", "x": 5.75, "y": 2 },
|
||||
{ "label": "2,6", "x": 6.75, "y": 2 },
|
||||
{ "label": "2,7", "x": 7.75, "y": 2 },
|
||||
{ "label": "2,8", "x": 8.75, "y": 2 },
|
||||
{ "label": "2,9", "x": 9.75, "y": 2 },
|
||||
{ "label": "2,10", "x": 10.75, "y": 2 },
|
||||
{ "label": "2,11", "x": 11.75, "y": 2 },
|
||||
{ "label": "2,13", "x": 12.75, "y": 2, "w": 2.25 },
|
||||
{ "label": "2,14", "x": 15.5, "y": 2 },
|
||||
{ "label": "2,15", "x": 16.5, "y": 2 },
|
||||
{ "label": "2,16", "x": 17.5, "y": 2 },
|
||||
{ "label": "2,17", "x": 18.5, "y": 2 },
|
||||
|
||||
{ "label": "3,0", "x": 0, "y": 3, "w": 2.25 },
|
||||
{ "label": "3,2", "x": 2.25, "y": 3 },
|
||||
{ "label": "3,3", "x": 3.25, "y": 3 },
|
||||
{ "label": "3,4", "x": 4.25, "y": 3 },
|
||||
{ "label": "3,5", "x": 5.25, "y": 3 },
|
||||
{ "label": "3,6", "x": 6.25, "y": 3 },
|
||||
{ "label": "3,7", "x": 7.25, "y": 3 },
|
||||
{ "label": "3,8", "x": 8.25, "y": 3 },
|
||||
{ "label": "3,9", "x": 9.25, "y": 3 },
|
||||
{ "label": "3,10", "x": 10.25, "y": 3 },
|
||||
{ "label": "3,11", "x": 11.25, "y": 3 },
|
||||
{ "label": "3,12", "x": 12.25, "y": 3, "w": 1.75 },
|
||||
{ "label": "3,13", "x": 14.25, "y": 3.25 },
|
||||
{ "label": "3,14", "x": 15.5, "y": 3 },
|
||||
{ "label": "3,15", "x": 16.5, "y": 3 },
|
||||
{ "label": "3,16", "x": 17.5, "y": 3 },
|
||||
{ "label": "3,17", "x": 18.5, "y": 3 },
|
||||
|
||||
{ "label": "4,0", "x": 0, "y": 4, "w": 1.25 },
|
||||
{ "label": "4,1", "x": 1.25, "y": 4, "w": 1.25 },
|
||||
{ "label": "4,2", "x": 2.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "4,6", "x": 3.75, "y": 4, "w": 6.25 },
|
||||
{ "label": "4,10", "x": 10, "y": 4, "w": 1.5 },
|
||||
{ "label": "4,11", "x": 11.5, "y": 4, "w": 1.5 },
|
||||
{ "label": "4,12", "x": 13.25, "y": 4.25 },
|
||||
{ "label": "4,13", "x": 14.25, "y": 4.25 },
|
||||
{ "label": "4,14", "x": 15.25, "y": 4.25 },
|
||||
{ "label": "4,15", "x": 16.5, "y": 4 },
|
||||
{ "label": "4,16", "x": 17.5, "y": 4 },
|
||||
{ "label": "4,17", "x": 18.5, "y": 4 }
|
||||
]
|
||||
},
|
||||
"LAYOUT_iso": {
|
||||
"layout": [
|
||||
{ "label": "0,0", "x": 0, "y": 0 },
|
||||
{ "label": "0,1", "x": 1, "y": 0 },
|
||||
{ "label": "0,2", "x": 2, "y": 0 },
|
||||
{ "label": "0,3", "x": 3, "y": 0 },
|
||||
{ "label": "0,4", "x": 4, "y": 0 },
|
||||
{ "label": "0,5", "x": 5, "y": 0 },
|
||||
{ "label": "0,6", "x": 6, "y": 0 },
|
||||
{ "label": "0,7", "x": 7, "y": 0 },
|
||||
{ "label": "0,8", "x": 8, "y": 0 },
|
||||
{ "label": "0,9", "x": 9, "y": 0 },
|
||||
{ "label": "0,10", "x": 10, "y": 0 },
|
||||
{ "label": "0,11", "x": 11, "y": 0 },
|
||||
{ "label": "0,12", "x": 12, "y": 0 },
|
||||
{ "label": "0,13", "x": 13, "y": 0 },
|
||||
{ "label": "1,13", "x": 14, "y": 0 },
|
||||
{ "label": "0,14", "x": 15.5, "y": 0 },
|
||||
{ "label": "0,15", "x": 16.5, "y": 0 },
|
||||
{ "label": "0,16", "x": 17.5, "y": 0 },
|
||||
{ "label": "0,17", "x": 18.5, "y": 0 },
|
||||
|
||||
{ "label": "1,0", "x": 0, "y": 1, "w": 1.5 },
|
||||
{ "label": "1,1", "x": 1.5, "y": 1 },
|
||||
{ "label": "1,2", "x": 2.5, "y": 1 },
|
||||
{ "label": "1,3", "x": 3.5, "y": 1 },
|
||||
{ "label": "1,4", "x": 4.5, "y": 1 },
|
||||
{ "label": "1,5", "x": 5.5, "y": 1 },
|
||||
{ "label": "1,6", "x": 6.5, "y": 1 },
|
||||
{ "label": "1,7", "x": 7.5, "y": 1 },
|
||||
{ "label": "1,8", "x": 8.5, "y": 1 },
|
||||
{ "label": "1,9", "x": 9.5, "y": 1 },
|
||||
{ "label": "1,10", "x": 10.5, "y": 1 },
|
||||
{ "label": "1,11", "x": 11.5, "y": 1 },
|
||||
{ "label": "1,12", "x": 12.5, "y": 1 },
|
||||
{ "label": "1,14", "x": 15.5, "y": 1 },
|
||||
{ "label": "1,15", "x": 16.5, "y": 1 },
|
||||
{ "label": "1,16", "x": 17.5, "y": 1 },
|
||||
{ "label": "1,17", "x": 18.5, "y": 1 },
|
||||
|
||||
{ "label": "2,0", "x": 0, "y": 2, "w": 1.75 },
|
||||
{ "label": "2,1", "x": 1.75, "y": 2 },
|
||||
{ "label": "2,2", "x": 2.75, "y": 2 },
|
||||
{ "label": "2,3", "x": 3.75, "y": 2 },
|
||||
{ "label": "2,4", "x": 4.75, "y": 2 },
|
||||
{ "label": "2,5", "x": 5.75, "y": 2 },
|
||||
{ "label": "2,6", "x": 6.75, "y": 2 },
|
||||
{ "label": "2,7", "x": 7.75, "y": 2 },
|
||||
{ "label": "2,8", "x": 8.75, "y": 2 },
|
||||
{ "label": "2,9", "x": 9.75, "y": 2 },
|
||||
{ "label": "2,10", "x": 10.75, "y": 2 },
|
||||
{ "label": "2,11", "x": 11.75, "y": 2 },
|
||||
{ "label": "2,12", "x": 12.75, "y": 2 },
|
||||
{ "label": "2,13", "x": 13.75, "y": 1, "w": 1.25, "h": 2 },
|
||||
{ "label": "2,14", "x": 15.5, "y": 2 },
|
||||
{ "label": "2,15", "x": 16.5, "y": 2 },
|
||||
{ "label": "2,16", "x": 17.5, "y": 2 },
|
||||
{ "label": "2,17", "x": 18.5, "y": 2 },
|
||||
|
||||
{ "label": "3,0", "x": 0, "y": 3, "w": 1.25 },
|
||||
{ "label": "3,1", "x": 1.25, "y": 3 },
|
||||
{ "label": "3,2", "x": 2.25, "y": 3 },
|
||||
{ "label": "3,3", "x": 3.25, "y": 3 },
|
||||
{ "label": "3,4", "x": 4.25, "y": 3 },
|
||||
{ "label": "3,5", "x": 5.25, "y": 3 },
|
||||
{ "label": "3,6", "x": 6.25, "y": 3 },
|
||||
{ "label": "3,7", "x": 7.25, "y": 3 },
|
||||
{ "label": "3,8", "x": 8.25, "y": 3 },
|
||||
{ "label": "3,9", "x": 9.25, "y": 3 },
|
||||
{ "label": "3,10", "x": 10.25, "y": 3 },
|
||||
{ "label": "3,11", "x": 11.25, "y": 3 },
|
||||
{ "label": "3,12", "x": 12.25, "y": 3, "w": 1.75 },
|
||||
{ "label": "3,13", "x": 14.25, "y": 3.25 },
|
||||
{ "label": "3,14", "x": 15.5, "y": 3 },
|
||||
{ "label": "3,15", "x": 16.5, "y": 3 },
|
||||
{ "label": "3,16", "x": 17.5, "y": 3 },
|
||||
{ "label": "3,17", "x": 18.5, "y": 3 },
|
||||
|
||||
{ "label": "4,0", "x": 0, "y": 4, "w": 1.25 },
|
||||
{ "label": "4,1", "x": 1.25, "y": 4, "w": 1.25 },
|
||||
{ "label": "4,2", "x": 2.5, "y": 4, "w": 1.25 },
|
||||
{ "label": "4,6", "x": 3.75, "y": 4, "w": 6.25 },
|
||||
{ "label": "4,10", "x": 10, "y": 4, "w": 1.5 },
|
||||
{ "label": "4,11", "x": 11.5, "y": 4, "w": 1.5 },
|
||||
{ "label": "4,12", "x": 13.25, "y": 4.25 },
|
||||
{ "label": "4,13", "x": 14.25, "y": 4.25 },
|
||||
{ "label": "4,14", "x": 15.25, "y": 4.25 },
|
||||
{ "label": "4,15", "x": 16.5, "y": 4 },
|
||||
{ "label": "4,16", "x": 17.5, "y": 4 },
|
||||
{ "label": "4,17", "x": 18.5, "y": 4 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
34
keyboards/barleycorn_smd/keymaps/default/keymap.c
Normal file
34
keyboards/barleycorn_smd/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2021 Matthew Dias
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
//This is the ANSI version of the PCB
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_ansi( /* Base */
|
||||
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_DEL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
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_P7, KC_P8, KC_P9, KC_PEQL,
|
||||
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_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_BSPC,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
|
||||
|
||||
[1] = LAYOUT_ansi( /* FN */
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
};
|
11
keyboards/barleycorn_smd/keymaps/default/readme.md
Normal file
11
keyboards/barleycorn_smd/keymaps/default/readme.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# The default keymap for Barleycorn
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Default layer is normal ANSI and Fn layer is used for Volume control and arrow cluster.
|
||||
|
||||
Alternative ANSI layouts:
|
||||
|
||||

|
34
keyboards/barleycorn_smd/keymaps/iso/keymap.c
Normal file
34
keyboards/barleycorn_smd/keymaps/iso/keymap.c
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2021 Matthew Dias
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
//This is the ISO version of the PCB
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_iso( /* Base */
|
||||
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_DEL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
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_P7, KC_P8, KC_P9, KC_PEQL,
|
||||
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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_BSPC,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
|
||||
|
||||
[1] = LAYOUT_iso( /* FN */
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
};
|
11
keyboards/barleycorn_smd/keymaps/iso/readme.md
Normal file
11
keyboards/barleycorn_smd/keymaps/iso/readme.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# The default keymap for ISO Barleycorn
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
Default layer is normal ISO and Fn layer is used for Volume control and arrow cluster
|
||||
|
||||
Alternative ISO layouts:
|
||||
|
||||

|
48
keyboards/barleycorn_smd/keymaps/via/keymap.c
Normal file
48
keyboards/barleycorn_smd/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,48 @@
|
||||
/* Copyright 2021 Matthew Dias
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// This keymaps is used for VIA, it reflects the default keymap.
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_all( /* Base */
|
||||
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_DEL, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
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_P7, KC_P8, KC_P9, KC_PEQL,
|
||||
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_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_BSPC,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
|
||||
|
||||
[1] = LAYOUT_all( /* FN */
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[2] = LAYOUT_all( /* Empty for dynamic keymaps */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[3] = LAYOUT_all( /* Empty for dynamic keymaps */
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
};
|
1
keyboards/barleycorn_smd/keymaps/via/readme.md
Normal file
1
keyboards/barleycorn_smd/keymaps/via/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# Compile with this keymap to use VIA
|
1
keyboards/barleycorn_smd/keymaps/via/rules.mk
Normal file
1
keyboards/barleycorn_smd/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
138
keyboards/barleycorn_smd/matrix.c
Normal file
138
keyboards/barleycorn_smd/matrix.c
Normal file
@@ -0,0 +1,138 @@
|
||||
/*
|
||||
Copyright 2021 Matthew Dias
|
||||
|
||||
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/>.
|
||||
*/
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "wait.h"
|
||||
#include "quantum.h"
|
||||
#include "i2c_master.h"
|
||||
|
||||
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
|
||||
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
|
||||
|
||||
static void unselect_rows(void) {
|
||||
for(uint8_t x = 0; x < MATRIX_ROWS; x++) {
|
||||
setPinInputHigh(row_pins[x]);
|
||||
}
|
||||
}
|
||||
|
||||
static void select_row(uint8_t row) {
|
||||
setPinOutput(row_pins[row]);
|
||||
writePinLow(row_pins[row]);
|
||||
}
|
||||
|
||||
static void unselect_row(uint8_t row) {
|
||||
setPinInputHigh(row_pins[row]);
|
||||
}
|
||||
|
||||
static void init_pins(void) {
|
||||
unselect_rows();
|
||||
// Set I/O
|
||||
uint8_t send_data[2] = { 0xFF, 0x03};
|
||||
i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x00, &send_data[0], 2, 20);
|
||||
// Set Pull-up
|
||||
i2c_writeReg((PORT_EXPANDER_ADDRESS << 1), 0x0C, &send_data[0], 2, 20);
|
||||
|
||||
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
|
||||
if ( x < 8 ) {
|
||||
setPinInputHigh(col_pins[x]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void matrix_init_custom(void) {
|
||||
// TODO: initialize hardware here
|
||||
// Initialize I2C
|
||||
i2c_init();
|
||||
|
||||
// initialize key pins
|
||||
init_pins();
|
||||
wait_ms(50);
|
||||
}
|
||||
|
||||
static bool read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) {
|
||||
// Store last value of row prior to reading
|
||||
matrix_row_t last_row_value = current_matrix[current_row];
|
||||
|
||||
// Clear data in matrix row
|
||||
current_matrix[current_row] = 0;
|
||||
|
||||
// Select row and wait for row selecton to stabilize
|
||||
select_row(current_row);
|
||||
matrix_io_delay();
|
||||
|
||||
uint8_t port_expander_col_buffer[2];
|
||||
i2c_readReg((PORT_EXPANDER_ADDRESS << 1), 0x12, &port_expander_col_buffer[0], 2, 20);
|
||||
|
||||
// For each col...
|
||||
for(uint8_t col_index = 0; col_index < MATRIX_COLS; col_index++) {
|
||||
uint8_t pin_state;
|
||||
// Select the col pin to read (active low)
|
||||
switch (col_index) {
|
||||
case 8 :
|
||||
pin_state = port_expander_col_buffer[0] & (1 << 0);
|
||||
break;
|
||||
case 9 :
|
||||
pin_state = port_expander_col_buffer[0] & (1 << 1);
|
||||
break;
|
||||
case 10 :
|
||||
pin_state = port_expander_col_buffer[0] & (1 << 2);
|
||||
break;
|
||||
case 11 :
|
||||
pin_state = port_expander_col_buffer[0] & (1 << 3);
|
||||
break;
|
||||
case 12 :
|
||||
pin_state = port_expander_col_buffer[0] & (1 << 4);
|
||||
break;
|
||||
case 13 :
|
||||
pin_state = port_expander_col_buffer[0] & (1 << 5);
|
||||
break;
|
||||
case 14 :
|
||||
pin_state = port_expander_col_buffer[0] & (1 << 6);
|
||||
break;
|
||||
case 15 :
|
||||
pin_state = port_expander_col_buffer[0] & (1 << 7);
|
||||
break;
|
||||
case 16 :
|
||||
pin_state = port_expander_col_buffer[1] & (1 << 0);
|
||||
break;
|
||||
case 17 :
|
||||
pin_state = port_expander_col_buffer[1] & (1 << 1);
|
||||
break;
|
||||
default :
|
||||
pin_state = readPin(col_pins[col_index]);
|
||||
}
|
||||
|
||||
// Populate the matrix row with the state of the col pin
|
||||
current_matrix[current_row] |= pin_state ? 0 : (MATRIX_ROW_SHIFTER << col_index);
|
||||
}
|
||||
|
||||
// Unselect row
|
||||
unselect_row(current_row);
|
||||
|
||||
return (last_row_value != current_matrix[current_row]);
|
||||
}
|
||||
|
||||
bool matrix_scan_custom(matrix_row_t current_matrix[]) {
|
||||
bool matrix_has_changed = false;
|
||||
|
||||
// Set row, read cols
|
||||
for (uint8_t current_row = 0; current_row < MATRIX_ROWS; current_row++) {
|
||||
matrix_has_changed |= read_cols_on_row(current_matrix, current_row);
|
||||
}
|
||||
|
||||
return matrix_has_changed;
|
||||
}
|
19
keyboards/barleycorn_smd/readme.md
Normal file
19
keyboards/barleycorn_smd/readme.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Barleycorn SMD
|
||||
|
||||

|
||||
|
||||
An f-row less compact 1800 keyboard with SMD components. Based on Barleycorn by Yiancar.
|
||||
|
||||
- Keyboard Maintainer: matthewdias
|
||||
- Hardware Supported: Barleycorn SMD
|
||||
- Hardware Availability: https://p3dstore.com
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make barleycorn_smd:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make barleycorn_smd:default:flash
|
||||
|
||||
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).
|
27
keyboards/barleycorn_smd/rules.mk
Normal file
27
keyboards/barleycorn_smd/rules.mk
Normal file
@@ -0,0 +1,27 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
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
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
CUSTOM_MATRIX = lite
|
||||
|
||||
SRC += matrix.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
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_HOME,
|
||||
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_PGUP,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1),KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_65_ansi(
|
||||
|
55
keyboards/bm68rgb/keymaps/via/keymap.c
Normal file
55
keyboards/bm68rgb/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,55 @@
|
||||
/* Copyright 2021 peepeetee
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
// enum layer_names {
|
||||
// _BASE,
|
||||
// _FN
|
||||
// };
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_65_ansi(
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
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_HOME,
|
||||
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_PGUP,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1),KC_RCTRL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT_65_ansi(
|
||||
KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT_65_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT_65_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
1
keyboards/bm68rgb/keymaps/via/readme.md
Normal file
1
keyboards/bm68rgb/keymaps/via/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default VIA keymap for bm68rgb
|
1
keyboards/bm68rgb/keymaps/via/rules.mk
Normal file
1
keyboards/bm68rgb/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
@@ -1,12 +1,13 @@
|
||||
{
|
||||
"keyboard_name": "boston",
|
||||
"url": "https://github.com/bluepylons/Boston",
|
||||
"maintainer": "Pylon",
|
||||
"width": 20.5,
|
||||
"height": 7.75,
|
||||
"keyboard_name": "boston",
|
||||
"url": "https://github.com/bluepylons/Boston",
|
||||
"maintainer": "bluepylons",
|
||||
"width": 20.5,
|
||||
"height": 7.75,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label":"Encoder", "x":0, "y":0},
|
||||
{"label":"P1", "x":1.5, "y":0},
|
||||
{"label":"P2", "x":2.5, "y":0},
|
||||
{"label":"P3", "x":3.5, "y":0},
|
||||
@@ -25,6 +26,7 @@
|
||||
{"label":"Insert", "x":17.5, "y":0},
|
||||
{"label":"Home", "x":18.5, "y":0},
|
||||
{"label":"PgUp", "x":19.5, "y":0},
|
||||
|
||||
{"label":"Esc", "x":0, "y":1},
|
||||
{"label":"F1", "x":1.5, "y":1},
|
||||
{"label":"F2", "x":2.5, "y":1},
|
||||
@@ -56,11 +58,11 @@
|
||||
{"label":"*", "x":8, "y":2.5},
|
||||
{"label":"(", "x":9, "y":2.5},
|
||||
{"label":")", "x":10, "y":2.5},
|
||||
{"label":"_", "x":11, "y":2.5},
|
||||
{"label":"+", "x":12, "y":2.5},
|
||||
{"label":"Backspace", "x":13, "y":2.5},
|
||||
{"label":"Backspace", "x":14, "y":2.5},
|
||||
{"label":"P16", "x":15.25, "y":2.5},
|
||||
{"label":"_", "x":11, "y":2.5},
|
||||
{"label":"+", "x":12, "y":2.5},
|
||||
{"label":"Backspace", "x":13, "y":2.5},
|
||||
{"label":"Backspace", "x":14, "y":2.5},
|
||||
{"label":"P16", "x":15.25, "y":2.5},
|
||||
{"label":"Num Lock", "x":16.5, "y":2.5},
|
||||
{"label":"/", "x":17.5, "y":2.5},
|
||||
{"label":"*", "x":18.5, "y":2.5},
|
||||
@@ -119,13 +121,12 @@
|
||||
{"label":">", "x":10.25, "y":5.5},
|
||||
{"label":"?", "x":11.25, "y":5.5},
|
||||
{"label":"Right Shift", "x":12.25, "y":5.5, "w":1.75},
|
||||
{"label":"Up", "x":14.25, "y":5.75},
|
||||
{"label":"Up", "x":14.25, "y":5.75},
|
||||
{"label":"1", "x":16.5, "y":5.5},
|
||||
{"label":"2", "x":17.5, "y":5.5},
|
||||
{"label":"3", "x":18.5, "y":5.5},
|
||||
{"label":"Enter", "x":19.5, "y":5.5, "h":2},
|
||||
|
||||
|
||||
{"label":"Ctrl", "x":0, "y":6.5, "w":1.25},
|
||||
{"label":"OS", "x":1.25, "y":6.5, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":6.5, "w":1.25},
|
||||
|
102
keyboards/box75/info.json
Normal file
102
keyboards/box75/info.json
Normal file
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"keyboard_name": "BOX75",
|
||||
"url": "",
|
||||
"maintainer": "Gondolindrim",
|
||||
"width": 16.25,
|
||||
"height": 6.375,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
{"x":5.5, "y":0},
|
||||
{"x":6.5, "y":0},
|
||||
{"x":7.5, "y":0},
|
||||
{"x":8.5, "y":0},
|
||||
{"x":9.75, "y":0},
|
||||
{"x":10.75, "y":0},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15.25, "y":0},
|
||||
|
||||
{"x":0, "y":1.25},
|
||||
{"x":1, "y":1.25},
|
||||
{"x":2, "y":1.25},
|
||||
{"x":3, "y":1.25},
|
||||
{"x":4, "y":1.25},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":6, "y":1.25},
|
||||
{"x":7, "y":1.25},
|
||||
{"x":8, "y":1.25},
|
||||
{"x":9, "y":1.25},
|
||||
{"x":10, "y":1.25},
|
||||
{"x":11, "y":1.25},
|
||||
{"x":12, "y":1.25},
|
||||
{"x":13, "y":1.25},
|
||||
{"x":14, "y":1.25},
|
||||
{"x":15.25, "y":1.25},
|
||||
|
||||
{"x":0, "y":2.25, "w":1.5},
|
||||
{"x":1.5, "y":2.25},
|
||||
{"x":2.5, "y":2.25},
|
||||
{"x":3.5, "y":2.25},
|
||||
{"x":4.5, "y":2.25},
|
||||
{"x":5.5, "y":2.25},
|
||||
{"x":6.5, "y":2.25},
|
||||
{"x":7.5, "y":2.25},
|
||||
{"x":8.5, "y":2.25},
|
||||
{"x":9.5, "y":2.25},
|
||||
{"x":10.5, "y":2.25},
|
||||
{"x":11.5, "y":2.25},
|
||||
{"x":12.5, "y":2.25},
|
||||
{"x":13.5, "y":2.25, "w":1.5},
|
||||
{"x":15.25, "y":2.25},
|
||||
|
||||
{"x":0, "y":3.25, "w":1.75},
|
||||
{"x":1.75, "y":3.25},
|
||||
{"x":2.75, "y":3.25},
|
||||
{"x":3.75, "y":3.25},
|
||||
{"x":4.75, "y":3.25},
|
||||
{"x":5.75, "y":3.25},
|
||||
{"x":6.75, "y":3.25},
|
||||
{"x":7.75, "y":3.25},
|
||||
{"x":8.75, "y":3.25},
|
||||
{"x":9.75, "y":3.25},
|
||||
{"x":10.75, "y":3.25},
|
||||
{"x":11.75, "y":3.25},
|
||||
{"x":12.75, "y":3.25, "w":2.25},
|
||||
{"x":15.25, "y":3.25},
|
||||
|
||||
{"x":0, "y":4.25, "w":1.25},
|
||||
{"x":1.25, "y":4.25},
|
||||
{"x":2.25, "y":4.25},
|
||||
{"x":3.25, "y":4.25},
|
||||
{"x":4.25, "y":4.25},
|
||||
{"x":5.25, "y":4.25},
|
||||
{"x":6.25, "y":4.25},
|
||||
{"x":7.25, "y":4.25},
|
||||
{"x":8.25, "y":4.25},
|
||||
{"x":9.25, "y":4.25},
|
||||
{"x":10.25, "y":4.25},
|
||||
{"x":11.25, "y":4.25},
|
||||
{"x":12.25, "y":4.25, "w":1.75},
|
||||
{"x":14.125, "y":4.375},
|
||||
{"x":15.25, "y":4.25},
|
||||
|
||||
{"x":0, "y":5.25, "w":1.25},
|
||||
{"x":1.25, "y":5.25, "w":1.25},
|
||||
{"x":2.5, "y":5.25, "w":1.25},
|
||||
{"x":3.75, "y":5.25, "w":6.25},
|
||||
{"x":10, "y":5.25, "w":1.5},
|
||||
{"x":11.5, "y":5.25, "w":1.5},
|
||||
{"x":13.125, "y":5.375},
|
||||
{"x":14.125, "y":5.375},
|
||||
{"x":15.125, "y":5.375}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
34
keyboards/butterstick/info.json
Normal file
34
keyboards/butterstick/info.json
Normal file
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"keyboard_name": "Butter Stick",
|
||||
"url": "",
|
||||
"maintainer": "germ",
|
||||
"width": 10,
|
||||
"height": 2,
|
||||
"layouts": {
|
||||
"LAYOUT_butter": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@@ -19,14 +19,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6512
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER QMK
|
||||
#define PRODUCT XT keyboard converter
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6512
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER QMK
|
||||
#define PRODUCT XT keyboard converter
|
||||
|
||||
|
||||
/* matrix size */
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 16 // keycode bit: 3-0
|
||||
#define MATRIX_COLS 8 // keycode bit: 6-4
|
||||
|
||||
@@ -36,44 +36,31 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
get_mods() == (MOD_BIT(KC_LCTRL) | MOD_BIT(KC_RSHIFT)) \
|
||||
)
|
||||
|
||||
|
||||
//#define NO_SUSPEND_POWER_DOWN
|
||||
|
||||
/*
|
||||
* XT Pin interrupt
|
||||
*/
|
||||
#define XT_CLOCK_PORT PORTD
|
||||
#define XT_CLOCK_PIN PIND
|
||||
#define XT_CLOCK_DDR DDRD
|
||||
#define XT_CLOCK_BIT 1
|
||||
#define XT_DATA_PORT PORTD
|
||||
#define XT_DATA_PIN PIND
|
||||
#define XT_DATA_DDR DDRD
|
||||
#define XT_DATA_BIT 0
|
||||
#define XT_RST_PORT PORTB
|
||||
#define XT_RST_PIN PINB
|
||||
#define XT_RST_DDR DDRB
|
||||
#define XT_RST_BIT 7
|
||||
#define XT_CLOCK_PIN D1
|
||||
#define XT_DATA_PIN D0
|
||||
#define XT_RST_PIN B7
|
||||
|
||||
/* hard reset: low pulse for 500ms and after that HiZ for safety */
|
||||
#define XT_RESET() do { \
|
||||
XT_RST_PORT &= ~(1<<XT_RST_BIT); \
|
||||
XT_RST_DDR |= (1<<XT_RST_BIT); \
|
||||
_delay_ms(500); \
|
||||
XT_RST_DDR &= ~(1<<XT_RST_BIT); \
|
||||
writePinLow(XT_RST_PIN); \
|
||||
setPinOutput(XT_RST_PIN); \
|
||||
wait_ms(500); \
|
||||
setPinInput(XT_RST_PIN); \
|
||||
} while (0)
|
||||
|
||||
/* INT1 for falling edge of clock line */
|
||||
#define XT_INT_INIT() do { \
|
||||
EICRA |= ((1<<ISC11) | \
|
||||
(0<<ISC10)); \
|
||||
#define XT_INT_INIT() do { \
|
||||
EICRA |= ((1 << ISC11) | (0 << ISC10)); \
|
||||
} while (0)
|
||||
|
||||
/* clears flag and enables interrupt */
|
||||
#define XT_INT_ON() do { \
|
||||
EIFR |= (1<<INTF1); \
|
||||
EIMSK |= (1<<INT1); \
|
||||
#define XT_INT_ON() do { \
|
||||
EIFR |= (1 << INTF1); \
|
||||
EIMSK |= (1 << INT1); \
|
||||
} while (0)
|
||||
#define XT_INT_OFF() do { \
|
||||
EIMSK &= ~(1<<INT1); \
|
||||
|
||||
#define XT_INT_OFF() do { \
|
||||
EIMSK &= ~(1 << INT1); \
|
||||
} while (0)
|
||||
#define XT_INT_VECT INT1_vect
|
||||
|
||||
#define XT_INT_VECT INT1_vect
|
||||
|
@@ -1,228 +1,228 @@
|
||||
{
|
||||
"keyboard_name": "IBM PC XT",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 21,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_xt": {
|
||||
"layout": [
|
||||
{"label":"F1", "x":0, "y":0},
|
||||
{"label":"F2", "x":1, "y":0},
|
||||
{"label":"Esc", "x":2.25, "y":0},
|
||||
{"label":"1", "x":3.25, "y":0},
|
||||
{"label":"2", "x":4.25, "y":0},
|
||||
{"label":"3", "x":5.25, "y":0},
|
||||
{"label":"4", "x":6.25, "y":0},
|
||||
{"label":"5", "x":7.25, "y":0},
|
||||
{"label":"6", "x":8.25, "y":0},
|
||||
{"label":"7", "x":9.25, "y":0},
|
||||
{"label":"8", "x":10.25, "y":0},
|
||||
{"label":"9", "x":11.25, "y":0},
|
||||
{"label":"0", "x":12.25, "y":0},
|
||||
{"label":"-", "x":13.25, "y":0},
|
||||
{"label":"=", "x":14.25, "y":0},
|
||||
{"label":"Backspace", "x":15.25, "y":0, "w":1.75},
|
||||
{"label":"Num Lock", "x":17, "y":0, "w":2},
|
||||
{"label":"Scroll Lock", "x":19, "y":0, "w":2},
|
||||
{"label":"F3", "x":0, "y":1},
|
||||
{"label":"F4", "x":1, "y":1},
|
||||
{"label":"Tab", "x":2.25, "y":1, "w":1.5},
|
||||
{"label":"Q", "x":3.75, "y":1},
|
||||
{"label":"W", "x":4.75, "y":1},
|
||||
{"label":"E", "x":5.75, "y":1},
|
||||
{"label":"R", "x":6.75, "y":1},
|
||||
{"label":"T", "x":7.75, "y":1},
|
||||
{"label":"Y", "x":8.75, "y":1},
|
||||
{"label":"U", "x":9.75, "y":1},
|
||||
{"label":"I", "x":10.75, "y":1},
|
||||
{"label":"O", "x":11.75, "y":1},
|
||||
{"label":"P", "x":12.75, "y":1},
|
||||
{"label":"[", "x":13.75, "y":1},
|
||||
{"label":"]", "x":14.75, "y":1, "w": 1.25},
|
||||
{"label":"7", "x":17, "y":1},
|
||||
{"label":"8", "x":18, "y":1},
|
||||
{"label":"9", "x":19, "y":1},
|
||||
{"label":"-", "x":20, "y":1},
|
||||
{"label":"F5", "x":0, "y":2},
|
||||
{"label":"F6", "x":1, "y":2},
|
||||
{"label":"Ctrl", "x":2.25, "y":2, "w":1.75},
|
||||
{"label":"A", "x":4, "y":2},
|
||||
{"label":"S", "x":5, "y":2},
|
||||
{"label":"D", "x":6, "y":2},
|
||||
{"label":"F", "x":7, "y":2},
|
||||
{"label":"G", "x":8, "y":2},
|
||||
{"label":"H", "x":9, "y":2},
|
||||
{"label":"J", "x":10, "y":2},
|
||||
{"label":"K", "x":11, "y":2},
|
||||
{"label":"L", "x":12, "y":2},
|
||||
{"label":";", "x":13, "y":2},
|
||||
{"label":"'", "x":14, "y":2},
|
||||
{"label":"`", "x":15, "y":2},
|
||||
{"label":"Enter", "x":16, "y":1, "h":2},
|
||||
{"label":"4", "x":17, "y":2},
|
||||
{"label":"5", "x":18, "y":2},
|
||||
{"label":"6", "x":19, "y":2},
|
||||
{"label":"F7", "x":0, "y":3},
|
||||
{"label":"F8", "x":1, "y":3},
|
||||
{"label":"Shift", "x":2.25, "y":3, "w":1.25},
|
||||
{"label":"\\", "x":3.5, "y":3},
|
||||
{"label":"Z", "x":4.5, "y":3},
|
||||
{"label":"X", "x":5.5, "y":3},
|
||||
{"label":"C", "x":6.5, "y":3},
|
||||
{"label":"V", "x":7.5, "y":3},
|
||||
{"label":"B", "x":8.5, "y":3},
|
||||
{"label":"N", "x":9.5, "y":3},
|
||||
{"label":"M", "x":10.5, "y":3},
|
||||
{"label":",", "x":11.5, "y":3},
|
||||
{"label":".", "x":12.5, "y":3},
|
||||
{"label":"/", "x":13.5, "y":3},
|
||||
{"label":"Shift", "x":14.5, "y":3, "w":1.5},
|
||||
{"label":"*", "x":16, "y":3},
|
||||
{"label":"1", "x":17, "y":3},
|
||||
{"label":"2", "x":18, "y":3},
|
||||
{"label":"3", "x":19, "y":3},
|
||||
{"label":"+", "x":20, "y":2, "h":3},
|
||||
{"label":"F9", "x":0, "y":4},
|
||||
{"label":"F10", "x":1, "y":4},
|
||||
{"label":"Alt", "x":2.25, "y":4, "w":2},
|
||||
{"label":"Space", "x":4.25, "y":4, "w":9.75},
|
||||
{"label":"Caps Lock", "x":14, "y":4, "w":2},
|
||||
{"label":"0", "x":16, "y":4, "w":2},
|
||||
{"label":".", "x":18, "y":4, "w":2}
|
||||
]
|
||||
},
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"F13", "x":2, "y":0},
|
||||
{"label":"F14", "x":3, "y":0},
|
||||
{"label":"F15", "x":4, "y":0},
|
||||
{"label":"F16", "x":5, "y":0},
|
||||
{"label":"F17", "x":6, "y":0},
|
||||
{"label":"F18", "x":7, "y":0},
|
||||
{"label":"F19", "x":8, "y":0},
|
||||
{"label":"F20", "x":9, "y":0},
|
||||
{"label":"F21", "x":10, "y":0},
|
||||
{"label":"F22", "x":11, "y":0},
|
||||
{"label":"F23", "x":12, "y":0},
|
||||
{"label":"F24", "x":13, "y":0},
|
||||
{"label":"Esc", "x":0, "y":1},
|
||||
{"label":"F1", "x":2, "y":1},
|
||||
{"label":"F2", "x":3, "y":1},
|
||||
{"label":"F3", "x":4, "y":1},
|
||||
{"label":"F4", "x":5, "y":1},
|
||||
{"label":"F5", "x":6, "y":1},
|
||||
{"label":"F6", "x":7, "y":1},
|
||||
{"label":"F7", "x":8, "y":1},
|
||||
{"label":"F8", "x":9, "y":1},
|
||||
{"label":"F9", "x":10, "y":1},
|
||||
{"label":"F10", "x":11, "y":1},
|
||||
{"label":"F11", "x":12, "y":1},
|
||||
{"label":"F12", "x":13, "y":1},
|
||||
{"label":"Print Screen", "x":15.25, "y":1},
|
||||
{"label":"Scroll Lock", "x":16.25, "y":1},
|
||||
{"label":"Pause", "x":17.25, "y":1},
|
||||
{"label":"Volume Down", "x":19.5, "y":1},
|
||||
{"label":"Volume Up", "x":20.5, "y":1},
|
||||
{"label":"Mute", "x":21.5, "y":1},
|
||||
{"label":"`", "x":0, "y":2.5},
|
||||
{"label":"1", "x":1, "y":2.5},
|
||||
{"label":"2", "x":2, "y":2.5},
|
||||
{"label":"3", "x":3, "y":2.5},
|
||||
{"label":"4", "x":4, "y":2.5},
|
||||
{"label":"5", "x":5, "y":2.5},
|
||||
{"label":"6", "x":6, "y":2.5},
|
||||
{"label":"7", "x":7, "y":2.5},
|
||||
{"label":"8", "x":8, "y":2.5},
|
||||
{"label":"9", "x":9, "y":2.5},
|
||||
{"label":"0", "x":10, "y":2.5},
|
||||
{"label":"-", "x":11, "y":2.5},
|
||||
{"label":"=", "x":12, "y":2.5},
|
||||
{"label":"JP Yen", "x":13, "y":2.5},
|
||||
{"label":"Back Space", "x":14, "y":2.5},
|
||||
{"label":"Insert", "x":15.25, "y":2.5},
|
||||
{"label":"Home", "x":16.25, "y":2.5},
|
||||
{"label":"Page Up", "x":17.25, "y":2.5},
|
||||
{"label":"Num Lock", "x":18.5, "y":2.5},
|
||||
{"label":"KP/", "x":19.5, "y":2.5},
|
||||
{"label":"KP*", "x":20.5, "y":2.5},
|
||||
{"label":"KP-", "x":21.5, "y":2.5},
|
||||
{"label":"Tab", "x":0, "y":3.5, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":3.5},
|
||||
{"label":"W", "x":2.5, "y":3.5},
|
||||
{"label":"E", "x":3.5, "y":3.5},
|
||||
{"label":"R", "x":4.5, "y":3.5},
|
||||
{"label":"T", "x":5.5, "y":3.5},
|
||||
{"label":"Y", "x":6.5, "y":3.5},
|
||||
{"label":"U", "x":7.5, "y":3.5},
|
||||
{"label":"I", "x":8.5, "y":3.5},
|
||||
{"label":"O", "x":9.5, "y":3.5},
|
||||
{"label":"P", "x":10.5, "y":3.5},
|
||||
{"label":"[", "x":11.5, "y":3.5},
|
||||
{"label":"]", "x":12.5, "y":3.5},
|
||||
{"label":"\\", "x":13.5, "y":3.5, "w":1.5},
|
||||
{"label":"Delete", "x":15.25, "y":3.5},
|
||||
{"label":"End", "x":16.25, "y":3.5},
|
||||
{"label":"Page Down", "x":17.25, "y":3.5},
|
||||
{"label":"KP 7", "x":18.5, "y":3.5},
|
||||
{"label":"KP 8", "x":19.5, "y":3.5},
|
||||
{"label":"KP 9", "x":20.5, "y":3.5},
|
||||
{"label":"KP+", "x":21.5, "y":3.5},
|
||||
{"label":"Caps Lock", "x":0, "y":4.5, "w":1.75},
|
||||
{"label":"A", "x":1.75, "y":4.5},
|
||||
{"label":"S", "x":2.75, "y":4.5},
|
||||
{"label":"D", "x":3.75, "y":4.5},
|
||||
{"label":"F", "x":4.75, "y":4.5},
|
||||
{"label":"G", "x":5.75, "y":4.5},
|
||||
{"label":"H", "x":6.75, "y":4.5},
|
||||
{"label":"J", "x":7.75, "y":4.5},
|
||||
{"label":"K", "x":8.75, "y":4.5},
|
||||
{"label":"L", "x":9.75, "y":4.5},
|
||||
{"label":";", "x":10.75, "y":4.5},
|
||||
{"label":"'", "x":11.75, "y":4.5},
|
||||
{"label":"ISO #", "x":12.75, "y":4.5},
|
||||
{"label":"Enter", "x":13.75, "y":4.5, "w":1.25},
|
||||
{"label":"KP 4", "x":18.5, "y":4.5},
|
||||
{"label":"KP 5", "x":19.5, "y":4.5},
|
||||
{"label":"KP 6", "x":20.5, "y":4.5},
|
||||
{"label":"KP ,", "x":21.5, "y":4.5},
|
||||
{"label":"Shift", "x":0, "y":5.5, "w":1.25},
|
||||
{"label":"ISO \\", "x":1.25, "y":5.5},
|
||||
{"label":"Z", "x":2.25, "y":5.5},
|
||||
{"label":"X", "x":3.25, "y":5.5},
|
||||
{"label":"C", "x":4.25, "y":5.5},
|
||||
{"label":"V", "x":5.25, "y":5.5},
|
||||
{"label":"B", "x":6.25, "y":5.5},
|
||||
{"label":"N", "x":7.25, "y":5.5},
|
||||
{"label":"M", "x":8.25, "y":5.5},
|
||||
{"label":",", "x":9.25, "y":5.5},
|
||||
{"label":".", "x":10.25, "y":5.5},
|
||||
{"label":"/", "x":11.25, "y":5.5},
|
||||
{"label":"JP RO", "x":12.25, "y":5.5},
|
||||
{"label":"Shift", "x":13.25, "y":5.5, "w":1.75},
|
||||
{"label":"Up", "x":16.25, "y":5.5},
|
||||
{"label":"KP 1", "x":18.5, "y":5.5},
|
||||
{"label":"KP 2", "x":19.5, "y":5.5},
|
||||
{"label":"KP 3", "x":20.5, "y":5.5},
|
||||
{"label":"KP Enter", "x":21.5, "y":5.5},
|
||||
{"label":"Ctrl", "x":0, "y":6.5, "w":1.25},
|
||||
{"label":"GUI", "x":1.25, "y":6.5, "w":1.25},
|
||||
{"label":"Alt", "x":2.5, "y":6.5, "w":1.25},
|
||||
{"label":"Muhenkan", "x":3.75, "y":6.5, "w":1.25},
|
||||
{"label":"Space", "x":5, "y":6.5, "w":3.25},
|
||||
{"label":"Henkan", "x":8.25, "y":6.5, "w":1.25},
|
||||
{"label":"Kana", "x":9.5, "y":6.5, "w":1.25},
|
||||
{"label":"Alt", "x":10.75, "y":6.5},
|
||||
{"label":"GUI", "x":11.75, "y":6.5},
|
||||
{"label":"Menu", "x":12.75, "y":6.5},
|
||||
{"label":"Ctrl", "x":13.75, "y":6.5, "w":1.25},
|
||||
{"label":"Left", "x":15.25, "y":6.5},
|
||||
{"label":"Down", "x":16.25, "y":6.5},
|
||||
{"label":"Right", "x":17.25, "y":6.5},
|
||||
{"label":"KP 0", "x":18.5, "y":6.5, "w":2},
|
||||
{"label":"KP .", "x":20.5, "y":6.5},
|
||||
{"label":"KP =", "x":21.5, "y":6.5}
|
||||
]
|
||||
"keyboard_name": "IBM PC XT",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 21,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_xt": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2.25, "y": 0},
|
||||
{"x": 3.25, "y": 0},
|
||||
{"x": 4.25, "y": 0},
|
||||
{"x": 5.25, "y": 0},
|
||||
{"x": 6.25, "y": 0},
|
||||
{"x": 7.25, "y": 0},
|
||||
{"x": 8.25, "y": 0},
|
||||
{"x": 9.25, "y": 0},
|
||||
{"x": 10.25, "y": 0},
|
||||
{"x": 11.25, "y": 0},
|
||||
{"x": 12.25, "y": 0},
|
||||
{"x": 13.25, "y": 0},
|
||||
{"x": 14.25, "y": 0},
|
||||
{"x": 15.25, "y": 0, "w": 1.75},
|
||||
{"x": 17, "y": 0, "w": 2},
|
||||
{"x": 19, "y": 0, "w": 2},
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2.25, "y": 1, "w": 1.5},
|
||||
{"x": 3.75, "y": 1},
|
||||
{"x": 4.75, "y": 1},
|
||||
{"x": 5.75, "y": 1},
|
||||
{"x": 6.75, "y": 1},
|
||||
{"x": 7.75, "y": 1},
|
||||
{"x": 8.75, "y": 1},
|
||||
{"x": 9.75, "y": 1},
|
||||
{"x": 10.75, "y": 1},
|
||||
{"x": 11.75, "y": 1},
|
||||
{"x": 12.75, "y": 1},
|
||||
{"x": 13.75, "y": 1},
|
||||
{"x": 14.75, "y": 1, "w": 1.25},
|
||||
{"x": 17, "y": 1},
|
||||
{"x": 18, "y": 1},
|
||||
{"x": 19, "y": 1},
|
||||
{"x": 20, "y": 1},
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2.25, "y": 2, "w": 1.75},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
{"x": 12, "y": 2},
|
||||
{"x": 13, "y": 2},
|
||||
{"x": 14, "y": 2},
|
||||
{"x": 15, "y": 2},
|
||||
{"x": 16, "y": 1, "h": 2},
|
||||
{"x": 17, "y": 2},
|
||||
{"x": 18, "y": 2},
|
||||
{"x": 19, "y": 2},
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2.25, "y": 3, "w": 1.25},
|
||||
{"x": 3.5, "y": 3},
|
||||
{"x": 4.5, "y": 3},
|
||||
{"x": 5.5, "y": 3},
|
||||
{"x": 6.5, "y": 3},
|
||||
{"x": 7.5, "y": 3},
|
||||
{"x": 8.5, "y": 3},
|
||||
{"x": 9.5, "y": 3},
|
||||
{"x": 10.5, "y": 3},
|
||||
{"x": 11.5, "y": 3},
|
||||
{"x": 12.5, "y": 3},
|
||||
{"x": 13.5, "y": 3},
|
||||
{"x": 14.5, "y": 3, "w": 1.5},
|
||||
{"x": 16, "y": 3},
|
||||
{"x": 17, "y": 3},
|
||||
{"x": 18, "y": 3},
|
||||
{"x": 19, "y": 3},
|
||||
{"x": 20, "y": 2, "h": 3},
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2.25, "y": 4, "w": 2},
|
||||
{"x": 4.25, "y": 4, "w": 9.75},
|
||||
{"x": 14, "y": 4, "w": 2},
|
||||
{"x": 16, "y": 4, "w": 2},
|
||||
{"x": 18, "y": 4, "w": 2}
|
||||
]
|
||||
},
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
{"x": 12, "y": 0},
|
||||
{"x": 13, "y": 0},
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
{"x": 12, "y": 1},
|
||||
{"x": 13, "y": 1},
|
||||
{"x": 15.25, "y": 1},
|
||||
{"x": 16.25, "y": 1},
|
||||
{"x": 17.25, "y": 1},
|
||||
{"x": 19.5, "y": 1},
|
||||
{"x": 20.5, "y": 1},
|
||||
{"x": 21.5, "y": 1},
|
||||
{"x": 0, "y": 2.5},
|
||||
{"x": 1, "y": 2.5},
|
||||
{"x": 2, "y": 2.5},
|
||||
{"x": 3, "y": 2.5},
|
||||
{"x": 4, "y": 2.5},
|
||||
{"x": 5, "y": 2.5},
|
||||
{"x": 6, "y": 2.5},
|
||||
{"x": 7, "y": 2.5},
|
||||
{"x": 8, "y": 2.5},
|
||||
{"x": 9, "y": 2.5},
|
||||
{"x": 10, "y": 2.5},
|
||||
{"x": 11, "y": 2.5},
|
||||
{"x": 12, "y": 2.5},
|
||||
{"x": 13, "y": 2.5},
|
||||
{"x": 14, "y": 2.5},
|
||||
{"x": 15.25, "y": 2.5},
|
||||
{"x": 16.25, "y": 2.5},
|
||||
{"x": 17.25, "y": 2.5},
|
||||
{"x": 18.5, "y": 2.5},
|
||||
{"x": 19.5, "y": 2.5},
|
||||
{"x": 20.5, "y": 2.5},
|
||||
{"x": 21.5, "y": 2.5},
|
||||
{"x": 0, "y": 3.5, "w": 1.5},
|
||||
{"x": 1.5, "y": 3.5},
|
||||
{"x": 2.5, "y": 3.5},
|
||||
{"x": 3.5, "y": 3.5},
|
||||
{"x": 4.5, "y": 3.5},
|
||||
{"x": 5.5, "y": 3.5},
|
||||
{"x": 6.5, "y": 3.5},
|
||||
{"x": 7.5, "y": 3.5},
|
||||
{"x": 8.5, "y": 3.5},
|
||||
{"x": 9.5, "y": 3.5},
|
||||
{"x": 10.5, "y": 3.5},
|
||||
{"x": 11.5, "y": 3.5},
|
||||
{"x": 12.5, "y": 3.5},
|
||||
{"x": 13.5, "y": 3.5, "w": 1.5},
|
||||
{"x": 15.25, "y": 3.5},
|
||||
{"x": 16.25, "y": 3.5},
|
||||
{"x": 17.25, "y": 3.5},
|
||||
{"x": 18.5, "y": 3.5},
|
||||
{"x": 19.5, "y": 3.5},
|
||||
{"x": 20.5, "y": 3.5},
|
||||
{"x": 21.5, "y": 3.5},
|
||||
{"x": 0, "y": 4.5, "w": 1.75},
|
||||
{"x": 1.75, "y": 4.5},
|
||||
{"x": 2.75, "y": 4.5},
|
||||
{"x": 3.75, "y": 4.5},
|
||||
{"x": 4.75, "y": 4.5},
|
||||
{"x": 5.75, "y": 4.5},
|
||||
{"x": 6.75, "y": 4.5},
|
||||
{"x": 7.75, "y": 4.5},
|
||||
{"x": 8.75, "y": 4.5},
|
||||
{"x": 9.75, "y": 4.5},
|
||||
{"x": 10.75, "y": 4.5},
|
||||
{"x": 11.75, "y": 4.5},
|
||||
{"x": 12.75, "y": 4.5},
|
||||
{"x": 13.75, "y": 4.5, "w": 1.25},
|
||||
{"x": 18.5, "y": 4.5},
|
||||
{"x": 19.5, "y": 4.5},
|
||||
{"x": 20.5, "y": 4.5},
|
||||
{"x": 21.5, "y": 4.5},
|
||||
{"x": 0, "y": 5.5, "w": 1.25},
|
||||
{"x": 1.25, "y": 5.5},
|
||||
{"x": 2.25, "y": 5.5},
|
||||
{"x": 3.25, "y": 5.5},
|
||||
{"x": 4.25, "y": 5.5},
|
||||
{"x": 5.25, "y": 5.5},
|
||||
{"x": 6.25, "y": 5.5},
|
||||
{"x": 7.25, "y": 5.5},
|
||||
{"x": 8.25, "y": 5.5},
|
||||
{"x": 9.25, "y": 5.5},
|
||||
{"x": 10.25, "y": 5.5},
|
||||
{"x": 11.25, "y": 5.5},
|
||||
{"x": 12.25, "y": 5.5},
|
||||
{"x": 13.25, "y": 5.5, "w": 1.75},
|
||||
{"x": 16.25, "y": 5.5},
|
||||
{"x": 18.5, "y": 5.5},
|
||||
{"x": 19.5, "y": 5.5},
|
||||
{"x": 20.5, "y": 5.5},
|
||||
{"x": 21.5, "y": 5.5},
|
||||
{"x": 0, "y": 6.5, "w": 1.25},
|
||||
{"x": 1.25, "y": 6.5, "w": 1.25},
|
||||
{"x": 2.5, "y": 6.5, "w": 1.25},
|
||||
{"x": 3.75, "y": 6.5, "w": 1.25},
|
||||
{"x": 5, "y": 6.5, "w": 3.25},
|
||||
{"x": 8.25, "y": 6.5, "w": 1.25},
|
||||
{"x": 9.5, "y": 6.5, "w": 1.25},
|
||||
{"x": 10.75, "y": 6.5},
|
||||
{"x": 11.75, "y": 6.5},
|
||||
{"x": 12.75, "y": 6.5},
|
||||
{"x": 13.75, "y": 6.5, "w": 1.25},
|
||||
{"x": 15.25, "y": 6.5},
|
||||
{"x": 16.25, "y": 6.5},
|
||||
{"x": 17.25, "y": 6.5},
|
||||
{"x": 18.5, "y": 6.5, "w": 2},
|
||||
{"x": 20.5, "y": 6.5},
|
||||
{"x": 21.5, "y": 6.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1 +0,0 @@
|
||||
#pragma once
|
@@ -1,6 +1,5 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* IBM XT keyboard layout
|
||||
* ,-------. ,--------------------------------------------------------------------------.
|
||||
@@ -15,12 +14,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
* | F9|F10| | Alt | Space |CapsLck| 0 | . | |
|
||||
* `-------' `--------------------------------------------------------------------------'
|
||||
*/
|
||||
LAYOUT_xt( \
|
||||
KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_NLCK, KC_SLCK,
|
||||
KC_F3, KC_F4, 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_P7, KC_P8, KC_P9, KC_PMNS,
|
||||
KC_F5, KC_F6, KC_LCTL,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_GRV, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_F7, KC_F8, KC_LSFT,KC_BSLS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_PAST,KC_P1, KC_P2, KC_P3, KC_PPLS,
|
||||
KC_F9, KC_F10, KC_LALT, KC_SPC, KC_CAPS, KC_P0, KC_PDOT
|
||||
LAYOUT_xt(
|
||||
KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NLCK, KC_SLCK,
|
||||
KC_F3, KC_F4, 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_P7, KC_P8, KC_P9, KC_PMNS,
|
||||
KC_F5, KC_F6, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_GRV, KC_ENT, KC_P4, KC_P5, KC_P6,
|
||||
KC_F7, KC_F8, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PPLS,
|
||||
KC_F9, KC_F10, KC_LALT, KC_SPC, KC_CAPS, KC_P0, KC_PDOT
|
||||
),
|
||||
|
||||
/* Extended keyboard layout
|
||||
@@ -43,13 +42,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*/
|
||||
/* Try this if your keyboad has exotic keys.
|
||||
LAYOUT(
|
||||
KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
|
||||
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_PSCR,KC_SLCK,KC_PAUS, KC_VOLD,KC_VOLU,KC_MUTE,
|
||||
KC_GRV, 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_JYEN,KC_BSPC, KC_INS, KC_HOME,KC_PGUP, KC_NLCK,KC_PSLS,KC_PAST,KC_PMNS,
|
||||
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_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
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_NUHS,KC_ENT, KC_P4, KC_P5, KC_P6, KC_PCMM,
|
||||
KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LCTL,KC_LGUI,KC_LALT,KC_MHEN, KC_SPC, KC_HENK,KC_KANA,KC_RALT,KC_RGUI,KC_APP, KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0, KC_PDOT,KC_PEQL
|
||||
KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24,
|
||||
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_PSCR, KC_SLCK, KC_PAUS, KC_VOLD, KC_VOLU, KC_MUTE,
|
||||
KC_GRV, 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_JYEN, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||
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_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||
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_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PCMM,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RO, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PEQL,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_MHEN, KC_SPC, KC_HENK, KC_KANA, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
|
||||
),
|
||||
*/
|
||||
};
|
||||
|
@@ -25,13 +25,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#include "xt.h"
|
||||
#include "matrix.h"
|
||||
|
||||
|
||||
static void matrix_make(uint8_t code);
|
||||
static void matrix_break(uint8_t code);
|
||||
|
||||
static uint8_t matrix[MATRIX_ROWS];
|
||||
#define ROW(code) (code>>3)
|
||||
#define COL(code) (code&0x07)
|
||||
|
||||
#define ROW(code) (code >> 3)
|
||||
#define COL(code) (code & 0x07)
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_init_kb(void) {
|
||||
@@ -48,16 +48,16 @@ void matrix_init_user(void) {
|
||||
}
|
||||
|
||||
__attribute__ ((weak))
|
||||
void matrix_scan_user(void) {
|
||||
}
|
||||
void matrix_scan_user(void) { }
|
||||
|
||||
void matrix_init(void)
|
||||
{
|
||||
void matrix_init(void) {
|
||||
debug_enable = true;
|
||||
xt_host_init();
|
||||
|
||||
// initialize matrix state: all keys off
|
||||
for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
|
||||
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
|
||||
matrix[i] = 0x00;
|
||||
}
|
||||
|
||||
matrix_init_quantum();
|
||||
}
|
||||
@@ -71,7 +71,7 @@ static uint8_t move_e0code(uint8_t code) {
|
||||
case 0x1C: return 0x6F; // Keypad Enter
|
||||
case 0x35: return 0x7F; // Keypad /
|
||||
|
||||
// Any XT keyobard with these keys?
|
||||
// Any XT keyboard with these keys?
|
||||
// http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf
|
||||
// https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc
|
||||
case 0x5B: return 0x5A; // Left GUI
|
||||
@@ -96,8 +96,7 @@ static uint8_t move_e0code(uint8_t code) {
|
||||
return 0x00;
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
uint8_t matrix_scan(void) {
|
||||
static enum {
|
||||
XT_STATE_INIT,
|
||||
XT_STATE_E0,
|
||||
@@ -108,8 +107,13 @@ uint8_t matrix_scan(void)
|
||||
} state = XT_STATE_INIT;
|
||||
|
||||
uint8_t code = xt_host_recv();
|
||||
if (!code) return 0;
|
||||
|
||||
if (!code) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
xprintf("%02X ", code);
|
||||
|
||||
switch (state) {
|
||||
case XT_STATE_INIT:
|
||||
switch (code) {
|
||||
@@ -120,10 +124,11 @@ uint8_t matrix_scan(void)
|
||||
state = XT_STATE_E1;
|
||||
break;
|
||||
default:
|
||||
if (code < 0x80)
|
||||
if (code < 0x80) {
|
||||
matrix_make(code);
|
||||
else
|
||||
} else {
|
||||
matrix_break(code & 0x7F);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -137,10 +142,11 @@ uint8_t matrix_scan(void)
|
||||
state = XT_STATE_INIT;
|
||||
break;
|
||||
default:
|
||||
if (code < 0x80)
|
||||
if (code < 0x80) {
|
||||
matrix_make(move_e0code(code));
|
||||
else
|
||||
} else {
|
||||
matrix_break(move_e0code(code & 0x7F));
|
||||
}
|
||||
state = XT_STATE_INIT;
|
||||
break;
|
||||
}
|
||||
@@ -181,59 +187,54 @@ uint8_t matrix_scan(void)
|
||||
default:
|
||||
state = XT_STATE_INIT;
|
||||
}
|
||||
|
||||
matrix_scan_quantum();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
inline
|
||||
uint8_t matrix_get_row(uint8_t row)
|
||||
{
|
||||
uint8_t matrix_get_row(uint8_t row) {
|
||||
return matrix[row];
|
||||
}
|
||||
|
||||
inline
|
||||
static void matrix_make(uint8_t code)
|
||||
{
|
||||
inline static void matrix_make(uint8_t code) {
|
||||
if (!matrix_is_on(ROW(code), COL(code))) {
|
||||
matrix[ROW(code)] |= 1<<COL(code);
|
||||
matrix[ROW(code)] |= 1 << COL(code);
|
||||
}
|
||||
}
|
||||
|
||||
inline
|
||||
static void matrix_break(uint8_t code)
|
||||
{
|
||||
inline static void matrix_break(uint8_t code) {
|
||||
if (matrix_is_on(ROW(code), COL(code))) {
|
||||
matrix[ROW(code)] &= ~(1<<COL(code));
|
||||
matrix[ROW(code)] &= ~(1 << COL(code));
|
||||
}
|
||||
}
|
||||
|
||||
void matrix_clear(void)
|
||||
{
|
||||
void matrix_clear(void) {
|
||||
for (uint8_t i=0; i < MATRIX_ROWS; i++) matrix[i] = 0x00;
|
||||
}
|
||||
|
||||
bool matrix_is_on(uint8_t row, uint8_t col)
|
||||
{
|
||||
return (matrix_get_row(row) & (1<<col));
|
||||
bool matrix_is_on(uint8_t row, uint8_t col) {
|
||||
return (matrix_get_row(row) & (1 << col));
|
||||
}
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
|
||||
#elif (MATRIX_COLS <= 16)
|
||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
|
||||
# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
|
||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
|
||||
# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
|
||||
#elif (MATRIX_COLS <= 32)
|
||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
|
||||
# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
|
||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
|
||||
# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
|
||||
#endif
|
||||
|
||||
void matrix_print(void)
|
||||
{
|
||||
void matrix_print(void) {
|
||||
print_matrix_header();
|
||||
|
||||
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
|
||||
print_hex8(row); print(": ");
|
||||
print_hex8(row);
|
||||
print(": ");
|
||||
print_matrix_row(row);
|
||||
print("\n");
|
||||
}
|
||||
|
@@ -2,28 +2,25 @@
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = halfkay
|
||||
|
||||
# Build Options
|
||||
# comment out to disable the options.
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
XT_ENABLE = yes
|
||||
CUSTOM_MATRIX = yes
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # 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
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
XT_ENABLE = yes
|
||||
CUSTOM_MATRIX = yes
|
||||
|
||||
SRC += matrix.c
|
||||
|
||||
# Optimize size but this may cause error "relocation truncated to fit"
|
||||
#EXTRALDFLAGS = -Wl,--relax
|
||||
|
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define XXX KC_NO
|
||||
|
||||
/* IBM XT keyboard layout
|
||||
* ,-------. ,--------------------------------------------------------------------------.
|
||||
* | F1| F2| |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BS |NumLck |ScrLck |
|
||||
@@ -44,28 +46,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* `-------' `--------------------------------------------------------------------------'
|
||||
*/
|
||||
#define LAYOUT_xt( \
|
||||
K3B,K3C, K01,K02,K03,K04,K05,K06,K07,K08,K09,K0A,K0B,K0C,K0D,K0E, K45, K46, \
|
||||
K3D,K3E, K0F,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K1A,K1B, K47,K48,K49,K4A, \
|
||||
K3F,K40, K1D,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K28,K29,K1C,K4B,K4C,K4D, \
|
||||
K41,K42, K2A,K2B,K2C,K2D,K2E,K2F,K30,K31,K32,K33,K34,K35,K36,K37,K4F,K50,K51,K4E, \
|
||||
K43,K44, K38, K39, K3A, K52, K53 \
|
||||
k3B, k3C, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k45, k46, \
|
||||
k3D, k3E, k0F, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k47, k48, k49, k4A, \
|
||||
k3F, k40, k1D, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k1C, k4B, k4C, k4D, \
|
||||
k41, k42, k2A, k2B, k2C, k2D, k2E, k2F, k30, k31, k32, k33, k34, k35, k36, k37, k4F, k50, k51, k4E, \
|
||||
k43, k44, k38, k39, k3A, k52, k53 \
|
||||
) { \
|
||||
{ KC_NO, K01, K02, K03, K04, K05, K06, K07 }, \
|
||||
{ K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17 }, \
|
||||
{ K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27 }, \
|
||||
{ K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37 }, \
|
||||
{ K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
|
||||
{ K40, K41, K42, K43, K44, K45, K46, K47 }, \
|
||||
{ K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
|
||||
{ K50, K51, K52, K53, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
|
||||
{ XXX, k01, k02, k03, k04, k05, k06, k07 }, \
|
||||
{ k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||
{ k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
||||
{ k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||
{ k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||
{ k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
|
||||
{ k50, k51, k52, k53, XXX, XXX, XXX, XXX }, \
|
||||
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
|
||||
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
|
||||
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
|
||||
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX }, \
|
||||
{ XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX } \
|
||||
}
|
||||
|
||||
/* Extended keyboard layout
|
||||
@@ -105,28 +107,28 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* *: special handling codes
|
||||
*/
|
||||
#define LAYOUT( \
|
||||
K64,K65,K66,K67,K68,K69,K6A,K6B,K6C,K6D,K6E,K76, \
|
||||
K01, K3B,K3C,K3D,K3E,K3F,K40,K41,K42,K43,K44,K57,K58, K54,K46,K55, K5D,K5E,K5F, \
|
||||
K29,K02,K03,K04,K05,K06,K07,K08,K09,K0A,K0B,K0C,K0D,K7D,K0E, K71,K74,K77, K45,K7F,K37,K4A, \
|
||||
K0F,K10,K11,K12,K13,K14,K15,K16,K17,K18,K19,K1A,K1B, K2B, K72,K75,K78, K47,K48,K49,K4E, \
|
||||
K3A,K1E,K1F,K20,K21,K22,K23,K24,K25,K26,K27,K28, K00,K1C, K4B,K4C,K4D,K7E, \
|
||||
K2A,K56,K2C,K2D,K2E,K2F,K30,K31,K32,K33,K34,K35, K73,K36, K60, K4F,K50,K51,K6F, \
|
||||
K1D,K5A,K38,K7B, K39, K79,K70,K7C,K5B,K5C,K7A, K61,K62,K63, K52,K53,K59 \
|
||||
k64, k65, k66, k67, k68, k69, k6A, k6B, k6C, k6D, k6E, k76, \
|
||||
k01, k3B, k3C, k3D, k3E, k3F, k40, k41, k42, k43, k44, k57, k58, k54, k46, k55, k5D, k5E, k5F, \
|
||||
k29, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k7D, k0E, k71, k74, k77, k45, k7F, k37, k4A, \
|
||||
k0F, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k2B, k72, k75, k78, k47, k48, k49, k4E, \
|
||||
k3A, k1E, k1F, k20, k21, k22, k23, k24, k25, k26, k27, k28, k00, k1C, k4B, k4C, k4D, k7E, \
|
||||
k2A, k56, k2C, k2D, k2E, k2F, k30, k31, k32, k33, k34, k35, k73, k36, k60, k4F, k50, k51, k6F, \
|
||||
k1D, k5A, k38, k7B, k39, k79, k70, k7C, k5B, k5C, k7A, k61, k62, k63, k52, k53, k59 \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07 }, \
|
||||
{ K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17 }, \
|
||||
{ K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27 }, \
|
||||
{ K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37 }, \
|
||||
{ K38, K39, K3A, K3B, K3C, K3D, K3E, K3F }, \
|
||||
{ K40, K41, K42, K43, K44, K45, K46, K47 }, \
|
||||
{ K48, K49, K4A, K4B, K4C, K4D, K4E, K4F }, \
|
||||
{ K50, K51, K52, K53, K54, K55, K56, K57 }, \
|
||||
{ K58, K59, K5A, K5B, K5C, K5D, K5E, K5F }, \
|
||||
{ K60, K61, K62, K63, K64, K65, K66, K67 }, \
|
||||
{ K68, K69, K6A, K6B, K6C, K6D, K6E, K6F }, \
|
||||
{ K70, K71, K72, K73, K74, K75, K76, K77 }, \
|
||||
{ K78, K79, K7A, K7B, K7C, K7D, K7E, K7F } \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07 }, \
|
||||
{ k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||
{ k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
||||
{ k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37 }, \
|
||||
{ k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||
{ k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57 }, \
|
||||
{ k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, k67 }, \
|
||||
{ k68, k69, k6A, k6B, k6C, k6D, k6E, k6F }, \
|
||||
{ k70, k71, k72, k73, k74, k75, k76, k77 }, \
|
||||
{ k78, k79, k7A, k7B, k7C, k7D, k7E, k7F } \
|
||||
}
|
||||
|
@@ -45,4 +45,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
#endif
|
||||
|
||||
#define ONESHOT_TAP_TOGGLE 3 /* Tapping this number of times holds the key until tapped once again. */
|
||||
#define ONESHOT_TIMEOUT 5000 /* Time (in ms) before the one shot key is released */
|
||||
|
||||
#define OLED_FONT_H "keyboards/crkbd/lib/glcdfont.c"
|
||||
|
@@ -19,48 +19,58 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum custom_keycodes {
|
||||
ARROW_FUNCTION = SAFE_RANGE
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case ARROW_FUNCTION:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("() => {}");
|
||||
} else {
|
||||
SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_ENTER));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
LT(1, KC_ESC), LT(2, KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, MT(MOD_LCTL, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RCTL, KC_SLSH), KC_RSFT,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), LT(2, KC_BSPC), KC_RALT
|
||||
//`--------------------------' '--------------------------´
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
LT(1, KC_ESC), LT(2, KC_A), LT(3, KC_S), KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||
OSM(MOD_LSFT), MT(MOD_LCTL, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, MT(MOD_RCTL, KC_SLSH), OSM(MOD_RSFT),
|
||||
KC_LALT, LGUI(KC_SPACE), LGUI_T(KC_SPC), MT(MOD_RSFT, KC_ENT), MO(2), KC_RALT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP,KC_RIGHT, XXXXXXX, _______,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
_______, _______, _______, _______, _______, _______
|
||||
//`--------------------------' '--------------------------´
|
||||
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, XXXXXXX, _______,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[2] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
_______, _______, _______, _______, _______, _______
|
||||
//`--------------------------' '--------------------------´
|
||||
)
|
||||
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, ARROW_FUNCTION, KC_LT, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_GT, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[3] = LAYOUT_split_3x6_3(
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, LALT(LSFT(KC_0)), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(LSFT(KC_4)), XXXXXXX,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, LGUI(KC_MINS), LGUI(KC_PLUS), XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
if (!is_master) {
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# armand1m crkbd layout
|
||||
|
||||
This is the personal layout for [@armand1m](https://github.com/armand1m)
|
||||
This is the personal layout for [@armand1m](https://go.d1m.dev/github)
|
||||
|
||||
This layout is heavily inspired in my personal Moonlander layout, optimized for my own personal usage.
|
||||
|
||||
@@ -8,6 +8,35 @@ As of the date of this writing, my environment runs OS X Big Sur with yabai and
|
||||
|
||||
I am a huge fan of ModTaps, so this layout will contain some of those to allow for a better experience in such a small keyboard like the crkbd.
|
||||
|
||||
## Layout
|
||||
|
||||
You can find `json` files for http://www.keyboard-layout-editor.com/ in the keymap folder.
|
||||
|
||||
Here are some screenshots for convenience:
|
||||
|
||||
Base Layer:<br/>
|
||||
<a href="https://ibb.co/fYZw3yj"><img src="https://i.ibb.co/0j1b06H/Screen-Shot-2021-03-15-at-4-58-43-PM.png" alt="Base Layer" border="0"></a>
|
||||
|
||||
Numbers Layer:<br/>
|
||||
<a href="https://ibb.co/30Vg1tS"><img src="https://i.ibb.co/hKr3sp2/Screen-Shot-2021-03-15-at-5-18-07-PM.png" alt="Numbers Layer" border="0"></a>
|
||||
|
||||
Symbols Layer:<br/>
|
||||
<a href="https://ibb.co/ryCg4pS"><img src="https://i.ibb.co/q1tzkgf/Screen-Shot-2021-03-15-at-5-18-33-PM.png" alt="Symbols Layer" border="0"></a>
|
||||
|
||||
## Choices
|
||||
|
||||
Every keymap is pretty unique and tailored to suit it's main creators needs. Here are some of my choices for the keys and their explanations:
|
||||
|
||||
- Left thumb acts as Space when tapping but as Command when holding: this makes my life so much easier in OS X. Having command reachable all the time just feels right to me and Mod Taps help me a lot on this.
|
||||
|
||||
- Right thumb acts as Enter when tapping but as Right Shift when holding: this is more of an experiment. I usually use shift on my pinkies. It is an interesting feature but I often forget about it.
|
||||
|
||||
- Esc lives in the home row, before A. It also acts as a layer toggle to the numbers layer when held. Having the LT to the numbers layer here allows me to actually reach the number 1 pretty nicely and other numbers on the left hand pretty easily.
|
||||
|
||||
- Keys on the home row are used to switch to layers, so "A" goes to layer 2 when held. I started making this in the Moonlander and migrated the practice, but still sometimes I use the MO 2 on the right thumb.
|
||||
|
||||
- One Shot Keys are enabled for the shifts on the pinkies. If you press it twice: it will lock on shift until pressed again (pretty much like caps lock). These are handy when you're typing and just don't want to hold shift to have a capitalized word.
|
||||
|
||||
## Usage
|
||||
|
||||
In case you have `qmk` installed:
|
||||
|
63
keyboards/dztech/dz65rgb/keymaps/jumper149/config.h
Normal file
63
keyboards/dztech/dz65rgb/keymaps/jumper149/config.h
Normal file
@@ -0,0 +1,63 @@
|
||||
/* Copyright 2021 Felix Springer
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#define FORCE_NKRO
|
||||
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
|
||||
#define DISABLE_RGB_MATRIX_ALPHAS_MODS
|
||||
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
|
||||
#define DISABLE_RGB_MATRIX_BREATHING
|
||||
#define DISABLE_RGB_MATRIX_BAND_SAT
|
||||
#define DISABLE_RGB_MATRIX_BAND_VAL
|
||||
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
|
||||
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
|
||||
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
|
||||
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_ALL
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
|
||||
#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
|
||||
#define DISABLE_RGB_MATRIX_DUAL_BEACON
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL
|
||||
#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL
|
||||
#define DISABLE_RGB_MATRIX_RAINBOW_BEACON
|
||||
#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS
|
||||
#define DISABLE_RGB_MATRIX_RAINDROPS
|
||||
#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
|
||||
#define DISABLE_RGB_MATRIX_TYPING_HEATMAP
|
||||
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
|
||||
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
|
||||
#define DISABLE_RGB_MATRIX_SPLASH
|
||||
#define DISABLE_RGB_MATRIX_MULTISPLASH
|
||||
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
|
||||
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
|
||||
|
||||
// Fix RGB_MATRIX_STARTUP, because RGB_MATRIX_CYCLE_ALL is disabled.
|
||||
// The actual handling of RGB_EFFECTs is done in keymap.c
|
||||
#undef RGB_MATRIX_STARTUP_MODE
|
||||
|
||||
#endif
|
120
keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c
Normal file
120
keyboards/dztech/dz65rgb/keymaps/jumper149/keymap.c
Normal file
@@ -0,0 +1,120 @@
|
||||
/* Copyright 2021 Felix Springer
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layers_user {
|
||||
_QWERTY,
|
||||
_AD,
|
||||
_VI,
|
||||
_FN,
|
||||
_KB
|
||||
};
|
||||
|
||||
enum keycodes_user {
|
||||
_BASEEF = SAFE_RANGE,
|
||||
_KITTEF
|
||||
};
|
||||
|
||||
int selected_mode_user = RGB_MATRIX_CUSTOM_base_effect; // for layer_state_set_user()
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t * record) {
|
||||
switch (keycode) {
|
||||
case _BASEEF:
|
||||
if (record->event.pressed) {
|
||||
selected_mode_user = RGB_MATRIX_CUSTOM_base_effect;
|
||||
}
|
||||
return false;
|
||||
case _KITTEF:
|
||||
if (record->event.pressed) {
|
||||
selected_mode_user = RGB_MATRIX_CUSTOM_kitt_effect;
|
||||
}
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_65_ansi(
|
||||
KC_GRAVE, 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_HOME,
|
||||
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_PGUP,
|
||||
KC_ESC, 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_PGDN,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[_AD] = LAYOUT_65_ansi(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_VI] = LAYOUT_65_ansi(
|
||||
KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
KC_ESC, XXXXXXX, XXXXXXX, KC_PGDN, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, _______, XXXXXXX,
|
||||
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_FIND, _______, _______, XXXXXXX,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_FN] = LAYOUT_65_ansi(
|
||||
XXXXXXX, 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_INS,
|
||||
XXXXXXX, KC_MUTE, KC_VOLU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_SLCK, KC_PAUS, XXXXXXX, KC_PSTE,
|
||||
CTL_T(KC_CAPS), KC_BRID, KC_VOLD, KC_BRIU, XXXXXXX, XXXXXXX, TG(_AD), TG(_VI), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COPY,
|
||||
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_APP, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, KC_MSTP, KC_CUT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, MO(_KB), XXXXXXX, KC_RCTL, KC_MPRV, KC_MPLY, KC_MNXT
|
||||
),
|
||||
[_KB] = LAYOUT_65_ansi(
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPI, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX,
|
||||
XXXXXXX, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, _BASEEF, _KITTEF, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EEP_RST, XXXXXXX,
|
||||
KC_LSFT, RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, NK_TOGG, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_RSFT, XXXXXXX, XXXXXXX,
|
||||
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
|
||||
)
|
||||
/*
|
||||
[_LEDS] = LAYOUT_65_ansi(
|
||||
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 ,
|
||||
15 , 16 Q, 17 W, 18 E, 19 R, 20 T, 21 Y, 22 U, 23 I, 24 O, 25 P, 26 , 27 , 28 , 29 ,
|
||||
30 , 31 A, 32 S, 33 D, 34 F, 35 G, 36 H, 37 J, 38 K, 39 L, 40 , 41 , 42 , 43 ,
|
||||
44 , 45 Z, 46 X, 47 C, 48 V, 49 B, 50 N, 51 M, 52 , 53 , 54 , 55 , 56 , 57 ,
|
||||
58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67
|
||||
)
|
||||
*/
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
switch (get_highest_layer(state)) {
|
||||
case _QWERTY:
|
||||
rgb_matrix_mode(selected_mode_user);
|
||||
break;
|
||||
case _AD:
|
||||
if (selected_mode_user == RGB_MATRIX_CUSTOM_base_effect) {
|
||||
rgb_matrix_mode(RGB_MATRIX_CUSTOM_base_ad_effect);
|
||||
} else {
|
||||
rgb_matrix_mode(selected_mode_user);
|
||||
}
|
||||
break;
|
||||
case _VI:
|
||||
rgb_matrix_mode(RGB_MATRIX_CUSTOM_vi_effect);
|
||||
break;
|
||||
case _FN:
|
||||
rgb_matrix_mode(RGB_MATRIX_CUSTOM_fn_indicator);
|
||||
break;
|
||||
case _KB:
|
||||
rgb_matrix_mode(RGB_MATRIX_CUSTOM_kb_indicator);
|
||||
break;
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
24
keyboards/dztech/dz65rgb/keymaps/jumper149/readme.md
Normal file
24
keyboards/dztech/dz65rgb/keymaps/jumper149/readme.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# jumper149's DZ65RGB v2
|
||||
|
||||
Run commands in the root directory of this repository.
|
||||
|
||||
```
|
||||
./bin/qmk compile && sudo dfu-programmer atmega32u4 erase && sudo dfu-programmer atmega32u4 flash ./dztech_dz65rgb_v2_jumper149.hex && sudo dfu-programmer atmega32u4 reset
|
||||
```
|
||||
|
||||
## build
|
||||
|
||||
```
|
||||
./bin/qmk compile
|
||||
```
|
||||
|
||||
## flash
|
||||
|
||||
Use `qmk flash` or if it is broken (unknown reason) you can try this workaround.
|
||||
I personally had some problems on ArchLinux, that I didn't debug any further though.
|
||||
|
||||
```
|
||||
sudo dfu-programmer atmega32u4 erase
|
||||
sudo dfu-programmer atmega32u4 flash ./dztech_dz65rgb_v2_jumper149.hex
|
||||
sudo dfu-programmer atmega32u4 reset
|
||||
```
|
700
keyboards/dztech/dz65rgb/keymaps/jumper149/rgb_matrix_user.inc
Normal file
700
keyboards/dztech/dz65rgb/keymaps/jumper149/rgb_matrix_user.inc
Normal file
@@ -0,0 +1,700 @@
|
||||
/* Copyright 2021 Felix Springer
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
RGB_MATRIX_EFFECT(base_effect)
|
||||
RGB_MATRIX_EFFECT(base_ad_effect)
|
||||
RGB_MATRIX_EFFECT(vi_effect)
|
||||
RGB_MATRIX_EFFECT(fn_indicator)
|
||||
RGB_MATRIX_EFFECT(kb_indicator)
|
||||
RGB_MATRIX_EFFECT(kitt_effect)
|
||||
|
||||
#ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
|
||||
|
||||
/*
|
||||
[_LEDS] = LAYOUT_65_ansi(
|
||||
0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 ,
|
||||
15 , 16 Q, 17 W, 18 E, 19 R, 20 T, 21 Y, 22 U, 23 I, 24 O, 25 P, 26 , 27 , 28 , 29 ,
|
||||
30 , 31 A, 32 S, 33 D, 34 F, 35 G, 36 H, 37 J, 38 K, 39 L, 40 , 41 , 42 , 43 ,
|
||||
44 , 45 Z, 46 X, 47 C, 48 V, 49 B, 50 N, 51 M, 52 , 53 , 54 , 55 , 56 , 57 ,
|
||||
58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67
|
||||
)
|
||||
*/
|
||||
|
||||
// variable for startup animation
|
||||
bool BASE_EFFECT_NOT_STARTED_YET = true;
|
||||
uint8_t base_effect_startup_counter = 255;
|
||||
|
||||
static HSV base_effect_math(HSV hsv, uint8_t i, uint8_t time) {
|
||||
|
||||
if (BASE_EFFECT_NOT_STARTED_YET) {
|
||||
base_effect_startup_counter = 0;
|
||||
BASE_EFFECT_NOT_STARTED_YET = false;
|
||||
}
|
||||
|
||||
// startup animation
|
||||
if (base_effect_startup_counter < 255) {
|
||||
|
||||
// jump to correct indices for alpha keys
|
||||
if (i == 0) { // only run for one key (key 0 is an arbitrary choice)
|
||||
if (base_effect_startup_counter == 0) {
|
||||
base_effect_startup_counter = 1;
|
||||
} else if (base_effect_startup_counter == 1) {
|
||||
base_effect_startup_counter = 17;
|
||||
} else if (base_effect_startup_counter == 26) {
|
||||
base_effect_startup_counter = 31;
|
||||
} else if (base_effect_startup_counter == 40) {
|
||||
base_effect_startup_counter = 45;
|
||||
} else if (base_effect_startup_counter == 52) {
|
||||
base_effect_startup_counter = 100;
|
||||
} else if (base_effect_startup_counter == 120) {
|
||||
base_effect_startup_counter = 255;
|
||||
} else {
|
||||
base_effect_startup_counter++;
|
||||
}
|
||||
}
|
||||
|
||||
// overwrite some highlit keys
|
||||
if (3 + 39 - i < base_effect_startup_counter - 100 && i >= 36 && i <= 39) {
|
||||
hsv.s = hsv.s;
|
||||
} else if (3 + 39 - i < base_effect_startup_counter - 100 && i >= 31 && i <= 34) {
|
||||
hsv.s = hsv.s;
|
||||
// light up alpha keys
|
||||
} else if (i < base_effect_startup_counter && i >= 16 && i <= 25) {
|
||||
hsv.s = 0;
|
||||
} else if (31 + 39 - i < base_effect_startup_counter && i >= 31 && i <= 39) {
|
||||
hsv.s = 0;
|
||||
} else if (i < base_effect_startup_counter && i >= 45 && i <= 51) {
|
||||
hsv.s = 0;
|
||||
// light up number row
|
||||
} else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 2) {
|
||||
hsv.s = 0;
|
||||
hsv.v = 1 * (hsv.v / 8);
|
||||
} else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 3) {
|
||||
hsv.s = 0;
|
||||
hsv.v = 2 * (hsv.v / 8);
|
||||
} else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 4) {
|
||||
hsv.s = 0;
|
||||
hsv.v = 3 * (hsv.v / 8);
|
||||
} else if (12 + 1 - i < base_effect_startup_counter - 100 && i >= 5 && i <= 8) {
|
||||
hsv.v = hsv.v;
|
||||
} else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 9) {
|
||||
hsv.s = 0;
|
||||
hsv.v = 3 * (hsv.v / 8);
|
||||
} else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 10) {
|
||||
hsv.s = 0;
|
||||
hsv.v = 2 * (hsv.v / 8);
|
||||
} else if (12 + 1 - i < base_effect_startup_counter - 100 && i == 11) {
|
||||
hsv.s = 0;
|
||||
hsv.v = 1 * (hsv.v / 8);
|
||||
// light up punctuation keys
|
||||
} else if (27 + 1 - i < base_effect_startup_counter - 100 && i >= 26 && i <= 27) {
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
} else if (41 + 2 - i < base_effect_startup_counter - 100 && i >= 40 && i <= 41) {
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
} else if (54 + 3 - i < base_effect_startup_counter - 100 && i >= 52 && i <= 54) {
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
// rest
|
||||
} else {
|
||||
hsv.v = 0;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
switch (i) {
|
||||
|
||||
// number row
|
||||
case 0:
|
||||
hsv.v = 0;
|
||||
break;
|
||||
case 1:
|
||||
hsv.v = 0;
|
||||
break;
|
||||
case 2:
|
||||
hsv.s = 0;
|
||||
hsv.v = 1 * (hsv.v / 8);
|
||||
break;
|
||||
case 3:
|
||||
hsv.s = 0;
|
||||
hsv.v = 2 * (hsv.v / 8);
|
||||
break;
|
||||
case 4:
|
||||
hsv.s = 0;
|
||||
hsv.v = 3 * (hsv.v / 8);
|
||||
break;
|
||||
case 5:
|
||||
hsv.v = hsv.v;
|
||||
break;
|
||||
case 6:
|
||||
hsv.v = hsv.v;
|
||||
break;
|
||||
case 7:
|
||||
hsv.v = hsv.v;
|
||||
break;
|
||||
case 8:
|
||||
hsv.v = hsv.v;
|
||||
break;
|
||||
case 9:
|
||||
hsv.s = 0;
|
||||
hsv.v = 3 * (hsv.v / 8);
|
||||
break;
|
||||
case 10:
|
||||
hsv.s = 0;
|
||||
hsv.v = 2 * (hsv.v / 8);
|
||||
break;
|
||||
case 11:
|
||||
hsv.s = 0;
|
||||
hsv.v = 1 * (hsv.v / 8);
|
||||
break;
|
||||
case 12:
|
||||
hsv.v = 0;
|
||||
break;
|
||||
|
||||
// punctuation keys
|
||||
case 26:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
break;
|
||||
case 27:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
break;
|
||||
case 40:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
break;
|
||||
case 41:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
break;
|
||||
case 52:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
break;
|
||||
case 53:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
break;
|
||||
case 54:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 8;
|
||||
break;
|
||||
|
||||
default:
|
||||
if (
|
||||
(i > 15 && i <= 25) ||
|
||||
(i > 30 && i <= 39) ||
|
||||
(i > 44 && i <= 51)
|
||||
) {
|
||||
if (i > 35 && i <= 39) {
|
||||
hsv.s = hsv.s;
|
||||
} else if (i > 30 && i <= 34) {
|
||||
hsv.s = hsv.s;
|
||||
} else {
|
||||
hsv.s = 0;
|
||||
}
|
||||
} else {
|
||||
hsv.v = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return hsv;
|
||||
}
|
||||
|
||||
bool base_effect(effect_params_t* params) {
|
||||
return effect_runner_i(params, &base_effect_math);
|
||||
}
|
||||
|
||||
static HSV base_ad_effect_math(HSV hsv, uint8_t i, uint8_t time) {
|
||||
|
||||
// no startup animation
|
||||
if (BASE_EFFECT_NOT_STARTED_YET) {
|
||||
base_effect_startup_counter = 255; // act like startup is already completed
|
||||
BASE_EFFECT_NOT_STARTED_YET = false;
|
||||
}
|
||||
|
||||
switch (i) {
|
||||
|
||||
// delete
|
||||
case 14:
|
||||
hsv.h = 0;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
|
||||
// insert
|
||||
case 29:
|
||||
hsv.h = 255/3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
|
||||
// home
|
||||
case 43:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
|
||||
// end
|
||||
case 57:
|
||||
hsv.s = 255;
|
||||
break;
|
||||
|
||||
default:
|
||||
hsv = base_effect_math(hsv, i, time);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return hsv;
|
||||
}
|
||||
|
||||
bool base_ad_effect(effect_params_t* params) {
|
||||
return effect_runner_i(params, &base_ad_effect_math);
|
||||
}
|
||||
|
||||
static HSV vi_effect_math(HSV hsv, uint8_t i, uint8_t time) {
|
||||
|
||||
// no startup animation
|
||||
if (BASE_EFFECT_NOT_STARTED_YET) {
|
||||
base_effect_startup_counter = 255; // act like startup is already completed
|
||||
BASE_EFFECT_NOT_STARTED_YET = false;
|
||||
}
|
||||
|
||||
switch (i) {
|
||||
|
||||
// hjkl
|
||||
case 36:
|
||||
break;
|
||||
case 37:
|
||||
break;
|
||||
case 38:
|
||||
break;
|
||||
case 39:
|
||||
break;
|
||||
|
||||
// page up
|
||||
case 22:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
|
||||
// page down
|
||||
case 33:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
|
||||
// find
|
||||
case 54:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
hsv.v = 0;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return hsv;
|
||||
}
|
||||
|
||||
bool vi_effect(effect_params_t* params) {
|
||||
return effect_runner_i(params, &vi_effect_math);
|
||||
}
|
||||
|
||||
static HSV fn_indicator_math(HSV hsv, uint8_t i, uint8_t time) {
|
||||
|
||||
// cancel base effect startup
|
||||
base_effect_startup_counter = 255;
|
||||
|
||||
switch (i) {
|
||||
|
||||
// F1 - F12
|
||||
case 1:
|
||||
hsv.h = 0 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 2:
|
||||
hsv.h = 0 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 3:
|
||||
hsv.h = 0 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 4:
|
||||
hsv.h = 0 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 5:
|
||||
hsv.h = 1 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 6:
|
||||
hsv.h = 1 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 7:
|
||||
hsv.h = 1 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 8:
|
||||
hsv.h = 1 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 9:
|
||||
hsv.h = 2 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 10:
|
||||
hsv.h = 2 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 11:
|
||||
hsv.h = 2 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 12:
|
||||
hsv.h = 2 * 255 / 3;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
|
||||
// delete/insert
|
||||
case 13:
|
||||
hsv.h = 0;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 14:
|
||||
hsv.h = 1 * (255 / 3);
|
||||
hsv.s = 255;
|
||||
break;
|
||||
|
||||
// paste/copy/cut
|
||||
case 29:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
case 43:
|
||||
hsv.h = 200;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 57:
|
||||
hsv.h = 0;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
|
||||
// print/scroll/pause
|
||||
case 25:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
case 26:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
case 27:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
|
||||
// caps lock
|
||||
case 30:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
|
||||
// modifier
|
||||
case 44:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 2;
|
||||
break;
|
||||
case 55:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 2;
|
||||
break;
|
||||
case 58:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 2;
|
||||
break;
|
||||
case 59:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 2;
|
||||
break;
|
||||
case 60:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 2;
|
||||
break;
|
||||
case 64:
|
||||
hsv.s = 0;
|
||||
hsv.v = hsv.v / 2;
|
||||
break;
|
||||
|
||||
// volume
|
||||
case 18: // mute
|
||||
hsv.h = 0;
|
||||
break;
|
||||
case 17: // increase
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 32: // decrease
|
||||
hsv.s = 0;
|
||||
break;
|
||||
|
||||
// brightness
|
||||
case 33: // increase
|
||||
hsv.s = 255;
|
||||
break;
|
||||
case 31: // decrease
|
||||
hsv.s = 0;
|
||||
break;
|
||||
|
||||
// media
|
||||
case 65: // previous
|
||||
hsv.s = 0;
|
||||
break;
|
||||
case 67: // next
|
||||
hsv.s = 0;
|
||||
break;
|
||||
case 56: // stop
|
||||
hsv.h = 0;
|
||||
break;
|
||||
case 66: // play/pause
|
||||
hsv.h = 255/3;
|
||||
break;
|
||||
|
||||
// menu
|
||||
case 51:
|
||||
hsv.s = 0;
|
||||
break;
|
||||
|
||||
// toggle AD layer
|
||||
case 36:
|
||||
hsv.h = 0;
|
||||
break;
|
||||
|
||||
// toggle VI layer
|
||||
case 37:
|
||||
hsv.h = 255/3;
|
||||
break;
|
||||
|
||||
// KB layer
|
||||
case 62:
|
||||
hsv.h = time;
|
||||
hsv.s = 255;
|
||||
break;
|
||||
|
||||
// no function
|
||||
default:
|
||||
hsv.v = 0;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return hsv;
|
||||
}
|
||||
|
||||
bool fn_indicator(effect_params_t* params) {
|
||||
return effect_runner_i(params, &fn_indicator_math);
|
||||
}
|
||||
|
||||
static HSV kb_indicator_math(HSV hsv, uint8_t i, uint8_t time) {
|
||||
|
||||
// cancel base effect startup
|
||||
base_effect_startup_counter = 255;
|
||||
|
||||
switch (i) {
|
||||
|
||||
// test HSV
|
||||
case 14:
|
||||
break;
|
||||
case 29:
|
||||
break;
|
||||
case 43:
|
||||
break;
|
||||
case 57:
|
||||
break;
|
||||
case 67:
|
||||
break;
|
||||
|
||||
// toggle RGB
|
||||
case 16:
|
||||
hsv.s = 0;
|
||||
if (time < (255 / 2)) {
|
||||
hsv.v = 255;
|
||||
} else {
|
||||
hsv.v = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
// cycle effect
|
||||
case 17:
|
||||
hsv.s = 255;
|
||||
hsv.v = 255;
|
||||
if (time < (255 / 3)) {
|
||||
hsv.h = 0;
|
||||
} else if (time < (2 * 255 / 3)) {
|
||||
hsv.h = 255 / 3;
|
||||
} else {
|
||||
hsv.h = 2 * 255 / 3;
|
||||
}
|
||||
break;
|
||||
|
||||
// adjust hue
|
||||
case 18:
|
||||
hsv.h = time;
|
||||
hsv.s = 255;
|
||||
hsv.v = 255;
|
||||
break;
|
||||
case 19:
|
||||
hsv.h = 255 - time;
|
||||
hsv.s = 255;
|
||||
hsv.v = 255;
|
||||
break;
|
||||
|
||||
// adjust saturation
|
||||
case 32:
|
||||
hsv.s = 255;
|
||||
hsv.v = 255;
|
||||
break;
|
||||
case 33:
|
||||
hsv.s = 0;
|
||||
hsv.v = 255;
|
||||
break;
|
||||
|
||||
// adjust value
|
||||
case 45:
|
||||
hsv.v = 255;
|
||||
break;
|
||||
case 46:
|
||||
hsv.v = 63;
|
||||
break;
|
||||
|
||||
// adjust speed
|
||||
case 4:
|
||||
if (((time / 8) % 2) == 0) {
|
||||
hsv.v = 255;
|
||||
} else {
|
||||
hsv.v = 63;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (((time / 16) % 2) == 0) {
|
||||
hsv.v = 63;
|
||||
} else {
|
||||
hsv.v = 255;
|
||||
}
|
||||
break;
|
||||
|
||||
// set main effect
|
||||
case 36: // BASE
|
||||
hsv.s = 0;
|
||||
break;
|
||||
case 37: // KITT
|
||||
hsv.h = 0;
|
||||
hsv.s = 255;
|
||||
if (time < 128) {
|
||||
hsv.v = time;
|
||||
} else {
|
||||
hsv.v = 255 - time;
|
||||
}
|
||||
break;
|
||||
|
||||
// reset (for flashing)
|
||||
case 13:
|
||||
hsv.s = 0;
|
||||
if (time < 16) {
|
||||
hsv.v = 255 - time * 128 / 16;
|
||||
} else {
|
||||
hsv.v = 127;
|
||||
}
|
||||
break;
|
||||
|
||||
// reset (reinitialize EEPROM)
|
||||
case 42:
|
||||
hsv.s = 0;
|
||||
hsv.v = 127;
|
||||
break;
|
||||
|
||||
// shift
|
||||
case 44:
|
||||
hsv.s = 0;
|
||||
hsv.v = 63;
|
||||
break;
|
||||
case 55:
|
||||
hsv.s = 0;
|
||||
hsv.v = 63;
|
||||
break;
|
||||
|
||||
// no function
|
||||
default:
|
||||
hsv.v = 0;
|
||||
|
||||
}
|
||||
|
||||
return hsv;
|
||||
}
|
||||
|
||||
bool kb_indicator(effect_params_t* params) {
|
||||
return effect_runner_i(params, &kb_indicator_math);
|
||||
}
|
||||
|
||||
uint8_t led_count = 7;
|
||||
uint8_t led_first = 33;
|
||||
static uint8_t time_to_led(uint8_t time, uint8_t led_behind) {
|
||||
uint16_t led_time = led_count * time;
|
||||
uint16_t step = ((2 * led_count + (led_time / 128)) - led_behind) % (2 * led_count);
|
||||
uint8_t led;
|
||||
if (step < led_count) {
|
||||
led = step;
|
||||
} else {
|
||||
led = led_count - 1 - (step - led_count);
|
||||
}
|
||||
return led;
|
||||
}
|
||||
|
||||
static HSV kitt_effect_math(HSV hsv, uint8_t i, uint8_t time) {
|
||||
|
||||
// reset base effect startup
|
||||
if (i == 0) {
|
||||
BASE_EFFECT_NOT_STARTED_YET = true;
|
||||
}
|
||||
|
||||
hsv.h = 0;
|
||||
hsv.s = 255;
|
||||
|
||||
if (i >= led_first && i < led_first + led_count) {
|
||||
uint8_t j = i - led_first;
|
||||
if (j == time_to_led(time, 0)) {
|
||||
hsv.v = hsv.v;
|
||||
} else if (j == time_to_led(time, 1)) {
|
||||
hsv.v = hsv.v/2;
|
||||
} else if (j == time_to_led(time, 2)) {
|
||||
hsv.v = hsv.v/4;
|
||||
} else if (j == time_to_led(time, 3)) {
|
||||
hsv.v = hsv.v/8;
|
||||
} else {
|
||||
hsv.v = 0;
|
||||
}
|
||||
} else {
|
||||
hsv.v = 0;
|
||||
}
|
||||
|
||||
return hsv;
|
||||
}
|
||||
|
||||
bool kitt_effect(effect_params_t* params) {
|
||||
return effect_runner_i(params, &kitt_effect_math);
|
||||
}
|
||||
|
||||
#endif // RGB_MATRIX_CUSTOM_EFFECT_IMPLS
|
||||
|
||||
// vim: syntax=c
|
1
keyboards/dztech/dz65rgb/keymaps/jumper149/rules.mk
Normal file
1
keyboards/dztech/dz65rgb/keymaps/jumper149/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
RGB_MATRIX_CUSTOM_USER = yes
|
@@ -7,81 +7,82 @@
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"#", "x":3.5, "y":0},
|
||||
{"label":"*", "x":12.25, "y":0},
|
||||
{"label":"@", "x":2.5, "y":0.125},
|
||||
{"label":"$", "x":4.5, "y":0.125},
|
||||
{"label":"&", "x":11.25, "y":0.13},
|
||||
{"label":"(", "x":13.25, "y":0.13},
|
||||
{"label":"%", "x":5.5, "y":0.25},
|
||||
{"label":"^", "x":10.25, "y":0.25},
|
||||
{"label":"!", "x":1.5, "y":0.375},
|
||||
{"label":"Esc", "x":0.5, "y":0.38},
|
||||
{"label":")", "x":14.25, "y":0.38},
|
||||
{"label":"1", "x":1.5, "y":0.375},
|
||||
{"label":"2", "x":2.5, "y":0.125},
|
||||
{"label":"3", "x":3.5, "y":0},
|
||||
{"label":"4", "x":4.5, "y":0.125},
|
||||
{"label":"5", "x":5.5, "y":0.25},
|
||||
{"label":"6", "x":6.5, "y":0.5},
|
||||
{"label":"5", "x":9.25, "y":0.5},
|
||||
{"label":"6", "x":10.25, "y":0.25},
|
||||
{"label":"7", "x":11.25, "y":0.13},
|
||||
{"label":"8", "x":12.25, "y":0},
|
||||
{"label":"9", "x":13.25, "y":0.13},
|
||||
{"label":"0", "x":14.25, "y":0.38},
|
||||
{"label":"PrtScr", "x":15.25, "y":0.38},
|
||||
{"x":6.5, "y":0.5}, {"x":9.25, "y":0.5},
|
||||
{"label":"E", "x":3.5, "y":1},
|
||||
{"label":"I", "x":12.25, "y":1},
|
||||
{"label":"W", "x":2.5, "y":1.125},
|
||||
{"label":"R", "x":4.5, "y":1.125},
|
||||
{"label":"U", "x":11.25, "y":1.13},
|
||||
{"label":"O", "x":13.25, "y":1.13},
|
||||
{"label":"T", "x":5.5, "y":1.25},
|
||||
{"label":"Y", "x":10.25, "y":1.25},
|
||||
{"label":"Q", "x":1.5, "y":1.375},
|
||||
{"label":"Tab", "x":0.5, "y":1.38},
|
||||
{"label":"Q", "x":1.5, "y":1.375},
|
||||
{"label":"W", "x":2.5, "y":1.125},
|
||||
{"label":"E", "x":3.5, "y":1},
|
||||
{"label":"R", "x":4.5, "y":1.125},
|
||||
{"label":"T", "x":5.5, "y":1.25},
|
||||
{"label":"Y", "x":6.5, "y":1.5},
|
||||
{"label":"T", "x":9.25, "y":1.5},
|
||||
{"label":"Y", "x":10.25, "y":1.25},
|
||||
{"label":"U", "x":11.25, "y":1.13},
|
||||
{"label":"I", "x":12.25, "y":1},
|
||||
{"label":"O", "x":13.25, "y":1.13},
|
||||
{"label":"P", "x":14.25, "y":1.38},
|
||||
{"label":"\u2019", "x":15.25, "y":1.38},
|
||||
{"label":"[", "x":6.5, "y":1.5},
|
||||
{"label":"]", "x":9.25, "y":1.5},
|
||||
{"label":"D", "x":3.5, "y":2},
|
||||
{"label":"K", "x":12.25, "y":2},
|
||||
{"label":"S", "x":2.5, "y":2.125},
|
||||
{"label":"F", "x":4.5, "y":2.125},
|
||||
{"label":"J", "x":11.25, "y":2.13},
|
||||
{"label":"L", "x":13.25, "y":2.13},
|
||||
{"label":"G", "x":5.5, "y":2.25},
|
||||
{"label":"H", "x":10.25, "y":2.25},
|
||||
{"label":"A", "x":1.5, "y":2.375},
|
||||
{"label":"[", "x":15.25, "y":1.38},
|
||||
{"label":"Caps", "x":0.5, "y":2.38},
|
||||
{"label":"A", "x":1.5, "y":2.375},
|
||||
{"label":"S", "x":2.5, "y":2.125},
|
||||
{"label":"D", "x":3.5, "y":2},
|
||||
{"label":"F", "x":4.5, "y":2.125},
|
||||
{"label":"G", "x":5.5, "y":2.25},
|
||||
{"label":"H", "x":6.5, "y":2.5},
|
||||
{"label":"G", "x":9.25, "y":2.5},
|
||||
{"label":"H", "x":10.25, "y":2.25},
|
||||
{"label":"J", "x":11.25, "y":2.13},
|
||||
{"label":"K", "x":12.25, "y":2},
|
||||
{"label":"L", "x":13.25, "y":2.13},
|
||||
{"label":":", "x":14.25, "y":2.38},
|
||||
{"label":"Ent", "x":15.25, "y":2.38},
|
||||
{"label":"(", "x":6.5, "y":2.5},
|
||||
{"label":")", "x":9.25, "y":2.5},
|
||||
{"label":"C", "x":3.5, "y":3},
|
||||
{"label":"<", "x":12.25, "y":3},
|
||||
{"label":"X", "x":2.5, "y":3.125},
|
||||
{"label":"V", "x":4.5, "y":3.125},
|
||||
{"label":"M", "x":11.25, "y":3.13},
|
||||
{"label":">", "x":13.25, "y":3.13},
|
||||
{"label":"B", "x":5.5, "y":3.25},
|
||||
{"label":"N", "x":10.25, "y":3.25},
|
||||
{"label":"Z", "x":1.5, "y":3.375},
|
||||
{"label":"Shift", "x":0.5, "y":3.38},
|
||||
{"label":"Z", "x":1.5, "y":3.375},
|
||||
{"label":"X", "x":2.5, "y":3.125},
|
||||
{"label":"C", "x":3.5, "y":3},
|
||||
{"label":"V", "x":4.5, "y":3.125},
|
||||
{"label":"B", "x":5.5, "y":3.25},
|
||||
{"label":"N", "x":6.5, "y":3.5},
|
||||
{"label":"B", "x":9.25, "y":3.5},
|
||||
{"label":"N", "x":10.25, "y":3.25},
|
||||
{"label":"M", "x":11.25, "y":3.13},
|
||||
{"label":"<", "x":12.25, "y":3},
|
||||
{"label":">", "x":13.25, "y":3.13},
|
||||
{"label":"?", "x":14.25, "y":3.38},
|
||||
{"label":"_", "x":15.25, "y":3.38},
|
||||
{"x":6.5, "y":3.5},
|
||||
{"x":9.25, "y":3.5},
|
||||
{"label":"Ctrl", "x":0.5, "y":4.375},
|
||||
{"label":"Ctrl", "x":0.5, "y":4.38},
|
||||
{"label":"Win", "x":1.5, "y":4.38},
|
||||
{"label":"\u7121\u5909", "x":3.75, "y":4.38},
|
||||
{"label":"↑", "x":2.63, "y":4.51},
|
||||
{"label":"Alt", "x":3.75, "y":4.38},
|
||||
{"label":"Ent", "x":4.75, "y":4.38},
|
||||
{"label":"Spc", "x":11, "y":4.38},
|
||||
{"label":"\u5909\u63db", "x":12, "y":4.38},
|
||||
{"label":"Alt", "x":14.25, "y":4.38},
|
||||
{"label":"App", "x":15.25, "y":4.38},
|
||||
{"label":"\u2191", "x":2.625, "y":4.505},
|
||||
{"label":"\u2191", "x":13.13, "y":4.51},
|
||||
{"label":"BS", "x":5.85, "y":4.6},
|
||||
{"label":"Del", "x":9.9, "y":4.6},
|
||||
{"label":"Del", "x":6.9, "y":5.15},
|
||||
{"label":"BS", "x":8.85, "y":5.15},
|
||||
{"label":"\u2190", "x":1.625, "y":5.505},
|
||||
{"label":"\u2193", "x":2.625, "y":5.505},
|
||||
{"label":"\u2192", "x":3.625, "y":5.505},
|
||||
{"label":"\u2190", "x":12.13, "y":5.51},
|
||||
{"label":"\u2193", "x":13.13, "y":5.51},
|
||||
{"label":"\u2192", "x":14.13, "y":5.51}]
|
||||
{"label":"Del", "x":9.9, "y":4.6},
|
||||
{"label":"Spc", "x":11, "y":4.38},
|
||||
{"label":"Alt", "x":12, "y":4.38},
|
||||
{"label":"↑", "x":13.13, "y":4.51},
|
||||
{"label":"Alt", "x":14.25, "y":4.38},
|
||||
{"label":"App", "x":15.25, "y":4.38},
|
||||
{"label":"←", "x":1.63, "y":5.51},
|
||||
{"label":"⇓", "x":2.63, "y":5.51},
|
||||
{"label":"→", "x":3.625, "y":5.51},
|
||||
{"label":"←", "x":12.13, "y":5.51},
|
||||
{"label":"⇓", "x":13.13, "y":5.51},
|
||||
{"label":"→", "x":14.13, "y":5.51}]
|
||||
}
|
||||
}
|
||||
}
|
18
keyboards/four_banger/info.json
Normal file
18
keyboards/four_banger/info.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"keyboard_name": "Four Banger",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 2,
|
||||
"height": 2,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_2x2": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
22
keyboards/geekboards/tester/info.json
Normal file
22
keyboards/geekboards/tester/info.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"keyboard_name": "Geekboards 8-keys macropad",
|
||||
"url": "",
|
||||
"maintainer": "moyi4681",
|
||||
"width": 4,
|
||||
"height": 2,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
46
keyboards/gmmk/pro/config.h
Normal file
46
keyboards/gmmk/pro/config.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define DEVICE_VER 0x0001
|
||||
#define VENDOR_ID 0x320F
|
||||
#define PRODUCT_ID 0x5044
|
||||
#define MANUFACTURER Glorious
|
||||
#define PRODUCT GMMK Pro
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 11
|
||||
#define MATRIX_COLS 8
|
||||
|
||||
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10 }
|
||||
#define MATRIX_COL_PINS { A0, A1, A2, A3, A4, A8, A9, A10 }
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
|
||||
#define TAP_CODE_DELAY 10
|
||||
#define ENCODERS_PAD_A { C15 }
|
||||
#define ENCODERS_PAD_B { C14 }
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
111
keyboards/gmmk/pro/info.json
Normal file
111
keyboards/gmmk/pro/info.json
Normal file
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"keyboard_name": "GMMK Pro",
|
||||
"url": "https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation",
|
||||
"maintainer": "GloriousThrall",
|
||||
"width": 16.5,
|
||||
"height": 6.5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.25, "y":0},
|
||||
|
||||
{"x":5.5, "y":0},
|
||||
{"x":6.5, "y":0},
|
||||
{"x":7.5, "y":0},
|
||||
{"x":8.5, "y":0},
|
||||
|
||||
{"x":9.75, "y":0},
|
||||
{"x":10.75, "y":0},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0},
|
||||
|
||||
{"x":14, "y":0},
|
||||
{"x":15.5, "y":0},
|
||||
|
||||
{"x":0, "y":1.25},
|
||||
{"x":1, "y":1.25},
|
||||
{"x":2, "y":1.25},
|
||||
{"x":3, "y":1.25},
|
||||
{"x":4, "y":1.25},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":6, "y":1.25},
|
||||
{"x":7, "y":1.25},
|
||||
{"x":8, "y":1.25},
|
||||
{"x":9, "y":1.25},
|
||||
{"x":10, "y":1.25},
|
||||
{"x":11, "y":1.25},
|
||||
{"x":12, "y":1.25},
|
||||
{"x":13, "y":1.25, "w":2},
|
||||
|
||||
{"x":15.5, "y":1.25},
|
||||
|
||||
{"x":0, "y":2.25, "w":1.5},
|
||||
{"x":1.5, "y":2.25},
|
||||
{"x":2.5, "y":2.25},
|
||||
{"x":3.5, "y":2.25},
|
||||
{"x":4.5, "y":2.25},
|
||||
{"x":5.5, "y":2.25},
|
||||
{"x":6.5, "y":2.25},
|
||||
{"x":7.5, "y":2.25},
|
||||
{"x":8.5, "y":2.25},
|
||||
{"x":9.5, "y":2.25},
|
||||
{"x":10.5, "y":2.25},
|
||||
{"x":11.5, "y":2.25},
|
||||
{"x":12.5, "y":2.25},
|
||||
{"x":13.5, "y":2.25, "w":1.5},
|
||||
|
||||
{"x":15.5, "y":2.25},
|
||||
|
||||
{"x":0, "y":3.25, "w":1.75},
|
||||
{"x":1.75, "y":3.25},
|
||||
{"x":2.75, "y":3.25},
|
||||
{"x":3.75, "y":3.25},
|
||||
{"x":4.75, "y":3.25},
|
||||
{"x":5.75, "y":3.25},
|
||||
{"x":6.75, "y":3.25},
|
||||
{"x":7.75, "y":3.25},
|
||||
{"x":8.75, "y":3.25},
|
||||
{"x":9.75, "y":3.25},
|
||||
{"x":10.75, "y":3.25},
|
||||
{"x":11.75, "y":3.25},
|
||||
{"x":12.75, "y":3.25, "w":2.25},
|
||||
|
||||
{"x":15.5, "y":3.25},
|
||||
|
||||
{"x":0, "y":4.25, "w":2.25},
|
||||
{"x":2.25, "y":4.25},
|
||||
{"x":3.25, "y":4.25},
|
||||
{"x":4.25, "y":4.25},
|
||||
{"x":5.25, "y":4.25},
|
||||
{"x":6.25, "y":4.25},
|
||||
{"x":7.25, "y":4.25},
|
||||
{"x":8.25, "y":4.25},
|
||||
{"x":9.25, "y":4.25},
|
||||
{"x":10.25, "y":4.25},
|
||||
{"x":11.25, "y":4.25},
|
||||
{"x":12.25, "y":4.25, "w":1.75},
|
||||
|
||||
{"x":14.25, "y":4.5},
|
||||
|
||||
{"x":15.5, "y":4.25},
|
||||
|
||||
{"x":0, "y":5.25, "w":1.25},
|
||||
{"x":1.25, "y":5.25, "w":1.25},
|
||||
{"x":2.5, "y":5.25, "w":1.25},
|
||||
{"x":3.75, "y":5.25, "w":6.25},
|
||||
{"x":10, "y":5.25},
|
||||
{"x":11, "y":5.25},
|
||||
{"x":12, "y":5.25},
|
||||
|
||||
{"x":13.25, "y":5.5},
|
||||
{"x":14.25, "y":5.5},
|
||||
{"x":15.25, "y":5.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
47
keyboards/gmmk/pro/keymaps/default/keymap.c
Normal file
47
keyboards/gmmk/pro/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,47 @@
|
||||
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
|
||||
|
||||
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/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
|
||||
// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
|
||||
// Tab Q W E R T Y U I O P [ ] \ PgUp
|
||||
// Caps A S D F G H J K L ; " Enter PgDn
|
||||
// Sh_L Z X C V B N M , . ? Sh_R Up End
|
||||
// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
|
||||
|
||||
|
||||
[0] = LAYOUT(
|
||||
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_PSCR, KC_MUTE,
|
||||
KC_GRV, 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_DEL,
|
||||
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_PGUP,
|
||||
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_PGDN,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
)
|
||||
|
||||
};
|
||||
|
||||
|
||||
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
}
|
16
keyboards/gmmk/pro/pro.c
Normal file
16
keyboards/gmmk/pro/pro.c
Normal file
@@ -0,0 +1,16 @@
|
||||
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include "pro.h"
|
50
keyboards/gmmk/pro/pro.h
Normal file
50
keyboards/gmmk/pro/pro.h
Normal file
@@ -0,0 +1,50 @@
|
||||
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
|
||||
|
||||
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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define ___ KC_NO
|
||||
|
||||
// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
|
||||
// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BSpc Del
|
||||
// Tab Q W E R T Y U I O P [ ] \ PgUp
|
||||
// Caps A S D F G H J K L ; " Enter PgDn
|
||||
// Sh_L Z X C V B N M , . ? Sh_R Up End
|
||||
// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
|
||||
|
||||
#define LAYOUT( \
|
||||
k13, k26, k36, k31, k33, k07, k63, k71, k76, ka6, ka7, ka3, ka5, k97, k01, \
|
||||
k16, k17, k27, k37, k47, k46, k56, k57, k67, k77, k87, k86, k66, ka1, k65, \
|
||||
k11, k10, k20, k30, k40, k41, k51, k50, k60, k70, k80, k81, k61, ka2, k15, \
|
||||
k21, k12, k22, k32, k42, k43, k53, k52, k62, k72, k82, k83, ka4, k25, \
|
||||
k00, k14, k24, k34, k44, k45, k55, k54, k64, k74, k85, k91, k35, k75, \
|
||||
k06, k90, k93, k94, k92, k95, k04, k03, k73, k05 \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, ___, k03, k04, k05, k06, k07}, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17}, \
|
||||
{ k20, k21, k22, ___, k24, k25, k26, k27}, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37}, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47}, \
|
||||
{ k50, k51, k52, k53, k54, k55, k56, k57}, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, k67}, \
|
||||
{ k70, k71, k72, k73, k74, k75, k76, k77}, \
|
||||
{ k80, k81, k82, k83, ___, k85, k86, k87}, \
|
||||
{ k90, k91, k92, k93, k94, k95, ___, k97}, \
|
||||
{ ___, ka1, ka2, ka3, ka4, ka5, ka6, ka7} \
|
||||
}
|
13
keyboards/gmmk/pro/readme.md
Normal file
13
keyboards/gmmk/pro/readme.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# GMMK PRO
|
||||
|
||||
A tenkeyless 75% keyboard made and sold by Glorious LLC. Equipped with the STM32 ARM Cortex-M4 microcontroller, with support for rotary encoders and three additional layouts. [More info at Glorious](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation)
|
||||
|
||||
* Keyboard Maintainer: [GloriousThrall](https://github.com/GloriousThrall)
|
||||
* Hardware Supported: GMMK Pro
|
||||
* Hardware Availability: [GloriousPCGaming.com](https://www.pcgamingrace.com/products/glorious-gmmk-pro-75-barebone-black-reservation)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make gmmk/pro:default
|
||||
|
||||
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).
|
20
keyboards/gmmk/pro/rules.mk
Normal file
20
keyboards/gmmk/pro/rules.mk
Normal file
@@ -0,0 +1,20 @@
|
||||
# MCU name
|
||||
MCU = STM32F303
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
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
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
ENCODER_ENABLE = yes
|
24
keyboards/handwired/2x5keypad/info.json
Normal file
24
keyboards/handwired/2x5keypad/info.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"keyboard_name": "2x5keypad",
|
||||
"url": "",
|
||||
"maintainer": "jmcameron",
|
||||
"width": 5,
|
||||
"height": 2,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
80
keyboards/handwired/412_64/info.json
Normal file
80
keyboards/handwired/412_64/info.json
Normal file
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"keyboard_name": "412-64",
|
||||
"url": "",
|
||||
"maintainer": "fateeverywhere",
|
||||
"width": 16,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x16": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
{"x":12, "y":1},
|
||||
{"x":13, "y":1},
|
||||
{"x":14, "y":1},
|
||||
{"x":15, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":2},
|
||||
{"x":15, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3},
|
||||
{"x":12, "y":3},
|
||||
{"x":13, "y":3},
|
||||
{"x":14, "y":3},
|
||||
{"x":15, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
58
keyboards/handwired/42/info.json
Normal file
58
keyboards/handwired/42/info.json
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"keyboard_name": "42",
|
||||
"url": "",
|
||||
"maintainer": "nglgzz",
|
||||
"width": 14.5,
|
||||
"height": 5.417,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0.625},
|
||||
{"x":1, "y":0.417},
|
||||
{"x":2, "y":0.208},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0.208},
|
||||
{"x":5, "y":0.417},
|
||||
{"x":8.5, "y":0.417},
|
||||
{"x":9.5, "y":0.208},
|
||||
{"x":10.5, "y":0},
|
||||
{"x":11.5, "y":0.208},
|
||||
{"x":12.5, "y":0.417},
|
||||
{"x":13.5, "y":0.625},
|
||||
|
||||
{"x":0, "y":1.625},
|
||||
{"x":1, "y":1.417},
|
||||
{"x":2, "y":1.208},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1.208},
|
||||
{"x":5, "y":1.417},
|
||||
{"x":8.5, "y":1.417},
|
||||
{"x":9.5, "y":1.208},
|
||||
{"x":10.5, "y":1},
|
||||
{"x":11.5, "y":1.208},
|
||||
{"x":12.5, "y":1.417},
|
||||
{"x":13.5, "y":1.625},
|
||||
|
||||
{"x":0, "y":2.625},
|
||||
{"x":1, "y":2.417},
|
||||
{"x":2, "y":2.208},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2.208},
|
||||
{"x":5, "y":2.417},
|
||||
{"x":8.5, "y":2.417},
|
||||
{"x":9.5, "y":2.208},
|
||||
{"x":10.5, "y":2},
|
||||
{"x":11.5, "y":2.208},
|
||||
{"x":12.5, "y":2.417},
|
||||
{"x":13.5, "y":2.625},
|
||||
|
||||
{"x":4, "y":3.208},
|
||||
{"x":5, "y":3.417},
|
||||
{"x":5.75, "y":4.417},
|
||||
{"x":7.75, "y":4.417},
|
||||
{"x":8.5, "y":3.417},
|
||||
{"x":9.5, "y":3.208}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
15
keyboards/handwired/aplx2/info.json
Normal file
15
keyboards/handwired/aplx2/info.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"keyboard_name": "Aplx2",
|
||||
"url": "",
|
||||
"maintainer": "Aplyard",
|
||||
"width": 2,
|
||||
"height": 1,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
17
keyboards/handwired/bolek/bolek.c
Normal file
17
keyboards/handwired/bolek/bolek.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2021 Mikołaj Biel
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#include "bolek.h"
|
43
keyboards/handwired/bolek/bolek.h
Normal file
43
keyboards/handwired/bolek/bolek.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/* Copyright 2021 Mikołaj Biel
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
/* This is a shortcut to help you visually see your layout.
|
||||
*
|
||||
* The first section contains all of the arguments representing the physical
|
||||
* layout of the board and position of the keys.
|
||||
*
|
||||
* The second converts the arguments into a two-dimensional array which
|
||||
* represents the switch matrix.
|
||||
*/
|
||||
#define LAYOUT( \
|
||||
K000, K001, K002, K003, K004, K405, K406, K407, K408, K409, \
|
||||
K100, K101, K102, K103, K104, K505, K506, K507, K508, K509, \
|
||||
K200, K201, K202, K203, K204, K605, K606, K607, K608, K609, \
|
||||
K302, K303, K304, K705, K706, K707 \
|
||||
) { \
|
||||
{ K000, K001, K002, K003, K004, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ K100, K101, K102, K103, K104, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ K200, K201, K202, K203, K204, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ KC_NO, KC_NO, K302, K303, K304, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K405, K406, K407, K408, K409 }, \
|
||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K505, K506, K507, K508, K509 }, \
|
||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K605, K606, K607, K608, K609 }, \
|
||||
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K705, K706, K707, KC_NO, KC_NO } \
|
||||
}
|
147
keyboards/handwired/bolek/config.h
Normal file
147
keyboards/handwired/bolek/config.h
Normal file
@@ -0,0 +1,147 @@
|
||||
/*
|
||||
Copyright 2021 Mikołaj Biel
|
||||
|
||||
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/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x3708
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Mikołaj Biel
|
||||
#define PRODUCT bolek
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 8
|
||||
#define MATRIX_COLS 10
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { F4, F5, F6, B5, D3, D2, D1, B4 }
|
||||
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, E6, D7, C6, D0, D4 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
//#define LED_NUM_LOCK_PIN B0
|
||||
//#define LED_CAPS_LOCK_PIN B1
|
||||
//#define LED_SCROLL_LOCK_PIN B2
|
||||
//#define LED_COMPOSE_PIN B3
|
||||
//#define LED_KANA_PIN B4
|
||||
|
||||
//#define BACKLIGHT_PIN B7
|
||||
//#define BACKLIGHT_LEVELS 3
|
||||
//#define BACKLIGHT_BREATHING
|
||||
|
||||
//#define RGB_DI_PIN E2
|
||||
//#ifdef RGB_DI_PIN
|
||||
//# define RGBLED_NUM 16
|
||||
//# define RGBLIGHT_HUE_STEP 8
|
||||
//# define RGBLIGHT_SAT_STEP 8
|
||||
//# define RGBLIGHT_VAL_STEP 8
|
||||
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
//# define RGBLIGHT_ANIMATIONS
|
||||
/*== or choose animations ==*/
|
||||
//# define RGBLIGHT_EFFECT_BREATHING
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||
//# define RGBLIGHT_EFFECT_SNAKE
|
||||
//# define RGBLIGHT_EFFECT_KNIGHT
|
||||
//# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||
//# define RGBLIGHT_EFFECT_RGB_TEST
|
||||
//# define RGBLIGHT_EFFECT_ALTERNATING
|
||||
/*== customize breathing effect ==*/
|
||||
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||
/*==== use exp() and sin() ====*/
|
||||
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||
//#endif
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||
//#define MATRIX_HAS_GHOST
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||
*/
|
||||
//#define GRAVE_ESC_CTRL_OVERRIDE
|
||||
|
||||
/*
|
||||
* Force NKRO
|
||||
*
|
||||
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||
* makefile for this to work.)
|
||||
*
|
||||
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||
* until the next keyboard reset.
|
||||
*
|
||||
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||
* fully operational during normal computer usage.
|
||||
*
|
||||
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||
* power-up.
|
||||
*
|
||||
*/
|
||||
//#define FORCE_NKRO
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
|
||||
/* disable debug print */
|
||||
//#define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
//#define NO_PRINT
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
|
||||
/* disable these deprecated features by default */
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
||||
|
||||
/* Bootmagic Lite key configuration */
|
||||
//#define BOOTMAGIC_LITE_ROW 0
|
||||
//#define BOOTMAGIC_LITE_COLUMN 0
|
49
keyboards/handwired/bolek/info.json
Normal file
49
keyboards/handwired/bolek/info.json
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
"keyboard_name": "bolek",
|
||||
"url": "https://github.com/klausweiss/bolek",
|
||||
"maintainer": "klausweiss",
|
||||
"height": 5.25,
|
||||
"width": 12.75,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{ "label": "Q", "x": 0, "y": 0.25 },
|
||||
{ "label": "W", "x": 1, "y": 0 },
|
||||
{ "label": "E", "x": 2, "y": 0 },
|
||||
{ "label": "R", "x": 3, "y": 0.25 },
|
||||
{ "label": "T", "x": 4, "y": 0.5 },
|
||||
{ "label": "Y", "x": 7.75, "y": 0.5 },
|
||||
{ "label": "U", "x": 8.75, "y": 0.25 },
|
||||
{ "label": "I", "x": 9.75, "y": 0 },
|
||||
{ "label": "O", "x": 10.75, "y": 0 },
|
||||
{ "label": "P", "x": 11.75, "y": 0.25 },
|
||||
{ "label": "A", "x": 0, "y": 1.25 },
|
||||
{ "label": "S", "x": 1, "y": 1 },
|
||||
{ "label": "D", "x": 2, "y": 1 },
|
||||
{ "label": "F", "x": 3, "y": 1.25 },
|
||||
{ "label": "G", "x": 4, "y": 1.5 },
|
||||
{ "label": "H", "x": 7.75, "y": 1.5 },
|
||||
{ "label": "J", "x": 8.75, "y": 1.25 },
|
||||
{ "label": "K", "x": 9.75, "y": 1 },
|
||||
{ "label": "L", "x": 10.75, "y": 1 },
|
||||
{ "label": ";", "x": 11.75, "y": 1.25 },
|
||||
{ "label": "Z", "x": 0, "y": 2.25 },
|
||||
{ "label": "X", "x": 1, "y": 2 },
|
||||
{ "label": "C", "x": 2, "y": 2 },
|
||||
{ "label": "V", "x": 3, "y": 2.25 },
|
||||
{ "label": "B", "x": 4, "y": 2.5 },
|
||||
{ "label": "N", "x": 7.75, "y": 2.5 },
|
||||
{ "label": "M", "x": 8.75, "y": 2.25 },
|
||||
{ "label": ",", "x": 9.75, "y": 2 },
|
||||
{ "label": ".", "x": 10.75, "y": 2 },
|
||||
{ "label": "'", "x": 11.75, "y": 2.25 },
|
||||
{ "label": "ESC", "x": 3.25, "y": 3.75 },
|
||||
{ "label": "SPC", "x": 4.25, "y": 4 },
|
||||
{ "label": "TAB", "x": 5.25, "y": 4.25 },
|
||||
{ "label": "RET", "x": 6.5, "y": 4.25 },
|
||||
{ "label": "BSPC", "x": 7.5, "y": 4 },
|
||||
{ "label": "RESET", "x": 8.5, "y": 3.75 }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
32
keyboards/handwired/bolek/keymaps/default/keymap.c
Normal file
32
keyboards/handwired/bolek/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/* Copyright 2021 Mikołaj Biel
|
||||
*
|
||||
* 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/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
};
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base */
|
||||
[_BASE] = 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_EQL,
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_MINS,
|
||||
KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, RESET
|
||||
)
|
||||
};
|
1
keyboards/handwired/bolek/keymaps/default/readme.md
Normal file
1
keyboards/handwired/bolek/keymaps/default/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for bolek
|
17
keyboards/handwired/bolek/readme.md
Normal file
17
keyboards/handwired/bolek/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# bolek
|
||||
|
||||
Low-profile 36% 3d-printed keyboard designed to go with pro micro and kailh chocs
|
||||
|
||||
* Keyboard Maintainer: [klausweiss](https://github.com/klausweiss)
|
||||
* Repository: https://github.com/klausweiss/bolek
|
||||
* Hardware Supported: Pro Micro
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/bolek:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/bolek:default:flash
|
||||
|
||||
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).
|
22
keyboards/handwired/bolek/rules.mk
Normal file
22
keyboards/handwired/bolek/rules.mk
Normal file
@@ -0,0 +1,22 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
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
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
73
keyboards/handwired/brain/info.json
Normal file
73
keyboards/handwired/brain/info.json
Normal file
@@ -0,0 +1,73 @@
|
||||
{
|
||||
"keyboard_name": "Brain",
|
||||
"url": "",
|
||||
"maintainer": "Klackygears",
|
||||
"width": 15,
|
||||
"height": 6.25,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":0.5},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0.5},
|
||||
{"x":5, "y":0.75},
|
||||
{"x":6, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":0.75},
|
||||
{"x":10, "y":0.5},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0.5},
|
||||
{"x":13, "y":1},
|
||||
|
||||
{"x":0, "y":2.25},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":1.5},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1.5},
|
||||
{"x":5, "y":1.75},
|
||||
{"x":6, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":1.75},
|
||||
{"x":10, "y":1.5},
|
||||
{"x":11, "y":1},
|
||||
{"x":12, "y":1.5},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":2.25},
|
||||
|
||||
{"x":0, "y":3.25},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":2.5},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2.5},
|
||||
{"x":5, "y":2.75},
|
||||
{"x":6, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":2.75},
|
||||
{"x":10, "y":2.5},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2.5},
|
||||
{"x":13, "y":3},
|
||||
{"x":14, "y":3.25},
|
||||
|
||||
{"x":1, "y":4},
|
||||
{"x":2, "y":3.5},
|
||||
{"x":3.5, "y":4.25},
|
||||
{"x":4.5, "y":4.25},
|
||||
{"x":5.5, "y":4.25},
|
||||
{"x":8.5, "y":4.25},
|
||||
{"x":9.5, "y":4.25},
|
||||
{"x":10.5, "y":4.25},
|
||||
{"x":12, "y":3.5},
|
||||
{"x":13, "y":4},
|
||||
|
||||
{"x":3.5, "y":5.25},
|
||||
{"x":4.5, "y":5.25},
|
||||
{"x":5.5, "y":5.25},
|
||||
{"x":8.5, "y":5.25},
|
||||
{"x":9.5, "y":5.25},
|
||||
{"x":10.5, "y":5.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
27
keyboards/handwired/cans12er/info.json
Normal file
27
keyboards/handwired/cans12er/info.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"keyboard_name": "Cans12er",
|
||||
"url": "",
|
||||
"maintainer": "canbaytok",
|
||||
"width": 4,
|
||||
"height": 3,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_3x4": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
32
keyboards/handwired/ck4x4/info.json
Normal file
32
keyboards/handwired/ck4x4/info.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"keyboard_name": "CK4x4",
|
||||
"url": "",
|
||||
"maintainer": "awkannan",
|
||||
"width": 4,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@@ -8,29 +8,29 @@
|
||||
"LAYOUT_64key": {
|
||||
"key_count": 64,
|
||||
"layout": [
|
||||
{"x":2, "y":0.5}, {"x":3, "y":0}, {"x":4, "y":0.3},
|
||||
{"x":8, "y":0.7}, {"x":9, "y":0.3}, {"x":10, "y":0},
|
||||
{"x":2.5, "y":0.4}, {"x":3.5, "y":0}, {"x":4.5, "y":0.3},
|
||||
{"x":8.5, "y":0.3}, {"x":9.5, "y":0}, {"x":10.5, "y":0.4},
|
||||
|
||||
{"x":2, "y":1.5}, {"x":3, "y":1}, {"x":4, "y":1.3}, {"x":5, "y":0.7},
|
||||
{"x":8, "y":0.7}, {"x":9, "y":1.3}, {"x":10, "y":1}, {"x":11, "y":1.5},
|
||||
{"x":2.5, "y":1.4}, {"x":3.5, "y":1}, {"x":4.5, "y":1.3}, {"x":5.5, "y":0.9},
|
||||
{"x":7.5, "y":0.9}, {"x":8.5, "y":1.3}, {"x":9.5, "y":1}, {"x":10.5, "y":1.4},
|
||||
|
||||
{"x":3, "y":2}, {"x":4, "y":2.3}, {"x":5, "y":1.7},
|
||||
{"x":8, "y":1.7}, {"x":9, "y":2.3}, {"x":10, "y":2},
|
||||
{"x":3.5, "y":2}, {"x":4.5, "y":2.3}, {"x":5.5, "y":1.9},
|
||||
{"x":7.5, "y":1.9}, {"x":8.5, "y":2.3}, {"x":9.5, "y":2},
|
||||
|
||||
{"x":2, "y":4}, {"x":3, "y":4}, {"x":4, "y":4}, {"x":5, "y":4},
|
||||
{"x":8, "y":4}, {"x":9, "y":4}, {"x":10, "y":4}, {"x":11, "y":4},
|
||||
{"x":2, "y":4}, {"x":3, "y":3.8}, {"x":4, "y":4}, {"x":5, "y":4.3},
|
||||
{"x":8, "y":4.3}, {"x":9, "y":4}, {"x":10, "y":3.8}, {"x":11, "y":4},
|
||||
|
||||
{"x":0, "y":5}, {"x":1, "y":5}, {"x":2, "y":5}, {"x":3, "y":5}, {"x":4, "y":5}, {"x":5, "y":5},
|
||||
{"x":8, "y":5}, {"x":9, "y":5}, {"x":10, "y":5}, {"x":11, "y":5}, {"x":12, "y":5}, {"x":13, "y":5},
|
||||
{"x":0, "y":5}, {"x":1, "y":5}, {"x":2, "y":5}, {"x":3, "y":4.8}, {"x":4, "y":5}, {"x":5, "y":5.3},
|
||||
{"x":8, "y":5.3}, {"x":9, "y":5}, {"x":10, "y":4.8}, {"x":11, "y":5}, {"x":12, "y":5}, {"x":13, "y":5},
|
||||
|
||||
{"x":0, "y":6}, {"x":1, "y":6}, {"x":2, "y":6}, {"x":3, "y":6}, {"x":4, "y":6}, {"x":5, "y":6},
|
||||
{"x":8, "y":6}, {"x":9, "y":6}, {"x":10, "y":6}, {"x":11, "y":6}, {"x":12, "y":6}, {"x":13, "y":6},
|
||||
{"x":0, "y":6}, {"x":1, "y":6}, {"x":2, "y":6}, {"x":3, "y":5.8}, {"x":4, "y":6}, {"x":5, "y":6.3},
|
||||
{"x":8, "y":6.3}, {"x":9, "y":6}, {"x":10, "y":5.8}, {"x":11, "y":6}, {"x":12, "y":6}, {"x":13, "y":6},
|
||||
|
||||
{"x":0, "y":7}, {"x":1, "y":7}, {"x":2, "y":7}, {"x":3, "y":7}, {"x":4, "y":7},
|
||||
{"x":9, "y":7}, {"x":10, "y":7}, {"x":11, "y":7}, {"x":12, "y":7}, {"x":13, "y":7},
|
||||
{"x":0, "y":7}, {"x":1, "y":7}, {"x":2, "y":7}, {"x":3, "y":6.8}, {"x":4, "y":7},
|
||||
{"x":9, "y":7}, {"x":10, "y":6.8}, {"x":11, "y":7}, {"x":12, "y":7}, {"x":13, "y":7},
|
||||
|
||||
{"x":3, "y":8},
|
||||
{"x":10, "y":8}
|
||||
{"x":3, "y":7.8},
|
||||
{"x":10, "y":7.8}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@@ -1,32 +1,48 @@
|
||||
# Concertina 64-key
|
||||
|
||||

|
||||
A diploid, concave, columnar keyboard, with vertical finger clusters
|
||||
beneath large horizontal thumb clusters.
|
||||
|
||||
A diploid, concave, columnar keyboard.
|
||||

|
||||
|
||||
This folder represents the keyboard configuration identified as
|
||||
`concertina_64key` in the DMOTE application’s list of GNU make targets, as of
|
||||
version 0.7.0 of that application. The QMK code is fully compatible back to
|
||||
version 0.6.0, which introduced the Concertina.
|
||||
## Hardware
|
||||
|
||||
The default keymap for this layout has a QWERTY base layer but is intended for
|
||||
running Colemak on the OS side. It has a separate key layer that forces Colemak
|
||||
from the QMK side in case the keyboard has to be used with a computer that does
|
||||
not run Colemak.
|
||||
* Keyboard maintainer: [Viktor Eikman](https://github.com/veikman)
|
||||
* Hardware supported: Concertina 64-key case, Pro Micro (ATmega32U4)
|
||||
* Hardware availability: [viktor.eikman.se](https://viktor.eikman.se/article/the-concertina/)
|
||||
|
||||
This QMK model represents the printable keyboard shape identified as
|
||||
`concertina_64key` in the DMOTE application’s list of GNU make
|
||||
targets, available [here](https://github.com/veikman/dactyl-keyboard),
|
||||
as of version 0.7.0 of that application. The QMK code is fully
|
||||
compatible back to version 0.6.0, which introduced the Concertina.
|
||||
|
||||
A full set of printable caps to match the keymap is available in the
|
||||
`dmote-keycap` application, [here](https://github.com/veikman/dmote-keycap).
|
||||
`dmote-keycap` application,
|
||||
[here](https://github.com/veikman/dmote-keycap).
|
||||
|
||||
* Keyboard Maintainer: [Viktor Eikman](https://github.com/veikman)
|
||||
* Hardware Supported: Concertina 64-key case, Pro Micro (ATmega32U4)
|
||||
* Hardware Availability: [viktor.eikman.se](https://viktor.eikman.se/article/the-concertina/)
|
||||
## Firmware
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
Brand new to QMK? Start [here](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
The default keymap for this layout has a QWERTY base layer (0) but is
|
||||
intended for running Colemak on the OS side. It has a separate key
|
||||
layer (1) that forces Colemak from the QMK side in case the keyboard
|
||||
has to be used with a computer that does not run Colemak. Layer 2
|
||||
flips the navigation clusters around. Layer 3 is numbers and mouse
|
||||
control.
|
||||
|
||||
### Building from the CLI
|
||||
|
||||
See the general [build
|
||||
environment](https://docs.qmk.fm/#/getting_started_build_tools) and
|
||||
[make instructions](https://docs.qmk.fm/#/getting_started_make_guide)
|
||||
to get set up.
|
||||
|
||||
To build firmware for the Concertina without the `qmk` utility:
|
||||
|
||||
make handwired/concertina/64key:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
To also flash a connected Concertina:
|
||||
|
||||
make handwired/concertina/64key:default:flash
|
||||
|
||||
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).
|
||||
|
67
keyboards/handwired/d48/info.json
Normal file
67
keyboards/handwired/d48/info.json
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
"keyboard_name": "D48",
|
||||
"url": "",
|
||||
"maintainer": "and3rson",
|
||||
"width": 12,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":8, "y":0},
|
||||
{"x":11, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3},
|
||||
|
||||
{"x":0, "y":4},
|
||||
{"x":1, "y":4},
|
||||
{"x":2, "y":4},
|
||||
{"x":3, "y":4},
|
||||
{"x":4, "y":4},
|
||||
{"x":5, "y":4},
|
||||
{"x":6, "y":4},
|
||||
{"x":7, "y":4},
|
||||
{"x":8, "y":4},
|
||||
{"x":9, "y":4},
|
||||
{"x":10, "y":4},
|
||||
{"x":11, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
90
keyboards/handwired/dactyl_manuform/dmote/62key/info.json
Normal file
90
keyboards/handwired/dactyl_manuform/dmote/62key/info.json
Normal file
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"keyboard_name": "DMOTE 62-key",
|
||||
"url": "",
|
||||
"maintainer": "veikman",
|
||||
"width": 15,
|
||||
"height": 7.5,
|
||||
"layouts": {
|
||||
"LAYOUT_62key": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
|
||||
{"x":3, "y":4},
|
||||
{"x":4.5, "y":4.5},
|
||||
{"x":5.5, "y":4.5},
|
||||
|
||||
{"x":4, "y":5.5},
|
||||
{"x":5, "y":5.5},
|
||||
{"x":6, "y":5.5},
|
||||
|
||||
{"x":4.5, "y":6.5},
|
||||
{"x":5.5, "y":6.5},
|
||||
|
||||
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
{"x":12, "y":1},
|
||||
{"x":13, "y":1},
|
||||
{"x":14, "y":1},
|
||||
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":2},
|
||||
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3},
|
||||
{"x":12, "y":3},
|
||||
{"x":13, "y":3},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":8.5, "y":4.5},
|
||||
{"x":9.5, "y":4.5},
|
||||
{"x":11, "y":4},
|
||||
|
||||
{"x":8, "y":5.5},
|
||||
{"x":9, "y":5.5},
|
||||
{"x":10, "y":5.5},
|
||||
|
||||
{"x":8.5, "y":6.5},
|
||||
{"x":9.5, "y":6.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
136
keyboards/handwired/daishi/info.json
Normal file
136
keyboards/handwired/daishi/info.json
Normal file
@@ -0,0 +1,136 @@
|
||||
{
|
||||
"keyboard_name": "Daishi",
|
||||
"url": "",
|
||||
"maintainer": "Croktopus",
|
||||
"width": 19.5,
|
||||
"height": 7.75,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1.25, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.25, "y":0},
|
||||
{"x":4.5, "y":0},
|
||||
{"x":5.5, "y":0},
|
||||
{"x":6.5, "y":0},
|
||||
{"x":7.75, "y":0},
|
||||
{"x":8.75, "y":0},
|
||||
{"x":9.75, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14.25, "y":0},
|
||||
{"x":15.25, "y":0},
|
||||
{"x":16.25, "y":0},
|
||||
{"x":17.25, "y":0},
|
||||
{"x":18.5, "y":0},
|
||||
|
||||
{"x":0, "y":1.25},
|
||||
{"x":1, "y":1.25},
|
||||
{"x":2, "y":1.25},
|
||||
{"x":3, "y":1.25},
|
||||
{"x":4.33, "y":1.25},
|
||||
{"x":5.33, "y":1.25},
|
||||
{"x":6.33, "y":1.25},
|
||||
{"x":7.33, "y":1.25},
|
||||
{"x":8.67, "y":1.25},
|
||||
{"x":9.67, "y":1.25},
|
||||
{"x":10.67, "y":1.25},
|
||||
{"x":11.67, "y":1.25},
|
||||
{"x":13, "y":1.25},
|
||||
{"x":14.25, "y":1.25},
|
||||
{"x":15.25, "y":1.25},
|
||||
{"x":16.25, "y":1.25},
|
||||
{"x":17.5, "y":1.25},
|
||||
{"x":18.5, "y":1.25},
|
||||
|
||||
{"x":0, "y":2.5},
|
||||
{"x":1, "y":2.5},
|
||||
{"x":2, "y":2.5},
|
||||
{"x":3, "y":2.5},
|
||||
{"x":4, "y":2.5},
|
||||
{"x":5, "y":2.5},
|
||||
{"x":6, "y":2.5},
|
||||
{"x":7, "y":2.5},
|
||||
{"x":8, "y":2.5},
|
||||
{"x":9, "y":2.5},
|
||||
{"x":10, "y":2.5},
|
||||
{"x":11, "y":2.5},
|
||||
{"x":12, "y":2.5},
|
||||
{"x":13, "y":2.5, "w":2},
|
||||
{"x":15.25, "y":2.25},
|
||||
{"x":16.5, "y":2.5},
|
||||
{"x":17.5, "y":2.5},
|
||||
{"x":18.5, "y":2.5},
|
||||
|
||||
{"x":0, "y":3.5, "w":1.5},
|
||||
{"x":1.5, "y":3.5},
|
||||
{"x":2.5, "y":3.5},
|
||||
{"x":3.5, "y":3.5},
|
||||
{"x":4.5, "y":3.5},
|
||||
{"x":5.5, "y":3.5},
|
||||
{"x":6.5, "y":3.5},
|
||||
{"x":7.5, "y":3.5},
|
||||
{"x":8.5, "y":3.5},
|
||||
{"x":9.5, "y":3.5},
|
||||
{"x":10.5, "y":3.5},
|
||||
{"x":11.5, "y":3.5},
|
||||
{"x":12.5, "y":3.5},
|
||||
{"x":13.5, "y":3.5, "w":1.5},
|
||||
{"x":15.5, "y":3.5},
|
||||
{"x":16.5, "y":3.5},
|
||||
{"x":17.5, "y":3.5},
|
||||
{"x":18.5, "y":3.5},
|
||||
|
||||
{"x":0, "y":4.5, "w":1.75},
|
||||
{"x":1.75, "y":4.5},
|
||||
{"x":2.75, "y":4.5},
|
||||
{"x":3.75, "y":4.5},
|
||||
{"x":4.75, "y":4.5},
|
||||
{"x":5.75, "y":4.5},
|
||||
{"x":6.75, "y":4.5},
|
||||
{"x":7.75, "y":4.5},
|
||||
{"x":8.75, "y":4.5},
|
||||
{"x":9.75, "y":4.5},
|
||||
{"x":10.75, "y":4.5},
|
||||
{"x":11.75, "y":4.5},
|
||||
{"x":12.75, "y":4.5, "w":2.25},
|
||||
{"x":15.5, "y":4.5},
|
||||
{"x":16.5, "y":4.5},
|
||||
{"x":17.5, "y":4.5},
|
||||
{"x":18.5, "y":4.5},
|
||||
|
||||
{"x":0, "y":5.5, "w":2.25},
|
||||
{"x":2.25, "y":5.5},
|
||||
{"x":3.25, "y":5.5},
|
||||
{"x":4.25, "y":5.5},
|
||||
{"x":5.25, "y":5.5},
|
||||
{"x":6.25, "y":5.5},
|
||||
{"x":7.25, "y":5.5},
|
||||
{"x":8.25, "y":5.5},
|
||||
{"x":9.25, "y":5.5},
|
||||
{"x":10.25, "y":5.5},
|
||||
{"x":11.25, "y":5.5},
|
||||
{"x":12.25, "y":5.5, "w":1.75},
|
||||
{"x":14.25, "y":5.75},
|
||||
{"x":15.5, "y":5.5},
|
||||
{"x":16.5, "y":5.5},
|
||||
{"x":17.5, "y":5.5},
|
||||
{"x":18.5, "y":5.5, "h":2},
|
||||
|
||||
{"x":0, "y":6.5, "w":1.25},
|
||||
{"x":1.25, "y":6.5, "w":1.25},
|
||||
{"x":2.5, "y":6.5, "w":1.25},
|
||||
{"x":3.75, "y":6.5, "w":6.25},
|
||||
{"x":10, "y":6.5, "w":1.5},
|
||||
{"x":11.5, "y":6.5, "w":1.5},
|
||||
{"x":13.25, "y":6.75},
|
||||
{"x":14.25, "y":6.75},
|
||||
{"x":15.25, "y":6.75},
|
||||
{"x":16.5, "y":6.5},
|
||||
{"x":17.5, "y":6.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
96
keyboards/handwired/datahand/info.json
Normal file
96
keyboards/handwired/datahand/info.json
Normal file
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"keyboard_name": "Handwired DataHand",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 23,
|
||||
"height": 7.75,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"lpn", "x":1, "y":2.75},
|
||||
|
||||
{"label":"lrn", "x":3.25, "y":1.25},
|
||||
|
||||
{"label":"lmn", "x":5.75, "y":0},
|
||||
|
||||
{"label":"lin", "x":9, "y":0.75},
|
||||
|
||||
{"label":"rin", "x":13, "y":0.75},
|
||||
|
||||
{"label":"rmn", "x":16.25, "y":0},
|
||||
|
||||
{"label":"rrn", "x":18.75, "y":1.25},
|
||||
|
||||
{"label":"rpn", "x":21, "y":2.75},
|
||||
|
||||
{"label":"lpw", "x":0, "y":3.75},
|
||||
{"label":"lpc", "x":1, "y":3.75},
|
||||
{"label":"lpe", "x":2, "y":3.75},
|
||||
|
||||
{"label":"lrw", "x":2.25, "y":2.25},
|
||||
{"label":"lrc", "x":3.25, "y":2.25},
|
||||
{"label":"lre", "x":4.25, "y":2.25},
|
||||
|
||||
{"label":"lmw", "x":4.75, "y":1},
|
||||
{"label":"lmc", "x":5.75, "y":1},
|
||||
{"label":"lme", "x":6.75, "y":1},
|
||||
|
||||
{"label":"liw", "x":8, "y":1.75},
|
||||
{"label":"lic", "x":9, "y":1.75},
|
||||
{"label":"lie", "x":10, "y":1.75},
|
||||
|
||||
{"label":"riw", "x":12, "y":1.75},
|
||||
{"label":"ric", "x":13, "y":1.75},
|
||||
{"label":"rie", "x":14, "y":1.75},
|
||||
|
||||
{"label":"rmw", "x":15.25, "y":1},
|
||||
{"label":"rmc", "x":16.25, "y":1},
|
||||
{"label":"rme", "x":17.25, "y":1},
|
||||
|
||||
{"label":"rrw", "x":17.75, "y":2.25},
|
||||
{"label":"rrc", "x":18.75, "y":2.25},
|
||||
{"label":"rre", "x":19.75, "y":2.25},
|
||||
|
||||
{"label":"rpw", "x":20, "y":3.75},
|
||||
{"label":"rpc", "x":21, "y":3.75},
|
||||
{"label":"rpe", "x":22, "y":3.75},
|
||||
|
||||
{"label":"lps", "x":1, "y":4.75},
|
||||
|
||||
{"label":"lrs", "x":3.25, "y":3.25},
|
||||
|
||||
{"label":"lms", "x":5.75, "y":2},
|
||||
|
||||
{"label":"lis", "x":9, "y":2.75},
|
||||
|
||||
{"label":"ris", "x":13, "y":2.75},
|
||||
|
||||
{"label":"rms", "x":16.25, "y":2},
|
||||
|
||||
{"label":"rrs", "x":18.75, "y":3.25},
|
||||
|
||||
{"label":"rps", "x":21, "y":4.75},
|
||||
|
||||
{"label":"ltp", "x":8, "y":4.75},
|
||||
{"label":"ltn", "x":10, "y":4.75},
|
||||
|
||||
{"label":"rtn", "x":12, "y":4.75},
|
||||
{"label":"rtp", "x":14, "y":4.75},
|
||||
|
||||
{"label":"ltc", "x":9, "y":5.25},
|
||||
|
||||
{"label":"rtc", "x":13, "y":5.25},
|
||||
|
||||
{"label":"ltl", "x":9, "y":6.25},
|
||||
|
||||
{"label":"rtl", "x":13, "y":6.25},
|
||||
|
||||
{"label":"ltu", "x":8, "y":6.75},
|
||||
{"label":"ltk", "x":10, "y":6.75},
|
||||
|
||||
{"label":"rtk", "x":12, "y":6.75},
|
||||
{"label":"rtu", "x":14, "y":6.75}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
54
keyboards/handwired/hexon38/info.json
Normal file
54
keyboards/handwired/hexon38/info.json
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"keyboard_name": "hexon38",
|
||||
"url": "",
|
||||
"maintainer": "cellularmitosis",
|
||||
"width": 18,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
{"x":15, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":12, "y":1},
|
||||
{"x":13, "y":1},
|
||||
{"x":14, "y":1},
|
||||
{"x":15, "y":1},
|
||||
{"x":16, "y":1},
|
||||
{"x":17, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":2},
|
||||
{"x":15, "y":2},
|
||||
{"x":16, "y":2},
|
||||
{"x":17, "y":2},
|
||||
|
||||
{"x":4.5, "y":3},
|
||||
{"x":5.5, "y":3},
|
||||
{"x":6.5, "y":3},
|
||||
{"x":7.5, "y":3},
|
||||
{"x":9.5, "y":3},
|
||||
{"x":10.5, "y":3},
|
||||
{"x":11.5, "y":3},
|
||||
{"x":12.5, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
77
keyboards/handwired/jot50/info.json
Normal file
77
keyboards/handwired/jot50/info.json
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"keyboard_name": "Jot50",
|
||||
"url": "",
|
||||
"maintainer": "jotix",
|
||||
"width": 12,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3},
|
||||
|
||||
{"x":0, "y":4},
|
||||
{"x":1, "y":4},
|
||||
{"x":2, "y":4},
|
||||
{"x":3, "y":4},
|
||||
{"x":4, "y":4},
|
||||
{"x":5, "y":4},
|
||||
{"x":6, "y":4},
|
||||
{"x":7, "y":4},
|
||||
{"x":8, "y":4},
|
||||
{"x":9, "y":4},
|
||||
{"x":10, "y":4},
|
||||
{"x":11, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
64
keyboards/handwired/jotanck/info.json
Normal file
64
keyboards/handwired/jotanck/info.json
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"keyboard_name": "Jotanck",
|
||||
"url": "",
|
||||
"maintainer": "jotix",
|
||||
"width": 12,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x12": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":10, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":10, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":7, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":10, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":7, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":10, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
32
keyboards/handwired/jotpad16/info.json
Normal file
32
keyboards/handwired/jotpad16/info.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"keyboard_name": "JotPad16",
|
||||
"url": "",
|
||||
"maintainer": "jotix",
|
||||
"width": 4,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x4": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
66
keyboards/handwired/k8split/info.json
Normal file
66
keyboards/handwired/k8split/info.json
Normal file
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"keyboard_name": "k8split",
|
||||
"url": "",
|
||||
"maintainer": "Ckath",
|
||||
"width": 10,
|
||||
"height": 6,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":7, "y":1},
|
||||
|
||||
{"x":0, "y":2, "w":1.5},
|
||||
{"x":1.5, "y":2},
|
||||
{"x":2.5, "y":2},
|
||||
{"x":3.5, "y":2},
|
||||
{"x":4.5, "y":2},
|
||||
{"x":5.5, "y":2},
|
||||
{"x":6.5, "y":2},
|
||||
{"x":7.5, "y":2},
|
||||
|
||||
{"x":0, "y":3, "w":1.75},
|
||||
{"x":1.75, "y":3},
|
||||
{"x":2.75, "y":3},
|
||||
{"x":3.75, "y":3},
|
||||
{"x":4.75, "y":3},
|
||||
{"x":5.75, "y":3},
|
||||
{"x":6.75, "y":3},
|
||||
{"x":7.75, "y":3},
|
||||
|
||||
{"x":0, "y":4, "w":2.25},
|
||||
{"x":2.25, "y":4},
|
||||
{"x":3.25, "y":4},
|
||||
{"x":4.25, "y":4},
|
||||
{"x":5.25, "y":4},
|
||||
{"x":6.25, "y":4},
|
||||
{"x":7.25, "y":4},
|
||||
{"x":8.25, "y":4},
|
||||
|
||||
{"x":0, "y":5, "w":1.5},
|
||||
{"x":1.5, "y":5},
|
||||
{"x":2.5, "y":5},
|
||||
{"x":3.5, "y":5, "w":1.25},
|
||||
{"x":4.75, "y":5, "w":2.25},
|
||||
{"x":7, "y":5},
|
||||
{"x":8, "y":5},
|
||||
{"x":9, "y":5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
88
keyboards/handwired/myskeeb/info.json
Normal file
88
keyboards/handwired/myskeeb/info.json
Normal file
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"keyboard_name": "myskeeb",
|
||||
"url": "",
|
||||
"maintainer": "su8044",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1},
|
||||
{"x":5, "y":1},
|
||||
{"x":6, "y":1},
|
||||
{"x":8, "y":1},
|
||||
{"x":9, "y":1},
|
||||
{"x":10, "y":1},
|
||||
{"x":11, "y":1},
|
||||
{"x":12, "y":1},
|
||||
{"x":13, "y":1},
|
||||
{"x":14, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2},
|
||||
{"x":5, "y":2},
|
||||
{"x":6, "y":2},
|
||||
{"x":8, "y":2},
|
||||
{"x":9, "y":2},
|
||||
{"x":10, "y":2},
|
||||
{"x":11, "y":2},
|
||||
{"x":12, "y":2},
|
||||
{"x":13, "y":2},
|
||||
{"x":14, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3},
|
||||
{"x":5, "y":3},
|
||||
{"x":6, "y":3},
|
||||
{"x":8, "y":3},
|
||||
{"x":9, "y":3},
|
||||
{"x":10, "y":3},
|
||||
{"x":11, "y":3},
|
||||
{"x":12, "y":3},
|
||||
{"x":13, "y":3},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4},
|
||||
{"x":1, "y":4},
|
||||
{"x":2, "y":4},
|
||||
{"x":3, "y":4},
|
||||
{"x":4, "y":4},
|
||||
{"x":5, "y":4},
|
||||
{"x":6, "y":4},
|
||||
{"x":8, "y":4},
|
||||
{"x":9, "y":4},
|
||||
{"x":10, "y":4},
|
||||
{"x":11, "y":4},
|
||||
{"x":12, "y":4},
|
||||
{"x":13, "y":4},
|
||||
{"x":14, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
14
keyboards/handwired/nicekey/info.json
Normal file
14
keyboards/handwired/nicekey/info.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"keyboard_name": "nicekey handwired",
|
||||
"url": "",
|
||||
"maintainer": "spydon",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
14
keyboards/handwired/onekey/info.json
Normal file
14
keyboards/handwired/onekey/info.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"keyboard_name": "onekey handwired",
|
||||
"url": "",
|
||||
"maintainer": "qmk",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_1x1": {
|
||||
"layout": [
|
||||
{"x":0, "y":0}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
16
keyboards/handwired/postageboard/info.json
Normal file
16
keyboards/handwired/postageboard/info.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"keyboard_name": "Postage Board",
|
||||
"url": "",
|
||||
"maintainer": "LifeIsOnTheWire",
|
||||
"width": 1,
|
||||
"height": 1,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
77
keyboards/handwired/riblee_f401/info.json
Normal file
77
keyboards/handwired/riblee_f401/info.json
Normal file
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"keyboard_name": "Handwired Preonic (Blackpill F401)",
|
||||
"url": "",
|
||||
"maintainer": "riblee",
|
||||
"width": 12,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
{"x": 0,"y": 0},
|
||||
{"x": 1,"y": 0},
|
||||
{"x": 2,"y": 0},
|
||||
{"x": 3,"y": 0},
|
||||
{"x": 4,"y": 0},
|
||||
{"x": 5,"y": 0},
|
||||
{"x": 6,"y": 0},
|
||||
{"x": 7,"y": 0},
|
||||
{"x": 8,"y": 0},
|
||||
{"x": 9,"y": 0},
|
||||
{"x": 10,"y": 0},
|
||||
{"x": 11,"y": 0},
|
||||
|
||||
{"x": 0,"y": 1},
|
||||
{"x": 1,"y": 1},
|
||||
{"x": 2,"y": 1},
|
||||
{"x": 3,"y": 1},
|
||||
{"x": 4,"y": 1},
|
||||
{"x": 5,"y": 1},
|
||||
{"x": 6,"y": 1},
|
||||
{"x": 7,"y": 1},
|
||||
{"x": 8,"y": 1},
|
||||
{"x": 9,"y": 1},
|
||||
{"x": 10,"y": 1},
|
||||
{"x": 11,"y": 1},
|
||||
|
||||
{"x": 0,"y": 2},
|
||||
{"x": 1,"y": 2},
|
||||
{"x": 2,"y": 2},
|
||||
{"x": 3,"y": 2},
|
||||
{"x": 4,"y": 2},
|
||||
{"x": 5,"y": 2},
|
||||
{"x": 6,"y": 2},
|
||||
{"x": 7,"y": 2},
|
||||
{"x": 8,"y": 2},
|
||||
{"x": 9,"y": 2},
|
||||
{"x": 10,"y": 2},
|
||||
{"x": 11,"y": 2},
|
||||
|
||||
{"x": 0,"y": 3},
|
||||
{"x": 1,"y": 3},
|
||||
{"x": 2,"y": 3},
|
||||
{"x": 3,"y": 3},
|
||||
{"x": 4,"y": 3},
|
||||
{"x": 5,"y": 3},
|
||||
{"x": 6,"y": 3},
|
||||
{"x": 7,"y": 3},
|
||||
{"x": 8,"y": 3},
|
||||
{"x": 9,"y": 3},
|
||||
{"x": 10,"y": 3},
|
||||
{"x": 11,"y": 3},
|
||||
|
||||
{"x": 0,"y": 4},
|
||||
{"x": 1,"y": 4},
|
||||
{"x": 2,"y": 4},
|
||||
{"x": 3,"y": 4},
|
||||
{"x": 4,"y": 4},
|
||||
{"x": 5,"y": 4},
|
||||
{"x": 6,"y": 4},
|
||||
{"x": 7,"y": 4},
|
||||
{"x": 8,"y": 4},
|
||||
{"x": 9,"y": 4},
|
||||
{"x": 10,"y": 4},
|
||||
{"x": 11,"y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user