forked from mirrors/qmk_firmware
Merge branch 'develop' into playground
This commit is contained in:
@@ -406,11 +406,11 @@ And you're done. The RGB layer indication will only work if you want it to. And
|
||||
|
||||
The `val` is the value of the data that you want to write to EEPROM. And the `eeconfig_read_*` function return a 32 bit (DWORD) value from the EEPROM.
|
||||
|
||||
### Deferred Execution :id=deferred-execution
|
||||
# Deferred Execution :id=deferred-execution
|
||||
|
||||
QMK has the ability to execute a callback after a specified period of time, rather than having to manually manage timers. To enable this functionality, set `DEFERRED_EXEC_ENABLE = yes` in rules.mk.
|
||||
|
||||
#### Deferred executor callbacks
|
||||
## Deferred executor callbacks
|
||||
|
||||
All _deferred executor callbacks_ have a common function signature and look like:
|
||||
|
||||
@@ -430,7 +430,7 @@ The return value is the number of milliseconds to use if the function should be
|
||||
|
||||
?> Note that the returned delay will be applied to the intended trigger time, not the time of callback invocation. This allows for generally consistent timing even in the face of occasional late execution.
|
||||
|
||||
#### Deferred executor registration
|
||||
## Deferred executor registration
|
||||
|
||||
Once a callback has been defined, it can be scheduled using the following API:
|
||||
|
||||
@@ -444,7 +444,7 @@ The third parameter is the `cb_arg` that gets passed to the callback at the poin
|
||||
|
||||
The return value is a `deferred_token` that can consequently be used to cancel the deferred executor callback before it's invoked. If a failure occurs, the returned value will be `INVALID_DEFERRED_TOKEN`. Usually this will be as a result of supplying `0` to the delay, or a `NULL` for the callback. The other failure case is if there are too many deferred executions "in flight" -- this can be increased by changing the limit, described below.
|
||||
|
||||
#### Extending a deferred execution
|
||||
## Extending a deferred execution
|
||||
|
||||
The `deferred_token` returned by `defer_exec()` can be used to extend a the duration a pending execution waits before it gets invoked:
|
||||
```c
|
||||
@@ -452,7 +452,7 @@ The `deferred_token` returned by `defer_exec()` can be used to extend a the dura
|
||||
extend_deferred_exec(my_token, 800);
|
||||
```
|
||||
|
||||
#### Cancelling a deferred execution
|
||||
## Cancelling a deferred execution
|
||||
|
||||
The `deferred_token` returned by `defer_exec()` can be used to cancel a pending execution before it gets invoked:
|
||||
```c
|
||||
@@ -462,7 +462,7 @@ cancel_deferred_exec(my_token);
|
||||
|
||||
Once a token has been canceled, it should be considered invalid. Reusing the same token is not supported.
|
||||
|
||||
#### Deferred callback limits
|
||||
## Deferred callback limits
|
||||
|
||||
There are a maximum number of deferred callbacks that can be scheduled, controlled by the value of the define `MAX_DEFERRED_EXECUTORS`.
|
||||
|
||||
|
||||
@@ -326,7 +326,7 @@ bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key
|
||||
|
||||
If you, for example, use multiple base layers for different key layouts, one for QWERTY, and another one for Colemak, you might want your combos to work from the same key positions on all layers. Defining the same combos again for another layout is redundant and takes more memory. The solution is to just check the keycodes from one layer.
|
||||
|
||||
With `#define COMBO_ONLY_FROM_LAYER _LAYER_A` the combos' keys are always checked from layer `_LAYER_A` even though the active layer would be `_LAYER_B`.
|
||||
With `#define COMBO_ONLY_FROM_LAYER 0` in config.h, the combos' keys are always checked from layer `0`, even if other layers are active.
|
||||
|
||||
## User callbacks
|
||||
|
||||
|
||||
@@ -46,9 +46,12 @@ Closed PRs (for inspiration, previous sets of review comments will help you elim
|
||||
https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
|
||||
|
||||
- `info.json`
|
||||
- valid URL
|
||||
- valid maintainer
|
||||
- displays correctly in Configurator (press Ctrl+Shift+I to preview local file, turn on fast input to verify ordering)
|
||||
- With the move to [data driven](https://docs.qmk.fm/#/data_driven_config) keyboard configuration, we encourage contributors to utilise as many features as possible of the info.json [schema](https://github.com/qmk/qmk_firmware/blob/master/data/schemas/keyboard.jsonschema).
|
||||
- the mandatory elements for a minimally complete `info.json` at present are:
|
||||
- valid URL
|
||||
- valid maintainer
|
||||
- valid USB VID/PID and device version
|
||||
- displays correctly in Configurator (press Ctrl+Shift+I to preview local file, turn on fast input to verify ordering)
|
||||
- `readme.md`
|
||||
- standard template should be present -- [link to template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
|
||||
- flash command is present, and has `:flash` at end
|
||||
|
||||
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_ortho_4x12(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, _______, _______,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, RCMD(RALT(KC_O)), RCMD(RALT(KC_L)), _______,
|
||||
_______, KC_LT, KC_GT, KC_LPRN, KC_RPRN, KC_GRV, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_PIPE,
|
||||
KC_LALT, _______, _______, _______, KC_EQL, KC_QUES, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______,
|
||||
_______, _______, _______, _______, _______, KC_TRNS, KC_TRNS, KC_RGUI, _______, _______, _______, _______
|
||||
|
||||
@@ -39,6 +39,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define WS2812_PWM_COMPLEMENTARY_OUTPUT
|
||||
#define WS2812_DMA_STREAM STM32_DMA1_STREAM5
|
||||
#define WS2812_DMA_CHANNEL 5
|
||||
#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB
|
||||
|
||||
#define RGB_DI_PIN B15
|
||||
#define RGBLED_NUM 36
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define ADJUST MO(_ADJUST)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_BASE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, LGUI(KC_LCTL),
|
||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G,
|
||||
KC_SPC, KC_Z, KC_X, KC_C, KC_V, KC_B, LGUI(KC_LALT),
|
||||
_______, _______, _______, _______, LOWER,
|
||||
KC_LGUI, _______,
|
||||
_______,
|
||||
KC_ENT, RGUI(KC_RCTL), _______,
|
||||
// right hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
RGUI(KC_RCTL), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
KC_H, KC_J, KC_K, KC_L, KC_RSFT, KC_RGUI,
|
||||
RGUI(KC_RALT), KC_N, KC_M, KC_RCTL, KC_DOT, KC_RALT, RGUI(KC_RSFT),
|
||||
RAISE, _______, _______, _______, _______,
|
||||
_______, KC_RGUI,
|
||||
_______,
|
||||
_______, KC_BSPC, KC_ENT
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______,
|
||||
_______, KC_LT, KC_GT, KC_LPRN, KC_RPRN, KC_GRV,
|
||||
KC_LALT, _______, _______, _______, KC_EQL, KC_QUES, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, _______,
|
||||
_______,
|
||||
KC_NO, KC_NO, _______,
|
||||
// right hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, KC_CIRC, KC_AMPR, KC_ASTR, _______, _______, _______,
|
||||
KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_PIPE,
|
||||
KC_NO, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______,
|
||||
KC_RGUI, _______, _______, _______, _______,
|
||||
_______, KC_NO,
|
||||
_______,
|
||||
_______, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, _______,
|
||||
KC_NO, KC_COLN, KC_SCLN, KC_DQT, KC_QUOT, KC_BSLS,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, KC_LGUI,
|
||||
_______, _______,
|
||||
_______,
|
||||
KC_NO, KC_NO, _______,
|
||||
// right hand
|
||||
_______, _______, _______, _______, _______, _______, KC_NO,
|
||||
KC_NO, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
|
||||
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_NO,
|
||||
_______, ADJUST, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, KC_NO,
|
||||
_______,
|
||||
_______, KC_NO, KC_NO
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_ergodox(
|
||||
// left hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, RESET, _______,
|
||||
_______, _______, _______, _______, KC_LGUI,
|
||||
_______, _______,
|
||||
_______,
|
||||
KC_NO, KC_NO, _______,
|
||||
// right hand
|
||||
_______, _______, _______, _______, _______, _______, _______,
|
||||
KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______,
|
||||
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
|
||||
_______, _______, _______, _______, _______, KC_LANG1, KC_LANG2,
|
||||
_______, _______, _______, _______, _______,
|
||||
_______, KC_NO,
|
||||
_______,
|
||||
_______, KC_NO, KC_NO
|
||||
)
|
||||
};
|
||||
@@ -44,7 +44,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define WS2812_PWM_CHANNEL 2
|
||||
#define WS2812_PWM_PAL_MODE 2
|
||||
#define WS2812_DMA_STREAM STM32_DMA1_STREAM5
|
||||
#define WS2812_DMA_CHANNEL 5
|
||||
#define WS2812_DMA_CHANNEL 5
|
||||
#define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_RGB
|
||||
|
||||
#define RGB_DI_PIN A9
|
||||
#define RGBLED_NUM 37
|
||||
|
||||
32
keyboards/mokey/ibis80/config.h
Normal file
32
keyboards/mokey/ibis80/config.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
Copyright 2021 Kyle McCreery
|
||||
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"
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
#define MATRIX_COLS 17
|
||||
|
||||
#define MATRIX_ROW_PINS { B0, B1, B2, E6, F0, F1 }
|
||||
#define MATRIX_COL_PINS { D0, D1, D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, F7, F6, F5, F4 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
16
keyboards/mokey/ibis80/ibis80.c
Normal file
16
keyboards/mokey/ibis80/ibis80.c
Normal file
@@ -0,0 +1,16 @@
|
||||
/* Copyright 2021 Ocean
|
||||
* 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 "ibis80.h"
|
||||
76
keyboards/mokey/ibis80/ibis80.h
Normal file
76
keyboards/mokey/ibis80/ibis80.h
Normal file
@@ -0,0 +1,76 @@
|
||||
/* Copyright 2021 Ocean
|
||||
*
|
||||
* 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 XXX KC_NO
|
||||
|
||||
/*
|
||||
* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐
|
||||
* │00 ││01 │02 │03 │04 ││05 │06 │07 │08 ││09 │0A │0B │0C ││0D │ │0E │0F │0G │
|
||||
* └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘
|
||||
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐
|
||||
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │1E │1F │1G │
|
||||
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ┌─────┐
|
||||
* │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2C │2D │ │2E │2F │2G │ │3D │
|
||||
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐ │ ISO Enter
|
||||
* │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3D │ │2D │ │
|
||||
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ └───┴────┘
|
||||
* │40 │41 │42 │43 │44 │45 │46 │47 │48 │49 │4A │4D │ │4F │
|
||||
* ├─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─────┤ ┌───┼───┼───┐
|
||||
* │50 │51 │52 │56 │5A │5B │5D │ │5E │5F │5G │
|
||||
* └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘ └───┴───┴───┘
|
||||
* ┌─────┐ ┌─────┬───────────────────────────┬─────┐ ┌─────┐
|
||||
* │50 │ │52 │56 │5A │ │5D │
|
||||
* └─────┘ └─────┴───────────────────────────┴─────┘ └─────┘
|
||||
*/
|
||||
|
||||
#define LAYOUT(\
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4d, k4f, \
|
||||
k50, k51, k52, k56, k5a, k5b, k5d, k5e, k5f, k5g \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, k2e, k2f, k2g }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO, KC_NO, KC_NO }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, KC_NO, KC_NO, k4d, KC_NO, k4f, KC_NO }, \
|
||||
{ k50, k51, k52, KC_NO, KC_NO, KC_NO, k56, KC_NO, KC_NO, KC_NO, k5a, k5b, KC_NO, k5d, k5e, k5f, k5g } \
|
||||
}
|
||||
|
||||
#define LAYOUT_all(\
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k3d, k2e, k2f, k2g, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k2d, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4d, k4f, \
|
||||
k50, k52, k56, k5a, k5d, k5e, k5f, k5g \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, k0f, k0g }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, k1e, k1f, k1g }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k3d, k2e, k2f, k2g }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k2d, KC_NO, KC_NO, KC_NO }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, KC_NO, KC_NO, k4d, KC_NO, k4f, KC_NO }, \
|
||||
{ k50, KC_NO, k52, KC_NO, KC_NO, KC_NO, k56, KC_NO, KC_NO, KC_NO, k5a, KC_NO, KC_NO, k5d, k5e, k5f, k5g } \
|
||||
}
|
||||
|
||||
213
keyboards/mokey/ibis80/info.json
Normal file
213
keyboards/mokey/ibis80/info.json
Normal file
@@ -0,0 +1,213 @@
|
||||
{
|
||||
"keyboard_name": "ibis 80",
|
||||
"manufacturer": "Mokey",
|
||||
"url": "",
|
||||
"maintainer": "Mokey",
|
||||
"usb": {
|
||||
"vid": "0x6653",
|
||||
"pid": "0x3380",
|
||||
"device_version": "0.0.1"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label": "k00", "x": 0, "y": 0},
|
||||
{"label": "k01", "x": 1.25, "y": 0},
|
||||
{"label": "k02", "x": 2.25, "y": 0},
|
||||
{"label": "k03", "x": 3.25, "y": 0},
|
||||
{"label": "k04", "x": 4.25, "y": 0},
|
||||
{"label": "k05", "x": 5.5, "y": 0},
|
||||
{"label": "k06", "x": 6.5, "y": 0},
|
||||
{"label": "k07", "x": 7.5, "y": 0},
|
||||
{"label": "k08", "x": 8.5, "y": 0},
|
||||
{"label": "k09", "x": 9.75, "y": 0},
|
||||
{"label": "k0A", "x": 10.75, "y": 0},
|
||||
{"label": "k0B", "x": 11.75, "y": 0},
|
||||
{"label": "k0C", "x": 12.75, "y": 0},
|
||||
{"label": "k0D", "x": 14, "y": 0},
|
||||
|
||||
{"label": "k0E", "x": 15.25, "y": 0},
|
||||
{"label": "k0F", "x": 16.25, "y": 0},
|
||||
{"label": "k0G", "x": 17.25, "y": 0},
|
||||
|
||||
{"label": "k10", "x": 0, "y": 1.5},
|
||||
{"label": "k11", "x": 1, "y": 1.5},
|
||||
{"label": "k12", "x": 2, "y": 1.5},
|
||||
{"label": "k13", "x": 3, "y": 1.5},
|
||||
{"label": "k14", "x": 4, "y": 1.5},
|
||||
{"label": "k15", "x": 5, "y": 1.5},
|
||||
{"label": "k16", "x": 6, "y": 1.5},
|
||||
{"label": "k17", "x": 7, "y": 1.5},
|
||||
{"label": "k18", "x": 8, "y": 1.5},
|
||||
{"label": "k19", "x": 9, "y": 1.5},
|
||||
{"label": "k1A", "x": 10, "y": 1.5},
|
||||
{"label": "k1B", "x": 11, "y": 1.5},
|
||||
{"label": "k1C", "x": 12, "y": 1.5},
|
||||
{"label": "k1D", "x": 13, "y": 1.5, "w": 2},
|
||||
|
||||
{"label": "k1E", "x": 15.25, "y": 1.5},
|
||||
{"label": "k1F", "x": 16.25, "y": 1.5},
|
||||
{"label": "k1G", "x": 17.25, "y": 1.5},
|
||||
|
||||
{"label": "k20", "x": 0, "y": 2.5, "w": 1.5},
|
||||
{"label": "k21", "x": 1.5, "y": 2.5},
|
||||
{"label": "k22", "x": 2.5, "y": 2.5},
|
||||
{"label": "k23", "x": 3.5, "y": 2.5},
|
||||
{"label": "k24", "x": 4.5, "y": 2.5},
|
||||
{"label": "k25", "x": 5.5, "y": 2.5},
|
||||
{"label": "k26", "x": 6.5, "y": 2.5},
|
||||
{"label": "k27", "x": 7.5, "y": 2.5},
|
||||
{"label": "k28", "x": 8.5, "y": 2.5},
|
||||
{"label": "k29", "x": 9.5, "y": 2.5},
|
||||
{"label": "k2A", "x": 10.5, "y": 2.5},
|
||||
{"label": "k2B", "x": 11.5, "y": 2.5},
|
||||
{"label": "k2C", "x": 12.5, "y": 2.5},
|
||||
{"label": "k2D", "x": 13.5, "y": 2.5},
|
||||
|
||||
{"label": "k2E", "x": 15.25, "y": 2.5},
|
||||
{"label": "k2F", "x": 16.25, "y": 2.5},
|
||||
{"label": "k2G", "x": 17.25, "y": 2.5},
|
||||
|
||||
{"label": "k30", "x": 0, "y": 3.5, "w": 1.75},
|
||||
{"label": "k31", "x": 1.75, "y": 3.5},
|
||||
{"label": "k32", "x": 2.75, "y": 3.5},
|
||||
{"label": "k33", "x": 3.75, "y": 3.5},
|
||||
{"label": "k34", "x": 4.75, "y": 3.5},
|
||||
{"label": "k35", "x": 5.75, "y": 3.5},
|
||||
{"label": "k36", "x": 6.75, "y": 3.5},
|
||||
{"label": "k37", "x": 7.75, "y": 3.5},
|
||||
{"label": "k38", "x": 8.75, "y": 3.5},
|
||||
{"label": "k39", "x": 9.75, "y": 3.5},
|
||||
{"label": "k3A", "x": 10.75, "y": 3.5},
|
||||
{"label": "k3B", "x": 11.75, "y": 3.5},
|
||||
{"label": "k3D", "x": 12.75, "y": 3.5, "w": 2.25},
|
||||
|
||||
{"label": "k40", "x": 0, "y": 4.5, "w": 2.25},
|
||||
{"label": "k41", "x": 2.25, "y": 4.5},
|
||||
{"label": "k42", "x": 3.25, "y": 4.5},
|
||||
{"label": "k43", "x": 4.25, "y": 4.5},
|
||||
{"label": "k44", "x": 5.25, "y": 4.5},
|
||||
{"label": "k45", "x": 6.25, "y": 4.5},
|
||||
{"label": "k46", "x": 7.25, "y": 4.5},
|
||||
{"label": "k47", "x": 8.25, "y": 4.5},
|
||||
{"label": "k48", "x": 9.25, "y": 4.5},
|
||||
{"label": "k49", "x": 10.25, "y": 4.5},
|
||||
{"label": "k4A", "x": 11.25, "y": 4.5},
|
||||
{"label": "k4D", "x": 12.25, "y": 4.5, "w": 2.75},
|
||||
|
||||
{"label": "k4F", "x": 16.25, "y": 4.5},
|
||||
|
||||
{"label": "k50", "x": 0, "y": 5.5, "w": 1.5},
|
||||
{"label": "k51", "x": 1.5, "y": 5.5},
|
||||
{"label": "k52", "x": 2.5, "y": 5.5, "w": 1.5},
|
||||
{"label": "k56", "x": 4, "y": 5.5, "w": 7},
|
||||
{"label": "k5A", "x": 11, "y": 5.5, "w": 1.5},
|
||||
{"label": "k5B", "x": 12.5, "y": 5.5},
|
||||
{"label": "k5D", "x": 13.5, "y": 5.5, "w": 1.5},
|
||||
|
||||
{"label": "k5E", "x": 15.25, "y": 5.5},
|
||||
{"label": "k5F", "x": 16.25, "y": 5.5},
|
||||
{"label": "k5G", "x": 17.25, "y": 5.5}
|
||||
]
|
||||
},
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{"label": "k00", "x": 0, "y": 0},
|
||||
{"label": "k01", "x": 1.25, "y": 0},
|
||||
{"label": "k02", "x": 2.25, "y": 0},
|
||||
{"label": "k03", "x": 3.25, "y": 0},
|
||||
{"label": "k04", "x": 4.25, "y": 0},
|
||||
{"label": "k05", "x": 5.5, "y": 0},
|
||||
{"label": "k06", "x": 6.5, "y": 0},
|
||||
{"label": "k07", "x": 7.5, "y": 0},
|
||||
{"label": "k08", "x": 8.5, "y": 0},
|
||||
{"label": "k09", "x": 9.75, "y": 0},
|
||||
{"label": "k0A", "x": 10.75, "y": 0},
|
||||
{"label": "k0B", "x": 11.75, "y": 0},
|
||||
{"label": "k0C", "x": 12.75, "y": 0},
|
||||
{"label": "k0D", "x": 14, "y": 0},
|
||||
|
||||
{"label": "k0E", "x": 15.25, "y": 0},
|
||||
{"label": "k0F", "x": 16.25, "y": 0},
|
||||
{"label": "k0G", "x": 17.25, "y": 0},
|
||||
|
||||
{"label": "k10", "x": 0, "y": 1.5},
|
||||
{"label": "k11", "x": 1, "y": 1.5},
|
||||
{"label": "k12", "x": 2, "y": 1.5},
|
||||
{"label": "k13", "x": 3, "y": 1.5},
|
||||
{"label": "k14", "x": 4, "y": 1.5},
|
||||
{"label": "k15", "x": 5, "y": 1.5},
|
||||
{"label": "k16", "x": 6, "y": 1.5},
|
||||
{"label": "k17", "x": 7, "y": 1.5},
|
||||
{"label": "k18", "x": 8, "y": 1.5},
|
||||
{"label": "k19", "x": 9, "y": 1.5},
|
||||
{"label": "k1A", "x": 10, "y": 1.5},
|
||||
{"label": "k1B", "x": 11, "y": 1.5},
|
||||
{"label": "k1C", "x": 12, "y": 1.5},
|
||||
{"label": "k1D", "x": 13, "y": 1.5, "w": 2},
|
||||
|
||||
{"label": "k1E", "x": 15.25, "y": 1.5},
|
||||
{"label": "k1F", "x": 16.25, "y": 1.5},
|
||||
{"label": "k1G", "x": 17.25, "y": 1.5},
|
||||
|
||||
{"label": "k20", "x": 0, "y": 2.5, "w": 1.5},
|
||||
{"label": "k21", "x": 1.5, "y": 2.5},
|
||||
{"label": "k22", "x": 2.5, "y": 2.5},
|
||||
{"label": "k23", "x": 3.5, "y": 2.5},
|
||||
{"label": "k24", "x": 4.5, "y": 2.5},
|
||||
{"label": "k25", "x": 5.5, "y": 2.5},
|
||||
{"label": "k26", "x": 6.5, "y": 2.5},
|
||||
{"label": "k27", "x": 7.5, "y": 2.5},
|
||||
{"label": "k28", "x": 8.5, "y": 2.5},
|
||||
{"label": "k29", "x": 9.5, "y": 2.5},
|
||||
{"label": "k2A", "x": 10.5, "y": 2.5},
|
||||
{"label": "k2B", "x": 11.5, "y": 2.5},
|
||||
{"label": "k2C", "x": 12.5, "y": 2.5},
|
||||
{"label": "k3D", "x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
|
||||
|
||||
{"label": "k2E", "x": 15.25, "y": 2.5},
|
||||
{"label": "k2F", "x": 16.25, "y": 2.5},
|
||||
{"label": "k2G", "x": 17.25, "y": 2.5},
|
||||
|
||||
{"label": "k30", "x": 0, "y": 3.5, "w": 1.75},
|
||||
{"label": "k31", "x": 1.75, "y": 3.5},
|
||||
{"label": "k32", "x": 2.75, "y": 3.5},
|
||||
{"label": "k33", "x": 3.75, "y": 3.5},
|
||||
{"label": "k34", "x": 4.75, "y": 3.5},
|
||||
{"label": "k35", "x": 5.75, "y": 3.5},
|
||||
{"label": "k36", "x": 6.75, "y": 3.5},
|
||||
{"label": "k37", "x": 7.75, "y": 3.5},
|
||||
{"label": "k38", "x": 8.75, "y": 3.5},
|
||||
{"label": "k39", "x": 9.75, "y": 3.5},
|
||||
{"label": "k3A", "x": 10.75, "y": 3.5},
|
||||
{"label": "k3B", "x": 11.75, "y": 3.5},
|
||||
{"label": "k2C", "x": 12.75, "y": 3.5},
|
||||
|
||||
{"label": "k40", "x": 0, "y": 4.5, "w": 2.25},
|
||||
{"label": "k41", "x": 2.25, "y": 4.5},
|
||||
{"label": "k42", "x": 3.25, "y": 4.5},
|
||||
{"label": "k43", "x": 4.25, "y": 4.5},
|
||||
{"label": "k44", "x": 5.25, "y": 4.5},
|
||||
{"label": "k45", "x": 6.25, "y": 4.5},
|
||||
{"label": "k46", "x": 7.25, "y": 4.5},
|
||||
{"label": "k47", "x": 8.25, "y": 4.5},
|
||||
{"label": "k48", "x": 9.25, "y": 4.5},
|
||||
{"label": "k49", "x": 10.25, "y": 4.5},
|
||||
{"label": "k4A", "x": 11.25, "y": 4.5},
|
||||
{"label": "k4D", "x": 12.25, "y": 4.5, "w": 2.75},
|
||||
|
||||
{"label": "k4F", "x": 16.25, "y": 4.5},
|
||||
|
||||
{"label": "k50", "x": 0, "y": 5.5, "w": 1.5},
|
||||
{"label": "k52", "x": 2.5, "y": 5.5, "w": 1.5},
|
||||
{"label": "k56", "x": 4, "y": 5.5, "w": 7},
|
||||
{"label": "k5A", "x": 11, "y": 5.5, "w": 1.5},
|
||||
{"label": "k5D", "x": 13.5, "y": 5.5, "w": 1.5},
|
||||
|
||||
{"label": "k5E", "x": 15.25, "y": 5.5},
|
||||
{"label": "k5F", "x": 16.25, "y": 5.5},
|
||||
{"label": "k5G", "x": 17.25, "y": 5.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
36
keyboards/mokey/ibis80/keymaps/default/keymap.c
Normal file
36
keyboards/mokey/ibis80/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,36 @@
|
||||
/* Copyright 2021 Ocean
|
||||
* 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] = {
|
||||
LAYOUT(
|
||||
KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_BRMD, KC_PAUS,
|
||||
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_INSERT, KC_HOME, KC_PGUP,
|
||||
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_DELETE, KC_END, KC_PGDOWN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_LWIN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
51
keyboards/mokey/ibis80/keymaps/via/keymap.c
Normal file
51
keyboards/mokey/ibis80/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,51 @@
|
||||
/* Copyright 2021 Ocean
|
||||
* 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] = {
|
||||
|
||||
[0] = LAYOUT_all(
|
||||
KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
|
||||
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_INSERT, KC_HOME, KC_PGUP,
|
||||
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_DELETE, KC_END, KC_PGDOWN,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||
KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_LWIN, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||
|
||||
[1] = LAYOUT_all(
|
||||
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, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[2] = LAYOUT_all(
|
||||
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, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
|
||||
[3] = LAYOUT_all(
|
||||
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, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
};
|
||||
1
keyboards/mokey/ibis80/keymaps/via/rules.mk
Normal file
1
keyboards/mokey/ibis80/keymaps/via/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
18
keyboards/mokey/ibis80/readme.md
Normal file
18
keyboards/mokey/ibis80/readme.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# ibis80
|
||||
|
||||
Support Atmega32u4 keyboard,With a variety of configurations
|
||||
|
||||
* Keyboard Maintainer: [Mokey](https://github.com/Runheme)
|
||||
|
||||
## Bootloader
|
||||
* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmwar
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make mokey/ibis80:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make mokey/ibis80: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).
|
||||
18
keyboards/mokey/ibis80/rules.mk
Normal file
18
keyboards/mokey/ibis80/rules.mk
Normal file
@@ -0,0 +1,18 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
|
||||
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
|
||||
NKRO_ENABLE = no # Enable N-Key Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
@@ -35,9 +35,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_reviung39(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, _______, _______, _______,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, RCMD(RALT(KC_I)), RCMD(RALT(KC_O)), _______,
|
||||
_______, KC_LT, KC_GT, KC_LPRN, KC_RPRN, KC_GRV, KC_MINS, KC_LCBR, KC_RCBR, KC_LBRC, KC_RBRC, KC_PIPE,
|
||||
KC_LALT, _______, _______, _______, KC_EQL, KC_QUES, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______,
|
||||
KC_LALT, _______, _______, ADJUST, KC_EQL, KC_QUES, KC_UNDS, KC_PLUS, KC_COMM, _______, KC_SLSH, _______,
|
||||
_______, _______, KC_RGUI
|
||||
),
|
||||
|
||||
@@ -49,9 +49,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_reviung39(
|
||||
RGB_VAI, RGB_SAI, RGB_HUI, RGB_MOD, XXXXXXX, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX,
|
||||
RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, XXXXXXX, XXXXXXX, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX,
|
||||
KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LANG1, KC_LANG2,
|
||||
KC_LGUI, XXXXXXX, _______
|
||||
_______, RCMD(LALT(KC_1)), RCMD(LALT(KC_2)), RCMD(LALT(KC_3)), RCMD(LALT(KC_4)), RCMD(LALT(KC_5)), RCMD(LALT(KC_6)), RCMD(LALT(KC_7)), _______, _______, RCMD(LALT(KC_0)), _______,
|
||||
RGB_SAI, RGB_HUI, RGB_MOD, _______, RGB_TOG, RGB_VAI, RGB_VAD, RGB_SAD, RGB_HUD, RGB_RMOD, _______, _______,
|
||||
KC_MUTE, KC_VOLD, KC_VOLU, KC_BRID, KC_BRIU, RESET, _______, _______, _______, _______, _______, _______,
|
||||
KC_LGUI, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# MCU name
|
||||
MCU = STM32F411
|
||||
BOARD = GENERIC_STM32_F401XC
|
||||
BOARD = GENERIC_STM32_F411XE
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = stm32-dfu
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
// jotix ortho_4x12_layout config.h
|
||||
|
||||
#define TAPPING_TOGGLE 2
|
||||
#define TAPPING_TERM 175
|
||||
@@ -2,19 +2,17 @@
|
||||
|
||||
enum layers {
|
||||
_QWERTY,
|
||||
_TCURSOR,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_GAME,
|
||||
_NUMPAD,
|
||||
_MOUSE,
|
||||
_ADJUST,
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define GAME TG(_GAME)
|
||||
#define NUMPAD TG(_NUMPAD)
|
||||
#define MOUSE TG(_MOUSE)
|
||||
#define TCURSOR TG(_TCURSOR)
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define NUMPAD MO(_NUMPAD)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
@@ -26,10 +24,22 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_ENT,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
KC_LCTL,KC_LGUI,KC_LALT,KC_RALT,LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT
|
||||
KC_LCTL,KC_LGUI,KC_LALT,NUMPAD, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT
|
||||
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
|
||||
),
|
||||
|
||||
[_TCURSOR] = LAYOUT_ortho_4x12 (
|
||||
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_UP, _______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH,KC_LEFT,KC_DOWN,KC_RGHT
|
||||
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_ortho_4x12 (
|
||||
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
|
||||
@@ -54,49 +64,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
|
||||
),
|
||||
|
||||
[_GAME] = LAYOUT_ortho_4x12 (
|
||||
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,KC_UP, _______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,KC_SLSH,KC_LEFT,KC_DOWN,KC_RGHT
|
||||
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
|
||||
),
|
||||
|
||||
[_NUMPAD] = LAYOUT_ortho_4x12 (
|
||||
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
|
||||
NUMPAD ,_______,_______,_______,_______,_______,_______,KC_P7, KC_P8, KC_P9, KC_PMNS,_______,
|
||||
_______,KC_BTN1,KC_MS_U,KC_BTN2,KC_WH_U,_______,_______,KC_P7, KC_P8, KC_P9, KC_PMNS,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,KC_P4, KC_P5, KC_P6, KC_PPLS,_______,
|
||||
_______,KC_MS_L,KC_MS_D,KC_MS_R,KC_WH_D,_______,_______,KC_P4, KC_P5, KC_P6, KC_PPLS,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,KC_P1, KC_P2, KC_P3, KC_PSLS,KC_PENT,
|
||||
_______,_______,_______,_______,_______,_______,KC_NLCK,KC_P1, KC_P2, KC_P3, KC_PSLS,KC_PENT,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,KC_P0, KC_PDOT,KC_PAST,_______
|
||||
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
|
||||
),
|
||||
|
||||
[_MOUSE] = LAYOUT_ortho_4x12 (
|
||||
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
|
||||
MOUSE, KC_BTN1,KC_MS_U,KC_BTN2,KC_WH_U,_______,_______,_______,_______,_______,_______,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,KC_MS_L,KC_MS_D,KC_MS_R,KC_WH_D,_______,_______,_______,_______,_______,_______,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
|
||||
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_ortho_4x12 (
|
||||
// ┌───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┬───────┐
|
||||
_______,RESET ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
|
||||
_______,RESET ,_______,_______,RGB_TOG,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,_______,_______,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,GAME ,_______,_______,_______,_______,_______,_______,
|
||||
_______,_______,RGB_SAI,RGB_SAD,_______,_______,RGB_HUI,RGB_HUD,_______,_______,_______,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,NUMPAD, MOUSE, _______,_______,_______,_______,
|
||||
_______,_______,_______,_______,_______,RGB_VAI,RGB_VAD,_______,RGB_MOD,RGB_RMOD,TCURSOR,_______,
|
||||
// ├───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┼───────┤
|
||||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______
|
||||
// └───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┴───────┘
|
||||
@@ -104,10 +90,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
state = update_tri_layer_state(state, _NUMPAD, _RAISE, _ADJUST);
|
||||
#ifdef JOTANCK_LEDS
|
||||
writePin(JOTANCK_LED1, (get_highest_layer(state) == _MOUSE));
|
||||
writePin(JOTANCK_LED2, (get_highest_layer(state) == _NUMPAD));
|
||||
writePin(JOTANCK_LED2, (IS_LAYER_ON(_TCURSOR)));
|
||||
#endif
|
||||
return state;
|
||||
}
|
||||
@@ -117,5 +102,8 @@ bool led_update_user(led_t led_state) {
|
||||
if (!led_state.num_lock) {
|
||||
tap_code(KC_NUMLOCK);
|
||||
}
|
||||
#ifdef JOTANCK_LEDS
|
||||
writePin(JOTANCK_LED1, led_state.caps_lock);
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user