Compare commits

..

1 Commits

Author SHA1 Message Date
Jack Humbert
832661f6b0 return false to stall correctly 2021-10-13 23:30:25 -04:00
225 changed files with 2186 additions and 6850 deletions

View File

@@ -5,6 +5,7 @@
"xaver.clang-format",
"ms-vscode.cpptools",
"bierner.github-markdown-preview",
"donjayamanne.git-extension-pack"
"donjayamanne.git-extension-pack",
"CoenraadS.bracket-pair-colorizer-2"
]
}

View File

@@ -129,8 +129,7 @@ As defined in `keymap_steno.h`.
|`STN_RES2`||(GeminiPR only)|
|`STN_PWR`||(GeminiPR only)|
If you do not want to hit two keys with one finger combined keycodes can be used. These are also defined in `keymap_steno.h`, and causes both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file.
If you do not want to hit two keys with one finger combined keycodes can be used. These are also defined in `keymap_steno.h`, and causes both keys to be reported as pressed or released. To use these keycodes define `STENO_COMBINEDMAP` in your `config.h` file
|Combined key | Key1 | Key 2 |
|---------------|--------|----------|
|STN_S3 | STN_S1 | STN_S2 |

View File

@@ -4,7 +4,7 @@ QMK has a GPIO control abstraction layer which is microcontroller agnostic. This
## Functions :id=functions
The following functions provide basic control of GPIOs and are found in `tmk_core/common/<platform>/gpio.h`.
The following functions can provide basic control of GPIOs and are found in `quantum/quantum.h`.
|Function |Description | Old AVR Examples | Old ChibiOS/ARM Examples |
|------------------------|--------------------------------------------------|-------------------------------------------------|-------------------------------------------------|

View File

@@ -1,34 +0,0 @@
#! /bin/sh
#
# Script to display the Japanese translation status of documents
#
if [ ! -d docs/ja ]; then
echo "'docs/ja' not found."
echo "do:"
echo " cd \$(QMK_TOP)"
echo " ./docs/ja/ja_doc_status.sh"
exit 1
fi
en_docs=`cd docs;ls -1 [a-z]*.md`
ja_docs=`cd docs/ja;ls -1 [a-z]*.md`
en_count=`echo $en_docs | wc -w`
ja_count=`echo $ja_docs | wc -w`
echo "English documents $en_count files."
echo "Japanese documents $ja_count files."
echo "Files that have not been translated yet:"
for docfile in $en_docs
do
if [ ! -f docs/ja/$docfile ]; then
wc docs/$docfile
fi
done | sort
echo "Files that have not been updated yet:"
grep --no-filename "^[ ]*git diff" docs/ja/*.md | while read cmd
do
cline=`echo $cmd | sh | wc -l`
if [ $cline -gt 0 ]; then
echo "$cline $cmd"
fi
done | sort

View File

@@ -9,39 +9,33 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/<n
The `info.json` file is a JSON formatted dictionary with the following keys available to be set. You do not have to set all of them, merely the keys that apply to your keyboard.
* `keyboard_name`
* A free-form text string describing the keyboard.
* Example: `Clueboard 66%`
* `manufacturer`
* A free-form text string describing the keyboard's manufacturer.
* Example: `Clueboard`
* A free-form text string describing the keyboard.
* Example: `Clueboard 66%`
* `url`
* A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard.
* Example: `https://clueboard.co`
* A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard.
* `maintainer`
* GitHub username of the maintainer, or `qmk` for community maintained boards.
* Example: `skullydazed`
* GitHub username of the maintainer, or `qmk` for community maintained boards
* `debounce`
* The amount of time in milliseconds to wait for debounce to happen.
* Default: `5`
* How many milliseconds (ms) to wait for debounce to happen. (Default: 5)
* `diode_direction`
* The direction diodes face. See [`DIRECT_PINS` in the hardware configuration](https://docs.qmk.fm/#/config_options?id=hardware-options) for more details.
* The direction diodes face. See [`DIRECT_PINS` in the hardware configuration](https://docs.qmk.fm/#/config_options?id=hardware-options) for more details.
* `layout_aliases`
* A dictionary containing layout aliases. The key is the alias and the value is a layout in `layouts` it maps to.
* A dictionary containing layout aliases. The key is the alias and the value is a layout in `layouts` it maps to.
* `layouts`
* Physical Layout representations. See the [Layout Format](#layout_format) section for more detail.
* Physical Layout representations. See the [Layout Format](#layout_format) section for more detail.
* `matrix_pins`
* Configure the pins corresponding to columns and rows, or direct pins. See the [Matrix Pins](#matrix_pins) section for more detail.
* Configure the pins corresponding to columns and rows, or direct pins. See [Matrix Pins](#matrix_pins) for more detail.
* `rgblight`
* Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb_lighting) section for more detail.
* Configure the [RGB Lighting feature](feature_rgblight.md). See the [RGB Lighting](#rgb_lighting) section for more detail.
* `usb`
* Configure USB VID, PID, and other parameters. See the [USB](#USB) section for more detail.
* Configure USB VID, PID, and other parameters. See [USB](#USB) for more detail.
### Layout Format
Within our `info.json` file the `layouts` portion of the dictionary contains several nested dictionaries. The outer layer consists of QMK layout macros, for example `LAYOUT_ansi` or `LAYOUT_iso`.
* `layout`
* A list of Key Dictionaries describing the physical layout. See the next section for more details.
* A list of Key Dictionaries describing the physical layout. See the next section for more details.
### Key Dictionary Format
@@ -50,20 +44,18 @@ Each Key Dictionary in a layout describes the physical properties of a key. If y
All key positions and rotations are specified in relation to the top-left corner of the keyboard, and the top-left corner of each key.
* `x`
* **Required**. The absolute position of the key in the horizontal axis, in Key Units.
* **Required**: The absolute position of the key in the horizontal axis, in Key Units.
* `y`
* **Required**. The absolute position of the key in the vertical axis, in Key Units.
* **Required**: The absolute position of the key in the vertical axis, in Key Units.
* `w`
* The width of the key, in Key Units.
* Default: `1`
* The width of the key, in Key Units. Ignored if `ks` is provided. Default: `1`
* `h`
* The height of the key, in Key Units.
* Default: `1`
* The height of the key, in Key Units. Ignored if `ks` is provided. Default: `1`
* `label`
* What to name this position in the matrix. This should usually correspond to the keycode for the first layer of the default keymap.
* What to name this position in the matrix.
* This should usually correspond to the keycode for the first layer of the default keymap.
* `matrix`
* A two item list describing the row and column location for this key.
* Example: `[0, 4]`
* A 2 item list describing the row and column location for this key.
### Matrix Pins
@@ -77,11 +69,11 @@ Example:
```json
{
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["F4", "E6", "B1", "D2"],
"rows": ["B0", "D3", "D5", "D4", "D6"]
}
"diode_direction": "COL2ROW",
"matrix_pins": {
"cols": ["F4", "E6", "B1", "D2"],
"rows": ["B0", "D3", "D5", "D4", "D6"]
}
}
```
@@ -152,23 +144,23 @@ Example:
}
```
#### RGBLight Animations
#### RGB Light Animations
The following animations can be enabled:
|Key |Description |
|-----------------|--------------------------------------|
|`all` |Enable all additional animation modes.|
|`alternating` |Enable alternating animation mode. |
|`breathing` |Enable breathing animation mode. |
|`christmas` |Enable christmas animation mode. |
|`knight` |Enable knight animation mode. |
|`rainbow_mood` |Enable rainbow mood animation mode. |
|`rainbow_swirl` |Enable rainbow swirl animation mode. |
|`rgb_test` |Enable RGB test animation mode. |
|`snake` |Enable snake animation mode. |
|`static_gradient`|Enable static gradient mode. |
|`twinkle` |Enable twinkle animation mode. |
| Key | Description |
|-----|-------------|
| `all` | Enable all additional animation modes. |
| `alternating` | Enable alternating animation mode. |
| `breathing` | Enable breathing animation mode. |
| `christmas` | Enable christmas animation mode. |
| `knight` | Enable knight animation mode. |
| `rainbow_mood` | Enable rainbow mood animation mode. |
| `rainbow_swirl` | Enable rainbow swirl animation mode. |
| `rgb_test` | Enable RGB test animation mode. |
| `snake` | Enable snake animation mode. |
| `static_gradient` | Enable static gradient mode. |
| `twinkle` | Enable twinkle animation mode. |
### USB
@@ -178,10 +170,10 @@ Example:
```json
{
"usb": {
"vid": "0xC1ED",
"pid": "0x23B0",
"device_ver": "0x0001"
}
"usb": {
"vid": "0xC1ED",
"pid": "0x23B0",
"device_ver": "0x0001"
}
}
```

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,24 +0,0 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// 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
#define LAYOUT_miryoku( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
N30, N31, K32, K33, K34, K35, K36, K37, N38, N39 \
) \
LAYOUT_split_4x6_5( \
XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, XXX, \
XXX, K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, XXX, \
XXX, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, XXX, \
XXX, K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, XXX, \
K32, K33, K34, K35, K36, K37, \
XXX, XXX, XXX, XXX \
)

View File

@@ -1,5 +0,0 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -222,8 +222,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
PORTE &= ~(1<<6);
} else {
unregister_code(KC_RSFT);
PORTE |= (1<<6);
}
return false;
break;

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,121 +0,0 @@
/*
Copyright 2021 <me@fjlaboratories.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 VENDOR_ID 0x7074 // FJLabs
#define PRODUCT_ID 0x1011 // mk61-rgb-ansi
#define DEVICE_VER 0x0001 // Version 1
#define MANUFACTURER Mechanical Keyboards LLC
#define PRODUCT MK61-RGB-ANSI
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
/*
* 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)
*
*/
// Checked with Eagle Schematic
#define MATRIX_ROW_PINS { F0, F1, F4, F5, F6 }
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, B3, B2, B1 }
#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
/* 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
/* Define RGB Underglow */
#define RGB_DI_PIN F7
#define RGBLED_NUM 64
#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
#define RGBLIGHT_EFFECT_TWINKLE
#define RGBLIGHT_LIMIT_VAL 108
#define RGB_VAL_STEP 12
#define RGBLIGHT_DEFAULT_SPD 144
#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL
/* #define RGBLIGHT_LAYER_BLINK*/
/* Define less important options */
/*
* 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

View File

@@ -1,76 +0,0 @@
{
"keyboard_name": "MK61-RGB-ANSI",
"url": "https://www.fjlaboratories.com/",
"maintainer": "Mechanical Keyboards, LLC",
"layouts": {
"LAYOUT_60_ansi": {
"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": 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": 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": 2.75},
{"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.25},
{"x": 11.25, "y": 4, "w": 1.25},
{"x": 12.5, "y": 4, "w": 1.25},
{"x": 13.75, "y": 4, "w": 1.25}
]
}
}
}

View File

@@ -1,40 +0,0 @@
/*
Copyright 2021 <me@fjlaboratories.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
enum layers {
_LAYER0,
_LAYER1,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER0] = LAYOUT_60_ansi(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL
),
[_LAYER1] = LAYOUT_60_ansi(
KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET,
KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};

View File

@@ -1,58 +0,0 @@
/*
Copyright 2021 <me@fjlaboratories.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
enum layers {
_LAYER0,
_LAYER1,
_LAYER2,
_LAYER3,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_LAYER0] = LAYOUT_60_ansi(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTRL
),
[_LAYER1] = LAYOUT_60_ansi(
KC_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SLCK, KC_PAUSE, RESET,
KC_TRNS, RGB_SPI, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, NK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[_LAYER2] = LAYOUT_60_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[_LAYER3] = LAYOUT_60_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};

View File

@@ -1 +0,0 @@
VIA_ENABLE = yes

View File

@@ -1,13 +0,0 @@
/* Copyright 2021 <me@fjlaboratories.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 "mk61rgbansi.h"

View File

@@ -1,32 +0,0 @@
/*
Copyright 2021 <me@fjlaboratories.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"
/* MK61-RGB-ANSI Keymap Definitions */
#define LAYOUT_60_ansi( \
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, \
K40, K41, K42, K45, K49, K4A, K4C, K4D \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, K3C, KC_NO }, \
{ K40, K41, K42, KC_NO, KC_NO, K45, KC_NO, KC_NO, KC_NO, K49, K4A, KC_NO, K4C, K4D } \
}

View File

@@ -1,14 +0,0 @@
# Mechanical Keyboards, LLC MK61-RGB-ANSI
The following is the QMK Firmware for the Mechanical Keyboards, LLC MK61-RGB-ANSI PCB.
---
* Keyboard Maintainer: Mechanical Keyboards, LLC
* Hardware Supported: MK61-RGB-ANSI
Make example for this keyboard (after setting up your build environment):
make fjlabs/mk61-rgb-ansi: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). You can enter the bootloader by pressing the reset button on the back of the PCB.

View File

@@ -1,26 +0,0 @@
# MCU name
MCU = atmega32u4
# Processor frequency
F_CPU = 8000000
# 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 = 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 = yes # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output
LAYOUTS = 60_ansi

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -213,8 +213,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#ifdef BACKLIGHT_ENABLE
backlight_step();
#endif
PORTE &= ~(1<<6);
} else {
unregister_code(KC_RSFT);
PORTE |= (1<<6);
}
return false;
break;

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,127 +0,0 @@
/* 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
enum userspace_layers {
QWERTY,
FNLAYER,
POPTAB,
};
//custom keycodes
#define MODS_ALT_MASK (MOD_BIT(KC_LALT)) // Make ALT layer for encoder use
#define MODS_CTRL_MASK (MOD_BIT(KC_LCTL)) // Make CTRL layer for encoder use
#define SWAP_L SGUI(KC_LEFT) // Swap application to left display
#define SWAP_R SGUI(KC_RGHT) // Swap application to right display
#define MINI LGUI(KC_DOWN) // Shrink window
#define MAXI LGUI(KC_UP) // Maximize window
#define CLOSEAPPLICATION LALT(KC_F4) // Kill application
#define CLOSETAB LCTL(KC_W) // Kill current tab
#define POPOUT LCTL(LSFT(KC_K))
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
// The FN key by default maps to a momentary toggle to layer 1 to provide access to the RESET key (to put the board into bootloader mode). Without
// this mapping, you have to open the case to hit the button on the bottom of the PCB (near the USB cable attachment) while plugging in the USB
// cable to get the board into bootloader mode - definitely not fun when you're working on your QMK builds. Remove this and put it back to KC_RGUI
// if that's your preference.
//
// To put the keyboard in bootloader mode, use FN+backslash. If you accidentally put it into bootloader, you can just unplug the USB cable and
// it'll be back to normal when you plug it back in.
[QWERTY] = 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, MO(FNLAYER), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
[FNLAYER] = LAYOUT(
CLOSEAPPLICATION, CLOSETAB,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MEDIA_PLAY_PAUSE,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, SWAP_L , MAXI , SWAP_R , _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET , _______,
_______, _______, MINI , _______, POPOUT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, KC_TRNS, _______, _______, _______
),
};
bool encoder_update_user(uint8_t index, bool clockwise) {
if (get_mods() & MODS_ALT_MASK) {
if (clockwise) {
tap_code(KC_TAB);
} else {
tap_code16(S(KC_TAB));
}
} else if (get_mods() & MODS_CTRL_MASK) {
if (clockwise) {
tap_code(KC_TAB);
} else {
tap_code16(S(KC_TAB));
}
} else if(IS_LAYER_ON(FNLAYER)) {
if (clockwise) {
tap_code(KC_MEDIA_NEXT_TRACK);
} else {
tap_code(KC_MEDIA_PREV_TRACK);
}
} else {
if (clockwise) {
tap_code(KC_VOLU);
} else {
tap_code(KC_VOLD);
}
}
return false;
}
void rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
switch(get_highest_layer(layer_state)) {
// special handling per layer
case 0: //layer one
if (host_keyboard_led_state().caps_lock)
rgb_matrix_set_color_all(255,0,0);
else
rgb_matrix_set_color_all(0,255,56);
break;
case 1:
for (uint8_t i = led_min; i < led_max; i++) {
RGB_MATRIX_INDICATOR_SET_COLOR(i,0,0,0);
}
RGB_MATRIX_INDICATOR_SET_COLOR(0, 0, 0, 255) //esc
RGB_MATRIX_INDICATOR_SET_COLOR(6, 0, 0, 255) //f1
RGB_MATRIX_INDICATOR_SET_COLOR(8, 0, 0, 255) //q
RGB_MATRIX_INDICATOR_SET_COLOR(14, 0, 0, 255) //w
RGB_MATRIX_INDICATOR_SET_COLOR(20, 0, 0, 255) //e
RGB_MATRIX_INDICATOR_SET_COLOR(15, 0, 0, 255) //s
RGB_MATRIX_INDICATOR_SET_COLOR(26, 0, 0, 255) //f
RGB_MATRIX_INDICATOR_SET_COLOR(49, 0, 0, 255) //R_Alt
break;
default:
break;
}
}

View File

@@ -1,19 +0,0 @@
# Description
Pretty simple keymap with a few handy tools on a 2nd layer and rotary encoder.
# Encoder
Holding tab and scrolling encoder will allow scrolling through applications, as if using alt + tab
Holding ctrl and scrolling encoder will allow scrolling through chrome tabs
FN + Encoder scroll is media next/prev
FN + Encoder press is media pause
default encoder behavior is volume up/down
# Function Layer
FN + \ is used to put keyboard into bootloader mode
FN + ESC is the same as alt F4, for closing applications
FN + F1 is to close current browser tab
FN + Q moves current application one monitor to the left
FN + W maximizes current application
FN + E moves current application one monitor to the right
FN + S minimizes current application
FN + F is used in junction with the "Popout tab" extension to chrome (https://chrome.google.com/webstore/detail/popout-tab/pcfcieidiaaobigemjnkclebhnmgfbco) to pop out current tab to its own window

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -17,17 +17,13 @@
#pragma once
#include "tractyl_manuform.h"
#if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_f411)
# include "f411.h"
#elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_f303)
# include "f303.h"
#elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_teensy2pp)
# include "teensy2pp.h"
#elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_elite_c)
# include "elite_c.h"
#endif
#include "quantum.h"
#define ___ KC_NO

View File

@@ -50,5 +50,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#define OLED_DISPLAY_128X64

View File

@@ -1,52 +0,0 @@
/*
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
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 PRODUCT Tractyl Manuform(5x6) Elite C
// wiring of each half
#define MATRIX_COL_PINS \
{ D4, D7, E6, B4, B5, B7 }
#define MATRIX_ROW_PINS \
{ F7, F6, F5, F4, F1, F0 }
#define DIODE_DIRECTION COL2ROW
// WS2812 RGB LED strip input and number of LEDs
#define RGB_DI_PIN D3
#define RGBLED_NUM 20
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT \
{ 10, 10 }
#define RGBLIGHT_LIMIT_VAL 80
#define OLED_BRIGHTNESS 50
#define AUDIO_PIN C6
/* serial.c configuration for split keyboard */
#define SOFT_SERIAL_PIN D2
#define EE_HANDS
#define ENCODERS_PAD_A \
{ D5 }
#define ENCODERS_PAD_B \
{ C7 }
/* PMW3360 Settings */
#define PMW3360_CS_PIN B6

View File

@@ -1,19 +0,0 @@
/* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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 "5x6_right.h"

View File

@@ -1,11 +0,0 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = atmel-dfu
LTO_ENABLE := yes
RGBLIGHT_ENABLE = no
OLED_ENABLE = no
AUDIO_ENABLE = no
ENCODER_ENABLE = no

View File

@@ -39,7 +39,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define WS2812_PWM_DRIVER PWMD2 // default: PWMD2
#define WS2812_PWM_CHANNEL 2 // default: 2
#define WS2812_PWM_PAL_MODE 1 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2
#define WS2812_EXTERNAL_PULLUP
//#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy).
#define WS2812_DMA_STREAM STM32_DMA1_STREAM7 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
#define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU.
@@ -48,7 +47,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLIGHT_SPLIT
#define RGBLED_SPLIT \
{ 10, 10 }
#define RGBLIGHT_LMIT_VAL 80
#define RGBLIGHT_LIMIT_VAL 80
#define DEBUG_LED_PIN C13

View File

@@ -9,8 +9,7 @@
* 8KB SPI EEPROM chip sharing PA5-PA7 on SPI1 with PA4 as CS pin
* Encoder using PA13 and PA14
* SSD1306 OLED display (128x64) using PB8-PB9 on I2C1
* Pull-up resistor (22k) on PA10 to fix reset issue.
* Pull-up resistor (5.1k) on PA1 for WS2812 LED support, and wire it's VCC to the 5V pin.
* Pull-up resistor (22k) on A10 to fix reset issue.
* Keyboard Maintainer: [Drashna Jael're](https://github.com/drashna)
* Hardware Supported: [Design files](https://gitlab.com/keyboards1/dm_r_track/-/tree/master/boolean), [WeAct BlackPill (F411)](https://github.com/WeActTC/MiniSTM32F4x1), [PMW3360 Optical Sensor](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/)

View File

@@ -24,8 +24,13 @@
#define TRACKBALL_DPI_OPTIONS { 1200, 1800, 2600, 3400 }
#define RGBLIGHT_MAX_BRIGHTNESS 60
#undef DEBOUNCE
#define DEBOUNCE 10
#define SOLENOID_PIN F1
#define SOLENOID_DEFAULT_DWELL 8
#define OLED_DISPLAY_128X64
#define OLED_BRIGHTNESS 50

View File

@@ -117,7 +117,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT_5x6_right_wrapper(
KC_MAKE, ___________________BLANK___________________, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L1_________________, _________________ADJUST_R1_________________, EEP_RST,
KEYLOCK, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS,
_______, _________________ADJUST_L2_________________, _________________ADJUST_R2_________________, TG_MODS,
UC_MOD, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, KC_MPLY,
HPT_DWLI, HPT_DWLD, TG_GAME, TG_DBLO,
HPT_TOG, HPT_BUZ, KC_NUKE,
@@ -348,16 +348,9 @@ void render_kitty(void) {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}};
// assumes 1 frame prep stage
#ifdef SWAP_HANDS_ENABLE
extern bool swap_hands;
#endif
void animation_phase(void) {
# ifdef SWAP_HANDS_ENABLE
if (swap_hands)
#else
if (tap_toggling)
#endif
{
if (tap_toggling) {
anim_frame_duration = 300;
current_rtogi_frame = (current_rtogi_frame + 1) % RTOGI_FRAMES;
oled_write_raw_P(rtogi[abs((RTOGI_FRAMES - 1) - current_rtogi_frame)], ANIM_SIZE);

View File

@@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLED_SPLIT \
{ 10, 10 }
#define RGBLIGHT_LIMIT_VAL 80
#define OLED_BRIGHTNESS 50
#define DEBUG_LED_PIN D6

View File

@@ -34,14 +34,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_SYMBOL] = LAYOUT(
KC_TILD, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_UNDS,
KC_PLUS, KC_EXLM, KC_LPRN, KC_RPRN, KC_DLR , KC_AMPR, KC_PIPE, KC_HASH, KC_LCBR, KC_RCBR, KC_COLN, KC_DQUO,
_______, KC_AT , KC_LBRC, KC_RBRC, KC_BSLS, KC_PERC, _______, _______, KC_CIRC, KC_ASTR, KC_LABK, KC_RABK, KC_QUES, _______,
KC_PLUS, KC_EXLM, KC_LPRN, KC_RPRN, KC_DLR , KC_AMPR, KC_PIPE, KC_EQL , KC_LCBR, KC_RCBR, KC_COLN, KC_DQUO,
_______, KC_AT , KC_LBRC, KC_RBRC, KC_HASH, KC_PERC, _______, _______, KC_CIRC, KC_ASTR, KC_LABK, KC_RABK, KC_QUES, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
[_FUNCTION] = LAYOUT(
_______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_PSCR, KC_SLCK, KC_HOME, KC_PGDN, KC_PGUP, KC_END , _______,
_______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_INS , KC_CLCK, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, _______,
_______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_PAUS, _______,
_______, KC_F9 , KC_F10 , KC_F11 , KC_F12 , _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, EEP_RST, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -4,9 +4,9 @@
A compact 40% (12x4) ortholinear keyboard kit sold by KBDFans.
* Keyboard Maintainer: ![sevenseacat](https://github.com/sevenseacat)
* Hardware Supported: KBD4x PCB
* Hardware Availability: https://kbdfans.cn/collections/diy-kit/products/kbd4x-custom-mechanical-keyboard-hot-swap-diy-kit
Keyboard Maintainer: ![sevenseacat](https://github.com/sevenseacat)
Hardware Supported: KBD4x PCB
Hardware Availability: https://kbdfans.cn/collections/diy-kit/products/kbd4x-custom-mechanical-keyboard-hot-swap-diy-kit
Make example for this keyboard (after setting up your build environment):

View File

@@ -2,11 +2,11 @@
![KBD66](https://i.imgur.com/qtLuL2o.jpg)
A 66 key keyboard from KBDFans modeled after the FC660m.
A 65% keyboard from KBDFans.
* Keyboard Maintainer: [Alex](https://github.com/allo-world)
* Hardware Supported: KBD66, ATmega32U4
* Hardware Availability: [KBDFans](https://kbdfans.cn), [Massdrop](https://www.massdrop.com/buy/kbd66-mechanical-keyboard-kit?mode=guest_open)
Keyboard Maintainer: [Alex](https://github.com/allo-world)
Hardware Supported: KBD66, ATmega32U4
Hardware Availability: [KBDFans](https://kbdfans.cn), [Massdrop](https://www.massdrop.com/buy/kbd66-mechanical-keyboard-kit?mode=guest_open)
Make example for this keyboard (after setting up your build environment):

View File

@@ -2,11 +2,9 @@
A 65% hot swap board with blocker and USB Type C port.
This PCB was replaced by the hotswap variants of the kbd67mkii
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
* Hardware Supported: KBD67 Hotswap
* Hardware Availability: [KBDFans](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit)
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
Hardware Supported: KBD67 Hotswap
Hardware Availability: [KBDFans](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit)
Make example for this keyboard (after setting up your build environment):

View File

@@ -2,7 +2,8 @@
![Render](https://i.imgur.com/W8jBycQ.png)
Solderable 65% PCB made originally for the KBD67mkii by ai03. For hotswap PCB firmware, please check the other directories.
A simple 65% keyboard
This is for the solderable PCB for the MKII. For hotswap PCB firmware, please check the other directories.
* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) / [KBDfans](https://kbdfans.cn/)
* Hardware Supported: KBD67 MKII Soldered PCB (Not hotswap)

View File

@@ -1,8 +1,6 @@
# KBD67 Mk.II RGB V1 (Hotswap)
An hotswap 65% keyboard with USB C and inswitch RGB.
This was released along with the kbd67mkii keyboard that featured a top mount design, and brass weight.
A hotswap 65% keyboard with USB C and inswitch RGB.
* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
* Hardware Supported: KBD67 Mk.II RGB V1

View File

@@ -2,10 +2,6 @@
A hotswap 65% keyboard with USB C, inswitch RGB, and ESD protection.
Originally sold as a replacement PCB for the kbd67mkii when the V1 PCB failed.
It has since been sold along with the D64 and KBD67 Lite R1/R2.
* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
* Hardware Supported: KBD67 Mk.II RGB V2
* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)

View File

@@ -2,12 +2,6 @@
A hotswap 65% keyboard with USB C, inswitch RGB, and ESD protection.
Originally sold as a replacement to the V2 as it offered a much simpler firmware flashing experience for customers. This board expects `.bin` files.
As of 10/2021 this board has no visible markings differentiating it from the previous V2.
It has since been sold with the KBD67Lite R2, D64, and Blade 65.
* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
* Hardware Supported: KBD67 Mk.II RGB V3
* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/)

View File

@@ -1,19 +1,19 @@
# KBD67
A 65% keyboard sold in several variants supporting KBDFan's different 65% lineups each with their own different revisions.
A 65% keyboard sold in several variants.
1. [Rev1](rev1/): Released in early 2018. Atmega32u4 soldered keyboard. Sold under the name "KBD65".
2. [HotSwap](hotswap/): Released in late 2018. Atmega32U4 hotswap single layout keyboard.
1. [Rev1](rev1/): Released in early 2018. Atmega32u4 soldered keyboard. Sold under the name "KBD65".
2. [HotSwap](hotswap/): Released in late 2018. Atmega32U4 hotswap single layout keyboard.
3. [Rev2](rev2/): Released in April/May 2019. Atmega32u4 soldered keyboard.
4. [MKII](mkii_soldered/): Released in September 2019, designed by ai03. Atmega32u4 soldered keyboard. ESD Protected
5. [MKII RGB V1](mkiirgb/v1/): Released in September 2019. Arm hotswap board.
5. [MKII RGB V1](mkiirgb/v1/): Released in September 2019. Arm hotswap board.
6. [MKII RGB V2](mkiirgb/v2/): Released in December 2019. Atmega32u4 hotswap board. ESD Protected.
6. [MKII RGB V2*](mkiirgb/v3/): Released in March 2021. Atmega32u4 hotswap board. ESD Protected. Uses LUFA bootloader and different inswitch RGB implementation. No visible markings differentiating it from the previous V2.
**Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.** Please use the `.hex` or `.bin` appropriate for your board.
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin), [moyi4681](https://github.com/moyi4681)
* Hardware Supported: KBD67 rev1, rev2, hotswap, mkii, mkiirgb v1, mkiirgb v2, etc.
* Hardware Supported: KBD67 rev1, rev2, hotswap, mkii, mkiirgb v1, mkiirgb v2
* Hardware Availability: KBDFans
Make examples for this keyboard (after setting up your build environment):
@@ -21,9 +21,8 @@ Make examples for this keyboard (after setting up your build environment):
make kbdfans/kbd67/rev1:default
make kbdfans/kbd67/rev2:default
make kbdfans/kbd67/hotswap:default
make kbdfans/kbd67/mkii_soldered:default
make kbdfans/kbd67/mkiirgb/v1:default
make kbdfans/kbd67/mkiirgb/v2:default
make kbdfans/kbd67/mkiirgb/v3:default
make kbdfans/kbd67/mkii_soldered:default
make kbdfans/kbd67/mkiirgb/v1:default
make kbdfans/kbd67/mkiirgb/v2: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).

View File

@@ -1,10 +1,10 @@
# KBD67 rev1
65% keyboard with RGB underglow originally sold for the Tofu 65 and Tada 68 keyboards.
65% keyboard with blocker.
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
* Hardware Supported: KBD67 PCB (Sometimes sold under the name "KBD65")
* Hardware Availability: KBDFans [Keyboard Kit](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit), [PCB](https://kbdfans.cn/collections/65/products/kbd65-65-custom-mechanical-keyboard-pcb)
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
Hardware Supported: KBD67 PCB (Sometimes sold under the name "KBD65")
Hardware Availability: KBDFans [Keyboard Kit](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit), [PCB](https://kbdfans.cn/collections/65/products/kbd65-65-custom-mechanical-keyboard-pcb)
Make example for this keyboard (after setting up your build environment):

View File

@@ -1,10 +1,10 @@
# KBD67 rev2
65% keyboard with RGB underglow originally sold for the Tofu 65 and Tada 68 keyboards.
65% pcb with blocker. Revision 2 (Manufactured after 05/01/19).
* Keyboard Maintainer: [Vorror](https://github.com/vorror)
* Hardware Supported: KBD67v2 PCB (Sometimes sold under the name "KBD65")
* Hardware Availability: KBDFans [Keyboard Kit](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit), [PCB](https://kbdfans.cn/collections/65/products/kbd65-65-custom-mechanical-keyboard-pcb)
Keyboard Maintainer: [Vorror](https://github.com/vorror)
Hardware Supported: KBD67v2 PCB (Sometimes sold under the name "KBD65")
Hardware Availability: KBDFans [Keyboard Kit](https://kbdfans.cn/products/coming-soon-kbd67-mechanical-keyboard-diy-kit), [PCB](https://kbdfans.cn/collections/65/products/kbd65-65-custom-mechanical-keyboard-pcb)
Make example for this keyboard (after setting up your build environment):

View File

@@ -2,9 +2,9 @@
A WKL Hot Swap Double USB C 60%
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
* Hardware Supported: KBD6x PCB
* Hardware Availability: [KBDFans](https://kbdfans.cn/products/kbd6x-wkl-hot-swap-60-double-type-c-pcb)
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
Hardware Supported: KBD6x PCB
Hardware Availability: [KBDFans](https://kbdfans.cn/products/kbd6x-wkl-hot-swap-60-double-type-c-pcb)
Make example for this keyboard (after setting up your build environment):

View File

@@ -1,5 +1,11 @@
# KBD75
Keyboard Maintainer: QMK Community
Hardware Supported: KBD75 PCB rev 1 and 2
Hardware Availability:
* https://kbdfans.com/collections/75-diy-kit/products/kbd75-keyboard-set
* https://kbdfans.com/collections/75-diy-kit/products/kbd75v2-custom-keyboard-diy-kit
The KBD75 was sold through various rounds, with various PCB changes between them.
* **Round 1 (2017)**: Black PCB - Bootmapper Client, atmega32a MCU (Use [Winkeyless.kr B.mini](../../winkeyless/bmini/) firmware)
@@ -8,14 +14,6 @@ The KBD75 was sold through various rounds, with various PCB changes between them
* **Round 6 (2019)**: White PCB with USB C - QMK Firmware, atmega32u4 MCU (Use KBD75 rev1 or rev2(with numpad support))
* **V2 (2019-)**: Same as **Round 6** (above).
**Firmware files are SPECIFIC to each board. Firmware files from one, will not work on the other.**
* Keyboard Maintainer: QMK Community
* Hardware Supported: KBD75 PCB rev 1 and 2
* Hardware Availability:
* https://kbdfans.com/collections/75-diy-kit/products/kbd75-keyboard-set
* https://kbdfans.com/collections/75-diy-kit/products/kbd75v2-custom-keyboard-diy-kit
Make example for this keyboard (after setting up your build environment):
make kbdfans/kbd75/rev1:default

View File

@@ -1,10 +1,12 @@
# KBD8X
![kbd8x](imgur.com image replace me!)
TKL Keyboard from KBDFans
* Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
* Hardware Supported: kbd8x
* Hardware Availability: [KBDFans](https://kbdfans.cn/blogs/updates/kbd-8x-update-40)
Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin)
Hardware Supported: kbd8x
Hardware Availability: [KBDFans](https://kbdfans.cn/blogs/updates/kbd-8x-update-40)
Make example for this keyboard (after setting up your build environment):

View File

@@ -4,9 +4,9 @@
A fairly typical TKL
* Keyboard Maintainer: [ai03](https://github.com/ai03-2725) / [KBDfans](https://kbdfans.cn/)
* Hardware Supported: KBD8X MKII PCB/case
* Hardware Availability: [KBDfans](https://kbdfans.com/collections/90-kbd19x/products/gb-kbd8x-mkii-pcb)
Keyboard Maintainer: [ai03](https://github.com/ai03-2725) / [KBDfans](https://kbdfans.cn/)
Hardware Supported: KBD8X MKII PCB/case
Hardware Availability: [KBDfans](https://kbdfans.com/collections/90-kbd19x/products/gb-kbd8x-mkii-pcb)
Make example for this keyboard (after setting up your build environment):

View File

@@ -1,5 +1,7 @@
# KBDMINI
![KBDMINI](imgur.com image replace me!)
* Keyboard Maintainer: [DZTECH](https://github.com/moyi4681)
* Hardware Supported: KBDMINI
* Hardware Availability: [KBDFans](https://kbdfans.cn/)

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,25 +0,0 @@
/*
Copyright 2017 Danny Nguyen <danny@keeb.io>
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 EE_HANDS
#define TAPPING_TERM 164
#define IGNORE_MOD_TAP_INTERRUPT
#define PERMISSIVE_HOLD
#define RGBLIGHT_LAYERS
#define ENCODER_RESOLUTION 4
#define ENCODER_DEFAULT_POS 0x3

View File

@@ -1,185 +0,0 @@
// Copyright 2021 Tomasz Wawer (@sq5rix)
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
enum layers {
_BEAKL15,
_LOWER,
_RAISE,
_MOUSE
};
enum custom_keycodes {
LT_DAT = SAFE_RANGE,
LT_COM,
LT_QUOT
};
#define LOWER LT(_LOWER, KC_ENT)
#define LOWER2 LT(_LOWER, KC_T)
#define RAISE LT(_RAISE, KC_SPC)
#define RAISE2 LT(_RAISE, KC_BSPC)
#define MOUSE LT(_MOUSE, KC_A)
#define SH_ESC MT(MOD_LSFT, KC_ESC)
#define SH_CWD MT(MOD_LALT, KC_BSPC)
#define SH_LTAB MT(MOD_LALT, KC_TAB)
#define SH_UND MT(MOD_LCTL, KC_UNDS)
#define SH_Z MT(MOD_LCTL, KC_Z)
#define SH_LGS MT(MOD_LGUI, KC_B)
#define AL_I ALGR_T(KC_I)
#define AL_N ALGR_T(KC_N)
// Tap Dance definitions
enum {
TD_S
};
qk_tap_dance_action_t tap_dance_actions[] = {
[TD_S] = ACTION_TAP_DANCE_DOUBLE(KC_S, KC_Z),
};
bool sh_key(keyrecord_t *record, uint8_t sk, uint8_t nk);
bool sh_key8(keyrecord_t *record, uint8_t sk, uint8_t nk);
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BEAKL15] = LAYOUT(
TG(_RAISE), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_DEL,
SH_LTAB, KC_Q, KC_H, KC_O, KC_U, KC_X, KC_G, KC_C, KC_R, KC_F, KC_Z, KC_LGUI,
SH_UND, KC_Y, AL_I, KC_E, MOUSE, LT_DAT, KC_D, TD(TD_S),LOWER2, AL_N, KC_B, KC_SCLN,
KC_LSFT, KC_J, KC_SLSH, LT_COM, KC_K, LT_QUOT, RGB_TOG, BL_TOGG, KC_W, KC_M, KC_L, KC_P, KC_V, KC_RSFT,
SH_Z, LOWER, RAISE, SH_ESC, RAISE2, SH_LTAB
),
[_LOWER] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, KC_LT, KC_DLR, KC_GT, KC_EXLM, _______, KC_LBRC, KC_UNDS, KC_RBRC, KC_EXLM, _______,
_______, KC_BSLS, KC_LPRN, KC_DQUO, KC_RPRN, KC_HASH, KC_PERC, KC_LCBR, KC_EQL, KC_RCBR, KC_PIPE, _______,
_______, KC_SCLN, KC_SLSH, KC_ASTR, KC_PLUS, _______, _______, _______, _______, KC_AMPR, KC_CIRC, KC_TILD, KC_SCLN, _______,
_______, _______, _______, _______, _______, _______
),
[_RAISE] = LAYOUT(
_______, KC_VOLD, KC_VOLU, KC_MUTE, KC_BRIGHTNESS_DOWN, KC_BRIGHTNESS_UP, KC_PSCREEN, _______, _______, _______, _______, RESET,
_______, KC_SLSH, KC_6, KC_5, KC_4, KC_EQL, KC_CIRC, KC_PGUP, KC_UP, KC_PGDN, _______, RGB_VAI,
_______, KC_3, KC_2, KC_1, KC_0, KC_DOT, KC_EQL, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
_______, KC_ASTR, KC_9, KC_8, KC_7, KC_PLUS, _______, _______, KC_PLUS, KC_HOME, KC_COLN, KC_END, _______, RGB_MOD,
_______, _______, _______, _______, _______, _______
),
[_MOUSE] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_U, KC_BTN2, _______, _______,
_______, _______, _______, KC_BTN1, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN3, _______, _______, _______,
_______, _______, _______, _______, _______, _______
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case LT_DAT:
return sh_key8(record, KC_2, KC_DOT);
case LT_COM:
return sh_key8(record, KC_1, KC_COMM);
case LT_QUOT:
return sh_key(record, KC_GRV, KC_QUOT);
default:
return true;
}
}
bool sh_key(keyrecord_t *record, uint8_t sk, uint8_t nk){
if (record->event.pressed) {
if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){
unregister_code(KC_LSFT);
unregister_code(KC_RSFT);
register_code(sk);
} else {
register_code(nk);
}
}
else {
unregister_code16(sk);
unregister_code(nk);
}
return false;
}
bool sh_key8(keyrecord_t *record, uint8_t sk, uint8_t nk){
if (record->event.pressed) {
if (get_mods() & MOD_BIT(KC_LSHIFT) || get_mods() & MOD_BIT(KC_RSHIFT)){
register_code(sk);
} else {
register_code(nk);
}
}
else {
unregister_code(sk);
unregister_code(nk);
}
return false;
}
bool encoder_update_user(uint8_t index, bool clockwise) {
if (index == 0) {
if (clockwise) {
tap_code16(C(G(KC_LEFT)));
} else {
tap_code16(C(G(KC_RGHT)));
}
}
// tmux screen
else if (index == 1) {
switch(biton32(layer_state)){
case 0:
if (clockwise) {
send_string(SS_LCTL("B")"p");
} else {
send_string(SS_LCTL("B")"n");
}
break;
case _RAISE:
if (clockwise) {
tap_code16(C(G(KC_PGUP)));
} else {
tap_code16(C(G(KC_PGDN)));
}
break;
}
}
return true;
}
const rgblight_segment_t PROGMEM raise_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{1, 12, HSV_RED}
);
const rgblight_segment_t PROGMEM lower_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{1, 12, HSV_BLUE}
);
const rgblight_segment_t PROGMEM mouse_layer[] = RGBLIGHT_LAYER_SEGMENTS(
{1, 12, HSV_GREEN}
);
// Now define the array of layers. Later layers take precedence
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
lower_layer,
raise_layer,
mouse_layer
);
void keyboard_post_init_user(void) {
// Enable the LED layers
rgblight_layers = my_rgb_layers;
}
layer_state_t layer_state_set_user(layer_state_t state) {
rgblight_set_layer_state(0, layer_state_cmp(state, 2));
rgblight_set_layer_state(1, layer_state_cmp(state, 3));
rgblight_set_layer_state(2, layer_state_cmp(state, 4));
return state;
}

View File

@@ -1,17 +0,0 @@
BEAKL-15 keymap for keebio iris
@sq5rix tom wawer
https://deskthority.net/wiki/BEAKL#BEAKL_15
Modern keyboard map easy to learn
very effective to type
esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Del
q h o u x g c r f z
- y i e a . d s t n b ;
j / , , k w m l p v
z enter space esc bkspc tab
lots of special functions
three layers with puncs, numbers and mouse

View File

@@ -1,4 +0,0 @@
RGBLIGHT_ENABLE = yes
TAP_DANCE_ENABLE = yes
LTO_ENABLE = yes
MOUSEKEY_ENABLE = yes

View File

@@ -42,12 +42,10 @@
{ L10, L11, L12, L13, L14, L15 }, \
{ L20, L21, L22, L23, L24, L25 }, \
{ L30, L31, L32, L33, L34, L35 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ R00, R01, R02, R03, R04, R05 }, \
{ R10, R11, R12, R13, R14, R15 }, \
{ R20, R21, R22, R23, R24, R25 }, \
{ R30, R31, R32, R33, R34, R35 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO } \
{ R30, R31, R32, R33, R34, R35 } \
}
#define LAYOUT_ortho_5x12 LAYOUT

View File

@@ -4,7 +4,7 @@ This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
Copyright 2018 Danny Nguyen <danny@keeb.io>
Copyright 2021 Roger Billerey-Mosier
Copyright 2020 Roger Billerey-Mosier
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

View File

@@ -1,5 +1,5 @@
/*
Copyright 2021 Roger Billerey-Mosier
Copyright 2020 Roger Billerey-Mosier
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
@@ -34,13 +34,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
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_END,
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_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RCTL, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(_FN1), KC_SPC, KC_NO, LCTL(KC_C), LCTL(KC_V), KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
),
KC_LCTL, KC_LGUI, KC_LALT, KC_ENT, MO(_FN1), KC_SPC, KC_NO, KC_APP, KC_PSCR, KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT
),
[_FN1] = LAYOUT_65(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, KC_PSCR,
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
_______, _______, _______, _______, _______, KC_MPLY, _______, _______, _______, KC_MUTE, KC_MPRV, KC_VOLD, KC_MNXT
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -40,15 +40,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS { B5, B4 }
#define MATRIX_COL_PINS { B6, C6, C7, D4 }
#define MATRIX_ROW_PINS { E6, D7 }
#define MATRIX_COL_PINS { F7, B1, B3, B2 }
#define UNUSED_PINS
/* COL2ROW or ROW2COL */
#define DIODE_DIRECTION COL2ROW
#define ENCODERS_PAD_A { D7 }
#define ENCODERS_PAD_B { D6 }
#define ENCODERS_PAD_A { D1 }
#define ENCODERS_PAD_B { D0 }
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,41 +0,0 @@
/*
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"
/* USB Device descriptor parameter */
#define VENDOR_ID 0x6653
#define PRODUCT_ID 0x3365
#define DEVICE_VER 0x0001
#define MANUFACTURER Mokey
#define PRODUCT ginkgo 65
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
/* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
#define MATRIX_ROW_PINS { F7, B7, F5, F1, B0 }
#define MATRIX_COL_PINS { C7, F6, B2, F4, B3, E6, D0, D1, D2, D3, D5, D4, D6, D7, B4, B1 }
#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define BACKLIGHT_PIN B6
#define BACKLIGHT_LEVELS 6
#define BACKLIGHT_CAPS_LOCK
#define BACKLIGHT_BREATHING
#define BREATHING_PERIOD 5
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

View File

@@ -1,16 +0,0 @@
/* 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 "ginkgo65.h"

View File

@@ -1,188 +0,0 @@
/* 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
/*LAYOUT
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
* │k00│k01│k02│k03│k04│k05│k06│k07│k08│k09│k0A│k0B│k0C│ k0D │k0F│
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
* │ k10 │k11│k12│k13│k14│k15│k16│k17│k18│k19│k1A│k1B│k1C│ k1D │k1E│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
* │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│ k2D │k2E│
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
* │ k30 │k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
* │k40 │k41 │k42 │ k44 │k49 │k4A │ │k4C│k4D│k4E│
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
*/
#define LAYOUT( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0F, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, k2E, \
k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
k40, k41, k42, k44, k49, k4A, k4C, k4D, k4E \
) { \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX, k0F }, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, XXX }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \
{ k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \
{ k40, k41, k42, XXX, k44, XXX, XXX, XXX, XXX, k49, k4A, XXX, k4C, k4D, k4E, XXX }, \
}
/*LAYOUT_iso
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │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│ K2D │k1E│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤
* │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
* │ k30 │k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
* │k40 │k41 │k42 │ k44 │k49 │k4A │ │k4C│k4D│k4E│
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
*/
#define LAYOUT_iso( \
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, k2D, k1E, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \
k30, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
k40, k41, k42, k44, k49, k4A, k4C, k4D, k4E \
) { \
{ 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, k2D, k1E, XXX }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \
{ k30, XXX, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \
{ k40, k41, k42, XXX, k44, XXX, XXX, XXX, XXX, k49, k4A, XXX, k4C, k4D, k4E, XXX }, \
}
/*LAYOUT_split_left_shift
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │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│ K2D │k1E│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤
* │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
* │k30 │k31│k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
* │k40 │k41 │k42 │ k44 │k49 │k4A │ │k4C│k4D│k4E│
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
*/
#define LAYOUT_split_left_shift( \
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, k2D, k1E, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
k40, k41, k42, k44, k49, k4A, k4C, k4D, k4E \
) { \
{ 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, k2D, k1E, XXX, }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \
{ k40, k41, k42, XXX, k44, XXX, XXX, XXX, XXX, k49, k4A, XXX, k4C, k4D, k4E, XXX }, \
}
/*LAYOUT_7u_space
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │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│ K2D │k1E│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤
* │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
* │k30 │k31│k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│
* ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬─┬───┼───┼───┤
* │k40 │k41 │k42 │ k44 │k4A │ │k4C│k4D│k4E│
* └────┴────┴────┴────────────────────────────┴─────┘ └───┴───┴───┘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
*/
#define LAYOUT_7u_space( \
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, k2D, k1E, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
k40, k41, k42, k44, k4A, k4C, k4D, k4E \
) { \
{ 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, k2D, k1E, XXX, }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \
{ k40, k41, k42, XXX, k44, XXX, XXX, XXX, XXX, XXX, k4A, XXX, k4C, k4D, k4E, XXX }, \
}
/*LAYOUT_split_space_1
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │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│ K2D │k1E│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤
* │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
* │k30 │k31│k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│
* ├────┼───┴┬──┴─┬─┴───┴───┴┬──┴─┬─┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
* │k40 │k41 │k42 │k43 │K44 │ K46 │K49 │k4A │ │k4C│k4D│k4E│
* └────┴────┴────┴──────────┴────┴────────┴────┴────┘ └───┴───┴───┘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
*/
#define LAYOUT_split_space_1( \
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, k2D, k1E, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
k40, k41, k42, K43, k44, K46, K49, k4A, k4C, k4D, k4E \
) { \
{ 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, k2D, k1E, XXX, }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \
{ k40, k41, k42, K43, k44, XXX, K46, XXX, XXX, XXX, k4A, XXX, k4C, k4D, k4E, XXX }, \
}
/*LAYOUT_split_space_2
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │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│ K2D │k1E│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ ├───┤
* │ k20 │k21│k22│k23│k24│k25│k26│k27│k28│k29│k2A│k2B│k1D│ │k2E│
* ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤
* │k30 │k31│k32│k33│k34│k35│k36│k37│k38│k39│k3A│k3B│ k3C │k3D│k3E│
* ├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
* │k40 │k41 │k42 │k43 │K44 │ K46 │K49 │k4A │ │k4C│k4D│k4E│
* └────┴────┴────┴────────┴────┴──────────┴────┴────┘ └───┴───┴───┘
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
*/
#define LAYOUT_split_space_2( \
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, k2D, k1E, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k1D, k2E, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, \
k40, k41, k42, K43, k44, K46, K49, k4A, k4C, k4D, k4E \
) { \
{ 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, k2D, k1E, XXX, }, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, XXX, k2D, k2E, XXX }, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, XXX }, \
{ k40, k41, k42, K43, k44, XXX, K46, XXX, XXX, XXX, k4A, XXX, k4C, k4D, k4E, XXX }, \
}

View File

@@ -1,469 +0,0 @@
{
"keyboard_name": "ginkgo65",
"url": "",
"maintainer": "mokey",
"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":"k04", "x":4, "y":0},
{"label":"k05", "x":5, "y":0},
{"label":"k06", "x":6, "y":0},
{"label":"k07", "x":7, "y":0},
{"label":"k08", "x":8, "y":0},
{"label":"k09", "x":9, "y":0},
{"label":"k0a", "x":10, "y":0},
{"label":"k0b", "x":11, "y":0},
{"label":"k0c", "x":12, "y":0},
{"label":"k0e", "x":13, "y":0, "w":2},
{"label":"k0f", "x":15, "y":0},
{"label":"k10", "x":0, "y":1, "w":1.5},
{"label":"k11", "x":1.5, "y":1},
{"label":"k12", "x":2.5, "y":1},
{"label":"k13", "x":3.5, "y":1},
{"label":"k14", "x":4.5, "y":1},
{"label":"k15", "x":5.5, "y":1},
{"label":"k16", "x":6.5, "y":1},
{"label":"k17", "x":7.5, "y":1},
{"label":"k18", "x":8.5, "y":1},
{"label":"k19", "x":9.5, "y":1},
{"label":"k1a", "x":10.5, "y":1},
{"label":"k1b", "x":11.5, "y":1},
{"label":"k1c", "x":12.5, "y":1},
{"label":"k1d", "x":13.5, "y":1, "w":1.5},
{"label":"k1e", "x":15, "y":1,},
{"label":"k20", "x":0, "y":2, "w":1.75},
{"label":"k21", "x":1.75, "y":2},
{"label":"k22", "x":2.75, "y":2},
{"label":"k23", "x":3.75, "y":2},
{"label":"k24", "x":4.75, "y":2},
{"label":"k25", "x":5.75, "y":2},
{"label":"k26", "x":6.75, "y":2},
{"label":"k27", "x":7.75, "y":2},
{"label":"k28", "x":8.75, "y":2},
{"label":"k29", "x":9.75, "y":2},
{"label":"k2a", "x":10.75, "y":2},
{"label":"k2b", "x":11.75, "y":2},
{"label":"k2d", "x":12.75, "y":2, "w":2.25},
{"label":"k2e", "x":15, "y":2},
{"label":"k30", "x":0, "y":3, "w":2.25},
{"label":"k32", "x":2.25, "y":3},
{"label":"k33", "x":3.25, "y":3},
{"label":"k34", "x":4.25, "y":3},
{"label":"k35", "x":5.25, "y":3},
{"label":"k36", "x":6.25, "y":3},
{"label":"k37", "x":7.25, "y":3},
{"label":"k38", "x":8.25, "y":3},
{"label":"k39", "x":9.25, "y":3},
{"label":"k3a", "x":10.25, "y":3},
{"label":"k3b", "x":11.25, "y":3},
{"label":"k3c", "x":12.25, "y":3, "w":1.75},
{"label":"k3d", "x":14, "y":3},
{"label":"k3e", "x":15, "y":3},
{"label":"k40", "x":0, "y":4, "w":1.25},
{"label":"k41", "x":1.25, "y":4, "w":1.25},
{"label":"k42", "x":2.5, "y":4, "w":1.25},
{"label":"k44", "x":3.75, "y":4, "w":6.25},
{"label":"k49", "x":10, "y":4, "w":1.25},
{"label":"k4a", "x":11.25, "y":4, "w":1.25},
{"label":"k4c", "x":13, "y":4},
{"label":"k4d", "x":14, "y":4},
{"label":"k4e", "x":15, "y":4}
]
},
"LAYOUT_iso":{
"layout": [
{"label":"k00", "x":0, "y":0},
{"label":"k01", "x":1, "y":0},
{"label":"k02", "x":2, "y":0},
{"label":"k03", "x":3, "y":0},
{"label":"k04", "x":4, "y":0},
{"label":"k05", "x":5, "y":0},
{"label":"k06", "x":6, "y":0},
{"label":"k07", "x":7, "y":0},
{"label":"k08", "x":8, "y":0},
{"label":"k09", "x":9, "y":0},
{"label":"k0a", "x":10, "y":0},
{"label":"k0b", "x":11, "y":0},
{"label":"k0c", "x":12, "y":0},
{"label":"k0d", "x":13, "y":0},
{"label":"k0e", "x":14, "y":0},
{"label":"k0f", "x":15, "y":0},
{"label":"k10", "x":0, "y":1, "w":1.5},
{"label":"k11", "x":1.5, "y":1},
{"label":"k12", "x":2.5, "y":1},
{"label":"k13", "x":3.5, "y":1},
{"label":"k14", "x":4.5, "y":1},
{"label":"k15", "x":5.5, "y":1},
{"label":"k16", "x":6.5, "y":1},
{"label":"k17", "x":7.5, "y":1},
{"label":"k18", "x":8.5, "y":1},
{"label":"k19", "x":9.5, "y":1},
{"label":"k1a", "x":10.5, "y":1},
{"label":"k1b", "x":11.5, "y":1},
{"label":"k1c", "x":12.5, "y":1},
{"label":"k2d", "x":13.75, "y":1, "w":1.25},
{"label":"k1e", "x":15, "y":1,},
{"label":"k20", "x":0, "y":2, "w":1.75},
{"label":"k21", "x":1.75, "y":2},
{"label":"k22", "x":2.75, "y":2},
{"label":"k23", "x":3.75, "y":2},
{"label":"k24", "x":4.75, "y":2},
{"label":"k25", "x":5.75, "y":2},
{"label":"k26", "x":6.75, "y":2},
{"label":"k27", "x":7.75, "y":2},
{"label":"k28", "x":8.75, "y":2},
{"label":"k29", "x":9.75, "y":2},
{"label":"k2a", "x":10.75, "y":2},
{"label":"k2b", "x":11.75, "y":2},
{"label":"k1d", "x":12.75, "y":2},
{"label":"k2e", "x":15, "y":2},
{"label":"k30", "x":0, "y":3, "w":2.25},
{"label":"k32", "x":2.25, "y":3},
{"label":"k33", "x":3.25, "y":3},
{"label":"k34", "x":4.25, "y":3},
{"label":"k35", "x":5.25, "y":3},
{"label":"k36", "x":6.25, "y":3},
{"label":"k37", "x":7.25, "y":3},
{"label":"k38", "x":8.25, "y":3},
{"label":"k39", "x":9.25, "y":3},
{"label":"k3a", "x":10.25, "y":3},
{"label":"k3b", "x":11.25, "y":3},
{"label":"k3c", "x":12.25, "y":3, "w":1.75},
{"label":"k3d", "x":14, "y":3},
{"label":"k3e", "x":15, "y":3},
{"label":"k40", "x":0, "y":4, "w":1.25},
{"label":"k41", "x":1.25, "y":4, "w":1.25},
{"label":"k42", "x":2.5, "y":4, "w":1.25},
{"label":"k44", "x":3.75, "y":4, "w":6.25},
{"label":"k49", "x":10, "y":4, "w":1.25},
{"label":"k4a", "x":11.25, "y":4, "w":1.25},
{"label":"k4c", "x":13, "y":4},
{"label":"k4d", "x":14, "y":4},
{"label":"k4e", "x":15, "y":4}
]
},
"LAYOUT_split_left_shift":{
"layout": [
{"label":"k00", "x":0, "y":0},
{"label":"k01", "x":1, "y":0},
{"label":"k02", "x":2, "y":0},
{"label":"k03", "x":3, "y":0},
{"label":"k04", "x":4, "y":0},
{"label":"k05", "x":5, "y":0},
{"label":"k06", "x":6, "y":0},
{"label":"k07", "x":7, "y":0},
{"label":"k08", "x":8, "y":0},
{"label":"k09", "x":9, "y":0},
{"label":"k0a", "x":10, "y":0},
{"label":"k0b", "x":11, "y":0},
{"label":"k0c", "x":12, "y":0},
{"label":"k0d", "x":13, "y":0},
{"label":"k0e", "x":14, "y":0},
{"label":"k0f", "x":15, "y":0},
{"label":"k10", "x":0, "y":1, "w":1.5},
{"label":"k11", "x":1.5, "y":1},
{"label":"k12", "x":2.5, "y":1},
{"label":"k13", "x":3.5, "y":1},
{"label":"k14", "x":4.5, "y":1},
{"label":"k15", "x":5.5, "y":1},
{"label":"k16", "x":6.5, "y":1},
{"label":"k17", "x":7.5, "y":1},
{"label":"k18", "x":8.5, "y":1},
{"label":"k19", "x":9.5, "y":1},
{"label":"k1a", "x":10.5, "y":1},
{"label":"k1b", "x":11.5, "y":1},
{"label":"k1c", "x":12.5, "y":1},
{"label":"k2d", "x":13.75, "y":1, "w":1.25},
{"label":"k1e", "x":15, "y":1,},
{"label":"k20", "x":0, "y":2, "w":1.75},
{"label":"k21", "x":1.75, "y":2},
{"label":"k22", "x":2.75, "y":2},
{"label":"k23", "x":3.75, "y":2},
{"label":"k24", "x":4.75, "y":2},
{"label":"k25", "x":5.75, "y":2},
{"label":"k26", "x":6.75, "y":2},
{"label":"k27", "x":7.75, "y":2},
{"label":"k28", "x":8.75, "y":2},
{"label":"k29", "x":9.75, "y":2},
{"label":"k2a", "x":10.75, "y":2},
{"label":"k2b", "x":11.75, "y":2},
{"label":"k1d", "x":12.75, "y":2},
{"label":"k2e", "x":15, "y":2},
{"label":"k30", "x":0, "y":3, "w":1.25},
{"label":"k31", "x":1.25, "y":3},
{"label":"k32", "x":2.25, "y":3},
{"label":"k33", "x":3.25, "y":3},
{"label":"k34", "x":4.25, "y":3},
{"label":"k35", "x":5.25, "y":3},
{"label":"k36", "x":6.25, "y":3},
{"label":"k37", "x":7.25, "y":3},
{"label":"k38", "x":8.25, "y":3},
{"label":"k39", "x":9.25, "y":3},
{"label":"k3a", "x":10.25, "y":3},
{"label":"k3b", "x":11.25, "y":3},
{"label":"k3c", "x":12.25, "y":3, "w":1.75},
{"label":"k3d", "x":14, "y":3},
{"label":"k3e", "x":15, "y":3},
{"label":"k40", "x":0, "y":4, "w":1.25},
{"label":"k41", "x":1.25, "y":4, "w":1.25},
{"label":"k42", "x":2.5, "y":4, "w":1.25},
{"label":"k44", "x":3.75, "y":4, "w":6.25},
{"label":"k49", "x":10, "y":4, "w":1.25},
{"label":"k4a", "x":11.25, "y":4, "w":1.25},
{"label":"k4c", "x":13, "y":4},
{"label":"k4d", "x":14, "y":4},
{"label":"k4e", "x":15, "y":4}
]
},
"LAYOUT_7u_space":{
"layout": [
{"label":"k00", "x":0, "y":0},
{"label":"k01", "x":1, "y":0},
{"label":"k02", "x":2, "y":0},
{"label":"k03", "x":3, "y":0},
{"label":"k04", "x":4, "y":0},
{"label":"k05", "x":5, "y":0},
{"label":"k06", "x":6, "y":0},
{"label":"k07", "x":7, "y":0},
{"label":"k08", "x":8, "y":0},
{"label":"k09", "x":9, "y":0},
{"label":"k0a", "x":10, "y":0},
{"label":"k0b", "x":11, "y":0},
{"label":"k0c", "x":12, "y":0},
{"label":"k0d", "x":13, "y":0},
{"label":"k0e", "x":14, "y":0},
{"label":"k0f", "x":15, "y":0},
{"label":"k10", "x":0, "y":1, "w":1.5},
{"label":"k11", "x":1.5, "y":1},
{"label":"k12", "x":2.5, "y":1},
{"label":"k13", "x":3.5, "y":1},
{"label":"k14", "x":4.5, "y":1},
{"label":"k15", "x":5.5, "y":1},
{"label":"k16", "x":6.5, "y":1},
{"label":"k17", "x":7.5, "y":1},
{"label":"k18", "x":8.5, "y":1},
{"label":"k19", "x":9.5, "y":1},
{"label":"k1a", "x":10.5, "y":1},
{"label":"k1b", "x":11.5, "y":1},
{"label":"k1c", "x":12.5, "y":1},
{"label":"k2d", "x":13.75, "y":1, "w":1.25},
{"label":"k1e", "x":15, "y":1,},
{"label":"k20", "x":0, "y":2, "w":1.75},
{"label":"k21", "x":1.75, "y":2},
{"label":"k22", "x":2.75, "y":2},
{"label":"k23", "x":3.75, "y":2},
{"label":"k24", "x":4.75, "y":2},
{"label":"k25", "x":5.75, "y":2},
{"label":"k26", "x":6.75, "y":2},
{"label":"k27", "x":7.75, "y":2},
{"label":"k28", "x":8.75, "y":2},
{"label":"k29", "x":9.75, "y":2},
{"label":"k2a", "x":10.75, "y":2},
{"label":"k2b", "x":11.75, "y":2},
{"label":"k1d", "x":12.75, "y":2},
{"label":"k2e", "x":15, "y":2},
{"label":"k30", "x":0, "y":3, "w":1.25},
{"label":"k31", "x":1.25, "y":3},
{"label":"k32", "x":2.25, "y":3},
{"label":"k33", "x":3.25, "y":3},
{"label":"k34", "x":4.25, "y":3},
{"label":"k35", "x":5.25, "y":3},
{"label":"k36", "x":6.25, "y":3},
{"label":"k37", "x":7.25, "y":3},
{"label":"k38", "x":8.25, "y":3},
{"label":"k39", "x":9.25, "y":3},
{"label":"k3a", "x":10.25, "y":3},
{"label":"k3b", "x":11.25, "y":3},
{"label":"k3c", "x":12.25, "y":3, "w":1.75},
{"label":"k3d", "x":14, "y":3},
{"label":"k3e", "x":15, "y":3},
{"label":"k40", "x":0, "y":4, "w":1.5},
{"label":"k41", "x":1.5, "y":4,},
{"label":"k42", "x":2.5, "y":4, "w":1.5},
{"label":"k44", "x":4, "y":4, "w":7},
{"label":"k49", "x":11, "y":4, "w":1.5},
{"label":"k4c", "x":13, "y":4},
{"label":"k4d", "x":14, "y":4},
{"label":"k4e", "x":15, "y":4}
]
},
"LAYOUT_split_space_1":{
"layout": [
{"label":"k00", "x":0, "y":0},
{"label":"k01", "x":1, "y":0},
{"label":"k02", "x":2, "y":0},
{"label":"k03", "x":3, "y":0},
{"label":"k04", "x":4, "y":0},
{"label":"k05", "x":5, "y":0},
{"label":"k06", "x":6, "y":0},
{"label":"k07", "x":7, "y":0},
{"label":"k08", "x":8, "y":0},
{"label":"k09", "x":9, "y":0},
{"label":"k0a", "x":10, "y":0},
{"label":"k0b", "x":11, "y":0},
{"label":"k0c", "x":12, "y":0},
{"label":"k0d", "x":13, "y":0},
{"label":"k0e", "x":14, "y":0},
{"label":"k0f", "x":15, "y":0},
{"label":"k10", "x":0, "y":1, "w":1.5},
{"label":"k11", "x":1.5, "y":1},
{"label":"k12", "x":2.5, "y":1},
{"label":"k13", "x":3.5, "y":1},
{"label":"k14", "x":4.5, "y":1},
{"label":"k15", "x":5.5, "y":1},
{"label":"k16", "x":6.5, "y":1},
{"label":"k17", "x":7.5, "y":1},
{"label":"k18", "x":8.5, "y":1},
{"label":"k19", "x":9.5, "y":1},
{"label":"k1a", "x":10.5, "y":1},
{"label":"k1b", "x":11.5, "y":1},
{"label":"k1c", "x":12.5, "y":1},
{"label":"k2d", "x":13.75, "y":1, "w":1.25},
{"label":"k1e", "x":15, "y":1,},
{"label":"k20", "x":0, "y":2, "w":1.75},
{"label":"k21", "x":1.75, "y":2},
{"label":"k22", "x":2.75, "y":2},
{"label":"k23", "x":3.75, "y":2},
{"label":"k24", "x":4.75, "y":2},
{"label":"k25", "x":5.75, "y":2},
{"label":"k26", "x":6.75, "y":2},
{"label":"k27", "x":7.75, "y":2},
{"label":"k28", "x":8.75, "y":2},
{"label":"k29", "x":9.75, "y":2},
{"label":"k2a", "x":10.75, "y":2},
{"label":"k2b", "x":11.75, "y":2},
{"label":"k1d", "x":12.75, "y":2},
{"label":"k2e", "x":15, "y":2},
{"label":"k30", "x":0, "y":3, "w":1.25},
{"label":"k31", "x":1.25, "y":3},
{"label":"k32", "x":2.25, "y":3},
{"label":"k33", "x":3.25, "y":3},
{"label":"k34", "x":4.25, "y":3},
{"label":"k35", "x":5.25, "y":3},
{"label":"k36", "x":6.25, "y":3},
{"label":"k37", "x":7.25, "y":3},
{"label":"k38", "x":8.25, "y":3},
{"label":"k39", "x":9.25, "y":3},
{"label":"k3a", "x":10.25, "y":3},
{"label":"k3b", "x":11.25, "y":3},
{"label":"k3c", "x":12.25, "y":3, "w":1.75},
{"label":"k3d", "x":14, "y":3},
{"label":"k3e", "x":15, "y":3},
{"label":"k40", "x":0, "y":4, "w":1.25},
{"label":"k41", "x":1.25, "y":4, "w":1.25},
{"label":"k42", "x":2.5, "y":4, "w":1.25},
{"label":"k43", "x":3.75, "y":4, "w":2.75},
{"label":"k44", "x":6.5, "y":4, "w":1.25},
{"label":"k46", "x":7.75, "y":4, "w":2.25},
{"label":"k49", "x":10, "y":4, "w":1.25},
{"label":"k4a", "x":11.25, "y":4, "w":1.25},
{"label":"k4c", "x":13, "y":4},
{"label":"k4d", "x":14, "y":4},
{"label":"k4e", "x":15, "y":4}
]
},
"LAYOUT_split_space_2":{
"layout": [
{"label":"k00", "x":0, "y":0},
{"label":"k01", "x":1, "y":0},
{"label":"k02", "x":2, "y":0},
{"label":"k03", "x":3, "y":0},
{"label":"k04", "x":4, "y":0},
{"label":"k05", "x":5, "y":0},
{"label":"k06", "x":6, "y":0},
{"label":"k07", "x":7, "y":0},
{"label":"k08", "x":8, "y":0},
{"label":"k09", "x":9, "y":0},
{"label":"k0a", "x":10, "y":0},
{"label":"k0b", "x":11, "y":0},
{"label":"k0c", "x":12, "y":0},
{"label":"k0d", "x":13, "y":0},
{"label":"k0e", "x":14, "y":0},
{"label":"k0f", "x":15, "y":0},
{"label":"k10", "x":0, "y":1, "w":1.5},
{"label":"k11", "x":1.5, "y":1},
{"label":"k12", "x":2.5, "y":1},
{"label":"k13", "x":3.5, "y":1},
{"label":"k14", "x":4.5, "y":1},
{"label":"k15", "x":5.5, "y":1},
{"label":"k16", "x":6.5, "y":1},
{"label":"k17", "x":7.5, "y":1},
{"label":"k18", "x":8.5, "y":1},
{"label":"k19", "x":9.5, "y":1},
{"label":"k1a", "x":10.5, "y":1},
{"label":"k1b", "x":11.5, "y":1},
{"label":"k1c", "x":12.5, "y":1},
{"label":"k2d", "x":13.75, "y":1, "w":1.25},
{"label":"k1e", "x":15, "y":1,},
{"label":"k20", "x":0, "y":2, "w":1.75},
{"label":"k21", "x":1.75, "y":2},
{"label":"k22", "x":2.75, "y":2},
{"label":"k23", "x":3.75, "y":2},
{"label":"k24", "x":4.75, "y":2},
{"label":"k25", "x":5.75, "y":2},
{"label":"k26", "x":6.75, "y":2},
{"label":"k27", "x":7.75, "y":2},
{"label":"k28", "x":8.75, "y":2},
{"label":"k29", "x":9.75, "y":2},
{"label":"k2a", "x":10.75, "y":2},
{"label":"k2b", "x":11.75, "y":2},
{"label":"k1d", "x":12.75, "y":2},
{"label":"k2e", "x":15, "y":2},
{"label":"k30", "x":0, "y":3, "w":1.25},
{"label":"k31", "x":1.25, "y":3},
{"label":"k32", "x":2.25, "y":3},
{"label":"k33", "x":3.25, "y":3},
{"label":"k34", "x":4.25, "y":3},
{"label":"k35", "x":5.25, "y":3},
{"label":"k36", "x":6.25, "y":3},
{"label":"k37", "x":7.25, "y":3},
{"label":"k38", "x":8.25, "y":3},
{"label":"k39", "x":9.25, "y":3},
{"label":"k3a", "x":10.25, "y":3},
{"label":"k3b", "x":11.25, "y":3},
{"label":"k3c", "x":12.25, "y":3, "w":1.75},
{"label":"k3d", "x":14, "y":3},
{"label":"k3e", "x":15, "y":3},
{"label":"k40", "x":0, "y":4, "w":1.25},
{"label":"k41", "x":1.25, "y":4, "w":1.25},
{"label":"k42", "x":2.5, "y":4, "w":1.25},
{"label":"k43", "x":3.75, "y":4, "w":2.25},
{"label":"k44", "x":6, "y":4, "w":1.25},
{"label":"k46", "x":7.25, "y":4, "w":2.75},
{"label":"k49", "x":10, "y":4, "w":1.25},
{"label":"k4a", "x":11.25, "y":4, "w":1.25},
{"label":"k4c", "x":13, "y":4},
{"label":"k4d", "x":14, "y":4},
{"label":"k4e", "x":15, "y":4}
]
}
}
}

View File

@@ -1,43 +0,0 @@
/* 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] = {
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
* │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bspace │Ins│
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
* │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │Del│
* ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
* │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgU│
* ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
* │ LShift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │RShift│ ↑ │PgD│
* ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬─┬───┼───┼───┤
* │LCtl│LGui│LAlt│ Space │RAlt│ Fn │ │ ← │ ↓ │ → │
* └────┴────┴────┴────────────────────────┴────┴────┘ └───┴───┴───┘
*/
LAYOUT(
/* 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */
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_INS,
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_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_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
};

View File

@@ -1,50 +0,0 @@
/* 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(
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_INS,
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_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_RSFT, KC_UP, KC_PGDN,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT(
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, _______, _______,
BL_TOGG, BL_STEP, BL_DEC, BL_INC, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
[2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
[3] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
};

View File

@@ -1,2 +0,0 @@
VIA_ENABLE = yes
LTO_ENABLE = yes

View File

@@ -1,21 +0,0 @@
# Ginkgo65 Multi PCB
![Ginkgo65](https://raw.githubusercontent.com/rhmokey/123.github.io/main/2021/08/15/hello-world/ginkgo65.png)
Support Atmega32u4 keyboard,With a variety of configurations
* Keyboard Maintainer: [mokey](https://github.com/rhmokey)
* Hardware Supported: Atmega32u4
## Bootloader
* **Physical reset button**: Short press the button on the back of the PCB to enter the Bootloader and flash the firmware
Make example for this keyboard (after setting up your build environment):
make mokey/ginkgo65:default
Flashing example for this keyboard:
make mokey/ginkgo65: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).

View File

@@ -1,21 +0,0 @@
# 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 = no # 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 = yes # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
AUDIO_ENABLE = no # Audio output

View File

@@ -105,7 +105,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MAKE, _________________FUNC_LEFT_________________, UC_MOD, KC_NUKE, _________________ADJUST_R1_________________, KC_RST,
VRSN, _________________ADJUST_L1_________________, _______, _______, _________________ADJUST_R1_________________, EEP_RST,
_______, _________________ADJUST_L2_________________, _______, _______, _________________ADJUST_R2_________________, RGB_IDL,
KEYLOCK, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
_______, _________________ADJUST_L3_________________, _________________ADJUST_R3_________________, TG_MODS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PAUS,
_______, _______, _______, _______, _______, _______
),

View File

@@ -1,6 +1,6 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -1,5 +1,5 @@
// Copyright 2019 Manna Harbour
// https://github.com/manna-harbour/miryoku
// generated -*- buffer-read-only: t -*-
// generated from users/manna-harbour_miryoku/miryoku.org -*- buffer-read-only: t -*-
// 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/>.

View File

@@ -2,7 +2,7 @@
# Ploopy Trackball Nano
![Ploopyco Trackball Nano](https://ploopy.co/wp-content/uploads/2021/06/2.jpg)
![Ploopyco Trackball Nano](https://www.ploopy.co/uploads/b/113cb4122f867acc306a72a2741c5237a9b1d0db13abfe4e8e394cd466c4a311/_MG_7710_1614037372.jpg)
It's a DIY, QMK Powered Trackball...Nano!
@@ -28,7 +28,7 @@ Occasionally, new revisions of the PCB will be released. Every board comes with
Match the firmware that you flash onto the board with the designator on the board.
# Customizing your Ploopy Nano Trackball
# Customzing your Ploopy Nano Trackball
You can change the DPI/CPI or speed of the trackball by calling `adns_set_cpi` at any time. Additionally, there is a `DPI_CONFIG` macro that will cycle through an array of options for the DPI. This is set to 375, 750, and 1375, but can be changed. 750 is the default.
@@ -51,4 +51,4 @@ When flashing the bootloader, use the following fuse settings:
|----------|-------------|
| Low | `0x5E` |
| High | `0x99` |
| Extended | `0xC3` |
| Extended | `0xC3` |

View File

@@ -1,90 +0,0 @@
/*
Copyright 2021 floookay
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 0xF100
#define PRODUCT_ID 0x91CE
#define DEVICE_VER 0x0001
#define MANUFACTURER floookay
#define PRODUCT pluckey
/* key matrix size */
// Rows are doubled-up
#define MATRIX_ROWS 10
#define MATRIX_COLS 7
/*
* Keyboard Matrix Assignments
*
* 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 { B4, F5, F6, B6, B5 }
#define MATRIX_COL_PINS { D1, D0, D4, C6, D7, E6, F7 }
#define UNUSED_PINS { F4, B1 }
#define DIODE_DIRECTION COL2ROW
/* encoder support */
#define ENCODERS_PAD_A { B3 }
#define ENCODERS_PAD_B { B2 }
#define ENCODER_RESOLUTION 2
#define ENCODERS_PAD_A_RIGHT { B2 }
#define ENCODERS_PAD_B_RIGHT { B3 }
#define ENCODER_RESOLUTION_RIGHT 2
/* communication between sides */
#define USE_SERIAL
#define SOFT_SERIAL_PIN D2
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5
/* 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
/*
* 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

View File

@@ -1,149 +0,0 @@
{
"keyboard_name": "pluckey",
"url": "https://github.com/floookay/pluckey",
"maintainer": "floookay",
"layouts": {
"LAYOUT": {
"layout": [
{"x":3.5, "y":0},
{"x":15, "y":0},
{"x":2.5, "y":0.125},
{"x":4.5, "y":0.125},
{"x":14, "y":0.125},
{"x":16, "y":0.125},
{"x":5.5, "y":0.25},
{"x":6.5, "y":0.25},
{"x":12, "y":0.25},
{"x":13, "y":0.25},
{"x":0, "y":0.625, "w":1.5},
{"x":1.5, "y":0.625},
{"x":17, "y":0.625},
{"x":18, "y":0.625, "w":1.5},
{"x":3.5, "y":1.0},
{"x":15, "y":1.0},
{"x":2.5, "y":1.125},
{"x":4.5, "y":1.125},
{"x":14, "y":1.125},
{"x":16, "y":1.125},
{"x":5.5, "y":1.25},
{"x":6.5, "y":1.25},
{"x":12, "y":1.25},
{"x":13, "y":1.25},
{"x":0, "y":1.625, "w":1.5},
{"x":1.5, "y":1.625},
{"x":17, "y":1.625},
{"x":18, "y":1.625, "w":1.5},
{"x":3.5, "y":2},
{"x":15, "y":2},
{"x":2.5, "y":2.125},
{"x":4.5, "y":2.125},
{"x":14, "y":2.125},
{"x":16, "y":2.125},
{"x":5.5, "y":2.25},
{"x":6.5, "y":2.25},
{"x":12, "y":2.25},
{"x":13, "y":2.25},
{"x":0, "y":2.625, "w":1.5},
{"x":1.5, "y":2.625},
{"x":17, "y":2.625},
{"x":18, "y":2.625, "w":1.5},
{"x":6.5, "y":3.25},
{"x":12, "y":3.25},
{"x":3.5, "y":3},
{"x":15, "y":3},
{"x":2.5, "y":3.125},
{"x":4.5, "y":3.125},
{"x":14, "y":3.125},
{"x":16, "y":3.125},
{"x":5.5, "y":3.25},
{"x":13, "y":3.25},
{"x":0, "y":3.625, "w":1.5},
{"x":1.5, "y":3.625},
{"x":17, "y":3.625},
{"x":18, "y":3.625, "w":1.5},
{"x":7.5, "y":3.75},
{"x":11, "y":3.75},
{"x":3.5, "y":4},
{"x":15, "y":4},
{"x":2.5, "y":4.125},
{"x":4.5, "y":4.125},
{"x":14, "y":4.125},
{"x":16, "y":4.125},
{"x":5.75, "y":4.5, "w":1.5},
{"x":12.25, "y":4.5, "w":1.5},
{"x":7.25, "y":4.75},
{"x":11.25, "y":4.75}
]
},
"LAYOUT_ergo": {
"layout": [
{"x":3.5, "y":0},
{"x":15, "y":0},
{"x":2.5, "y":0.125},
{"x":4.5, "y":0.125},
{"x":14, "y":0.125},
{"x":16, "y":0.125},
{"x":5.5, "y":0.25},
{"x":6.5, "y":0.25},
{"x":12, "y":0.25},
{"x":13, "y":0.25},
{"x":0, "y":0.625, "w":1.5},
{"x":1.5, "y":0.625},
{"x":17, "y":0.625},
{"x":18, "y":0.625, "w":1.5},
{"x":3.5, "y":1.0},
{"x":15, "y":1.0},
{"x":2.5, "y":1.125},
{"x":4.5, "y":1.125},
{"x":14, "y":1.125},
{"x":16, "y":1.125},
{"x":5.5, "y":1.25},
{"x":6.5, "y":1.25, "h":1.5},
{"x":12, "y":1.25, "h":1.5},
{"x":13, "y":1.25},
{"x":0, "y":1.625, "w":1.5},
{"x":1.5, "y":1.625},
{"x":17, "y":1.625},
{"x":18, "y":1.625, "w":1.5},
{"x":3.5, "y":2},
{"x":15, "y":2},
{"x":2.5, "y":2.125},
{"x":4.5, "y":2.125},
{"x":14, "y":2.125},
{"x":16, "y":2.125},
{"x":5.5, "y":2.25},
{"x":13, "y":2.25},
{"x":0, "y":2.625, "w":1.5},
{"x":1.5, "y":2.625},
{"x":17, "y":2.625},
{"x":18, "y":2.625, "w":1.5},
{"x":6.5, "y":2.75, "h":1.5},
{"x":12, "y":2.75, "h":1.5},
{"x":3.5, "y":3},
{"x":15, "y":3},
{"x":2.5, "y":3.125},
{"x":4.5, "y":3.125},
{"x":14, "y":3.125},
{"x":16, "y":3.125},
{"x":5.5, "y":3.25},
{"x":13, "y":3.25},
{"x":0, "y":3.625, "w":1.5},
{"x":1.5, "y":3.625},
{"x":17, "y":3.625},
{"x":18, "y":3.625, "w":1.5},
{"x":7.5, "y":3.75},
{"x":11, "y":3.75},
{"x":3.5, "y":4},
{"x":15, "y":4},
{"x":2.5, "y":4.125},
{"x":4.5, "y":4.125},
{"x":14, "y":4.125},
{"x":16, "y":4.125},
{"x":5.75, "y":4.5, "w":1.5},
{"x":12.25, "y":4.5, "w":1.5},
{"x":7.25, "y":4.75},
{"x":11.25, "y":4.75}
]
}
}
}

View File

@@ -1,77 +0,0 @@
/* Copyright 2021 floookay
*
* 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,
_LOWER,
_RAISE,
_ADJUST
};
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
M_ARROW
};
#define MO_LOW MO(_LOWER)
#define MO_RAIS MO(_RAISE)
#define MO_ADJU MO(_ADJUST)
#define MO_CURR _______
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_HOME, KC_END, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LGUI, KC_LALT, MO_LOW, KC_SPC, KC_BSPC, KC_ENT, KC_SPC, MO_RAIS, KC_RALT, KC_MEH
),
[_LOWER] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR,
_______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_LPRN, KC_RPRN, KC_PLUS, KC_PIPE, _______, _______, _______, _______,
_______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LPRN, KC_RPRN, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
_______, _______, _______, _______, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______,
_______, _______, MO_CURR, _______, KC_DEL, _______, _______, MO_ADJU, _______, _______
),
[_RAISE] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______,
_______, _______, _______, KC_VOLU, _______, _______, KC_LPRN, KC_RPRN, _______, KC_BTN4, KC_UP, KC_BTN5, _______, _______,
_______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_LPRN, KC_RPRN, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______,
_______, _______, _______, KC_VOLD, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, KC_PGDN, _______, _______, _______,
_______, _______, MO_ADJU, _______, KC_DEL, _______, _______, MO_CURR, _______, _______
),
[_ADJUST] = LAYOUT(
KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, KC_CLR, _______, _______, _______, _______, _______
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case M_ARROW:
if (record->event.pressed) {
SEND_STRING("->");
}
break;
}
return true;
}

View File

@@ -1,4 +0,0 @@
# Default keymap
![keymap](https://gist.githubusercontent.com/floookay/ea7313862e407c9b5aaea3d6ed3ce233/raw/0a37fe682f76bbaa55cbc56527e4666bedbf5761/layout.png)
[Keyboard-Layout-Editor](http://www.keyboard-layout-editor.com/#/gists/13c9d00bd0c0c9e3fe3b3d8d98672ef9) [(raw)](https://gist.github.com/floookay/13c9d00bd0c0c9e3fe3b3d8d98672ef9)

View File

@@ -1,38 +0,0 @@
/* Copyright 2021 floookay
*
* 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 "pluckey.h"
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) { return false; }
if (index == 0) {
if (clockwise) {
tap_code_delay(KC_VOLU, 10);
} else {
tap_code_delay(KC_VOLD, 10);
}
}
else if (index == 1) {
if (clockwise) {
tap_code(KC_WH_U);
} else {
tap_code(KC_WH_D);
}
}
return true;
}
#endif

View File

@@ -1,46 +0,0 @@
/* Copyright 2021 floookay
*
* 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( \
l00, l01, l02, l03, l04, l05, l06, r00, r01, r02, r03, r04, r05, r06, \
l10, l11, l12, l13, l14, l15, l16, r10, r11, r12, r13, r14, r15, r16, \
l20, l21, l22, l23, l24, l25, l26, r20, r21, r22, r23, r24, r25, r26, \
l30, l31, l32, l33, l34, l35, l36, l41, r45, r30, r31, r32, r33, r34, r35, r36, \
l42, l43, l44, l45, l46, r40, r41, r42, r43, r44 \
){ \
{ l00, l01, l02, l03, l04, l05, l06 }, \
{ l10, l11, l12, l13, l14, l15, l16 }, \
{ l20, l21, l22, l23, l24, l25, l26 }, \
{ l30, l31, l32, l33, l34, l35, l36 }, \
{ KC_NO, l41, l42, l43, l44, l45, l46 }, \
{ r06, r05, r04, r03, r02, r01, r00 }, \
{ r16, r15, r14, r13, r12, r11, r10 }, \
{ r26, r25, r24, r23, r22, r21, r20 }, \
{ r36, r35, r34, r33, r32, r31, r30 }, \
{ KC_NO, r45, r44, r43, r42, r41, r40 } \
}

View File

@@ -1,19 +0,0 @@
# Pluckey
![pluckey](https://gist.githubusercontent.com/floookay/ea7313862e407c9b5aaea3d6ed3ce233/raw/1757078b1adf7ac4d51d74f445107bdb46e013a3/sandwich%2520angle.jpg)
The pluckey is an ergodox like split keyboard with moderate columnal stagger and a horizontal space key.
* Keyboard Maintainer: [floookay](https://github.com/floookay)
* Hardware Supported: pluckey pcbs with pro micro controllers
* Hardware Availability: [pcb &amp; case files](https://github.com/floookay/pluckey)
Make example for this keyboard (after setting up your build environment):
make pluckey:default
Flashing example for this keyboard:
make pluckey: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).

View File

@@ -1,23 +0,0 @@
# 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
# 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
AUDIO_ENABLE = no # Audio output
ENCODER_ENABLE = yes
SPLIT_KEYBOARD = yes

View File

@@ -1,219 +1,10 @@
{
"keyboard_name": "PLX",
"url": "https://peac.design/",
"maintainer": "2Moons-JP",
"layout_aliases": {
"LAYOUT": "LAYOUT_60_ansi_tsangan"
},
"keyboard_name": "PLX",
"url": "https://peac.design/",
"maintainer": "2Moons",
"layouts": {
"LAYOUT_60_ansi_tsangan": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2@", "x":2, "y":0},
{"label":"3#", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0, "w":2},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "y":1, "w":1.5},
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"Enter", "x":12.75, "y":2, "w":2.25},
{"label":"Shift", "x":0, "y":3, "w":2.25},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":2.75},
{"label":"Ctrl", "x":0, "y":4, "w":1.5},
{"label":"Win", "x":1.5, "y":4},
{"label":"Alt", "x":2.5, "y":4, "w":1.5},
{"label":"Space", "x":4, "y":4, "w":7},
{"label":"Alt", "x":11, "y":4, "w":1.5},
{"label":"Win", "x":12.5, "y":4},
{"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
]
},
"LAYOUT_60_iso_tsangan": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2\"", "x":2, "y":0},
{"label":"3\u00a3", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0, "w":2},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'@", "x":11.75, "y":2},
{"label":"#~", "x":12.75, "y":2},
{"label":"Enter", "x":13.75, "y":1, "w":1.25, "h":2},
{"label":"Shift", "x":0, "y":3, "w":1.25},
{"label":"\\|", "x":1.25, "y":3},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":2.75},
{"label":"Ctrl", "x":0, "y":4, "w":1.5},
{"label":"Win", "x":1.5, "y":4},
{"label":"Alt", "x":2.5, "y":4, "w":1.5},
{"label":"Space", "x":4, "y":4, "w":7},
{"label":"Alt", "x":11, "y":4, "w":1.5},
{"label":"Win", "x":12.5, "y":4},
{"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
]
},
"LAYOUT_all": {
"layout": [
{"label":"Esc", "x":0, "y":0},
{"label":"1!", "x":1, "y":0},
{"label":"2@", "x":2, "y":0},
{"label":"3#", "x":3, "y":0},
{"label":"4$", "x":4, "y":0},
{"label":"5%", "x":5, "y":0},
{"label":"6^", "x":6, "y":0},
{"label":"7&", "x":7, "y":0},
{"label":"8*", "x":8, "y":0},
{"label":"9(", "x":9, "y":0},
{"label":"0)", "x":10, "y":0},
{"label":"-_", "x":11, "y":0},
{"label":"=+", "x":12, "y":0},
{"label":"Backspace", "x":13, "y":0},
{"label":"Backspace", "x":14, "y":0},
{"label":"Tab", "x":0, "y":1, "w":1.5},
{"label":"Q", "x":1.5, "y":1},
{"label":"W", "x":2.5, "y":1},
{"label":"E", "x":3.5, "y":1},
{"label":"R", "x":4.5, "y":1},
{"label":"T", "x":5.5, "y":1},
{"label":"Y", "x":6.5, "y":1},
{"label":"U", "x":7.5, "y":1},
{"label":"I", "x":8.5, "y":1},
{"label":"O", "x":9.5, "y":1},
{"label":"P", "x":10.5, "y":1},
{"label":"[{", "x":11.5, "y":1},
{"label":"]}", "x":12.5, "y":1},
{"label":"\\|", "x":13.5, "y":1, "w":1.5},
{"label":"Caps Lock", "x":0, "y":2, "w":1.75},
{"label":"A", "x":1.75, "y":2},
{"label":"S", "x":2.75, "y":2},
{"label":"D", "x":3.75, "y":2},
{"label":"F", "x":4.75, "y":2},
{"label":"G", "x":5.75, "y":2},
{"label":"H", "x":6.75, "y":2},
{"label":"J", "x":7.75, "y":2},
{"label":"K", "x":8.75, "y":2},
{"label":"L", "x":9.75, "y":2},
{"label":";:", "x":10.75, "y":2},
{"label":"'\"", "x":11.75, "y":2},
{"label":"#~", "x":12.75, "y":2},
{"label":"Enter", "x":13.75, "y":2, "w":1.25},
{"label":"Shift", "x":0, "y":3, "w":1.25},
{"label":"\\|", "x":1.25, "y":3},
{"label":"Z", "x":2.25, "y":3},
{"label":"X", "x":3.25, "y":3},
{"label":"C", "x":4.25, "y":3},
{"label":"V", "x":5.25, "y":3},
{"label":"B", "x":6.25, "y":3},
{"label":"N", "x":7.25, "y":3},
{"label":"M", "x":8.25, "y":3},
{"label":",<", "x":9.25, "y":3},
{"label":".>", "x":10.25, "y":3},
{"label":"/?", "x":11.25, "y":3},
{"label":"Shift", "x":12.25, "y":3, "w":1.75},
{"label":"Fn", "x":14, "y":3},
{"label":"Ctrl", "x":0, "y":4, "w":1.5},
{"label":"Win", "x":1.5, "y":4},
{"label":"Alt", "x":2.5, "y":4, "w":1.5},
{"label":"Space", "x":4, "y":4, "w":7},
{"label":"Alt", "x":11, "y":4, "w":1.5},
{"label":"Win", "x":12.5, "y":4},
{"label":"Ctrl", "x":13.5, "y":4, "w":1.5}
]
"LAYOUT": {
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.25}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.25}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}]
}
}
}
}

View File

@@ -20,31 +20,30 @@
enum layer_names {
_BASE,
_FN,
_MEDIA
};
_MEDIA };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_60_ansi_tsangan(
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[_BASE] = LAYOUT(
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_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[_FN] = LAYOUT_60_ansi_tsangan(
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, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
),
[_FN] = LAYOUT(
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, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
),
[_MEDIA] = LAYOUT_60_ansi_tsangan(
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, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
[_MEDIA] = LAYOUT(
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, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -20,31 +20,30 @@
enum layer_names {
_BASE,
_FN,
_MEDIA
};
_MEDIA };
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_all(
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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[_BASE] = LAYOUT(
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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[_FN] = LAYOUT_all(
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, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
),
[_FN] = LAYOUT(
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, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
),
[_MEDIA] = LAYOUT_all(
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, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
[_MEDIA] = LAYOUT(
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, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -20,31 +20,31 @@
enum layer_names {
_BASE,
_FN,
_MEDIA
_MEDIA,
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_all(
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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[_BASE] = LAYOUT_all(
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_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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
[_FN] = LAYOUT_all(
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, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
),
[_FN] = LAYOUT_all(
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, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
),
[_MEDIA] = LAYOUT_all(
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, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
[_MEDIA] = LAYOUT_all(
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, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
};

View File

@@ -17,21 +17,7 @@
#include "quantum.h"
#define XXX KC_NO // readability
/*
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───────┐
* │00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ │0D │ 2u Backspace
* ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ └─┬─────┤
* │10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │
* 2.25u ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐2D │ ISO Enter
* LShift │20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │
* ┌────────┐ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌─┴───┴────┤
* │30 │ │30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3D │ │3C │ 2.75u RShift
* └────────┘ ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┤ └──────────┘
* │40 │41 │42 │46 │4B │4C │4D │
* └─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
*/
#define XXX KC_NO//readabilty
/* This a shortcut to help you visually see your layout.
*
@@ -41,7 +27,7 @@
* The second converts the arguments into a two-dimensional array which
* represents the switch matrix.
*/
#define LAYOUT_60_ansi_tsangan( \
#define LAYOUT( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2D, \
@@ -56,21 +42,6 @@
{ k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D} \
}
#define LAYOUT_60_iso_tsangan( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, \
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, \
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, \
k40, k41, k42, k46, k4B, k4C, k4D \
) \
{ \
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, XXX}, \
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, XXX}, \
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D}, \
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, XXX}, \
{ k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D} \
}
#define LAYOUT_all( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \

View File

@@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite
MOUSEKEY_ENABLE = no # Mouse keys
EXTRAKEY_ENABLE = no # Audio control and System control
CONSOLE_ENABLE = no # Console for debug

View File

@@ -24,15 +24,13 @@
#include "debug.h"
#include "matrix.h"
typedef uint16_t matrix_col_t;
/*
* col: { B11, B10, B2, B1, A7, B0 }
* row: { A10, A9, A8, B15, C13, C14, C15, A2 }
*/
/* matrix state(1:on, 0:off) */
static matrix_row_t matrix[MATRIX_ROWS];
static matrix_col_t matrix_debouncing[MATRIX_COLS];
static matrix_row_t matrix_debouncing[MATRIX_COLS];
static bool debouncing = false;
static uint16_t debouncing_time = 0;
@@ -68,7 +66,7 @@ void matrix_init(void) {
palSetPadMode(GPIOA, 6, PAL_MODE_INPUT_PULLDOWN);
memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t));
memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_col_t));
memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_row_t));
matrix_init_quantum();
}
@@ -76,7 +74,7 @@ void matrix_init(void) {
uint8_t matrix_scan(void) {
// actual matrix
for (int col = 0; col < MATRIX_COLS; col++) {
matrix_col_t data = 0;
matrix_row_t data = 0;
// strobe col { B11, B10, B2, B1, A7, B0 }
switch (col) {

Some files were not shown because too many files have changed in this diff Show More