mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-09-10 17:15:43 +00:00
Compare commits
46 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
817fcfdc9a | ||
|
|
ed84a4e7e3 | ||
|
|
9a0118c603 | ||
|
|
aeff347a07 | ||
|
|
d3932a104c | ||
|
|
076c8cc45f | ||
|
|
8ef58e3291 | ||
|
|
760caaa9af | ||
|
|
26ea090190 | ||
|
|
23becac3a6 | ||
|
|
5a59363e28 | ||
|
|
8936d0ae4b | ||
|
|
9a1a35f681 | ||
|
|
be72a64cf6 | ||
|
|
e6c171bdd6 | ||
|
|
5eb0e406fd | ||
|
|
79d5b27993 | ||
|
|
59b5c884ff | ||
|
|
7c2f48e55d | ||
|
|
ac2090bf4e | ||
|
|
bfa7449041 | ||
|
|
b046bffcb8 | ||
|
|
bc2b73f997 | ||
|
|
41d854048c | ||
|
|
27d0844efb | ||
|
|
34689e348f | ||
|
|
07e2c11e55 | ||
|
|
85c32da989 | ||
|
|
a9b0750f7b | ||
|
|
8a9688bc64 | ||
|
|
9d88786b6f | ||
|
|
e4342f8630 | ||
|
|
9c03d41f6a | ||
|
|
95fed3bfcf | ||
|
|
a3cb3e139a | ||
|
|
d917bfb277 | ||
|
|
744019c032 | ||
|
|
6721825df5 | ||
|
|
bdf86c4cbd | ||
|
|
c588d232cb | ||
|
|
b9a1b61f6a | ||
|
|
28b59c30d2 | ||
|
|
f4c55db8dd | ||
|
|
4445455c1f | ||
|
|
8e8803459f | ||
|
|
ae20574f84 |
@@ -19,6 +19,7 @@
|
||||
* [Overview](newbs_building_firmware_configurator.md)
|
||||
* [Step by Step](configurator_step_by_step.md)
|
||||
* [Troubleshooting](configurator_troubleshooting.md)
|
||||
* [Architecture](configurator_architecture.md)
|
||||
* QMK API
|
||||
* [Overview](api_overview.md)
|
||||
* [API Documentation](api_docs.md)
|
||||
|
||||
61
docs/configurator_architecture.md
Normal file
61
docs/configurator_architecture.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# QMK Configurator Architecture
|
||||
|
||||
This page describes the web architecture behind QMK Configurator at a high level. If you are interested in the architecture of the QMK Configurator code itself you should start at the [qmk_configurator](https://github.com/qmk/qmk_configurator) repository.
|
||||
|
||||
# Overview
|
||||
|
||||

|
||||
|
||||
# Detailed Description
|
||||
|
||||
QMK Configurator is a [Single Page Application](https://en.wikipedia.org/wiki/Single-page_application) that allows users to create custom keymaps for their QMK-compatible keyboard. They can export JSON representation of their keymaps and compile firmware binaries that can be flashed to their keyboard using a tool like [QMK Toolbox](https://github.com/qmk/qmk_toolbox).
|
||||
|
||||
Configurator gets metadata about keyboards from the Keyboard Metadata store and submits compile requests to the QMK API. The results of those compile requests will be made available on [Digital Ocean Spaces](https://www.digitalocean.com/products/spaces/), an S3-compatible data store.
|
||||
|
||||
## Configurator Frontend
|
||||
|
||||
Address: <https://config.qmk.fm>
|
||||
|
||||
The [Configurator Frontend](https://config.qmk.fm) is compiled into a set of static files that are served by Github Pages. This action happens every time a commit is pushed to the [qmk_configurator `master`](https://github.com/qmk/qmk_configurator) branch. You can view the status of these jobs on the [qmk_configurator actions tab](https://github.com/qmk/qmk_configurator/actions/workflows/build.yml).
|
||||
|
||||
## Keyboard Metadata
|
||||
|
||||
Address: <https://keyboards.qmk.fm>
|
||||
|
||||
The Keyboard Metadata is generated every time a keyboard in [qmk_firmware](https://github.com/qmk/qmk_firmware) changes. The resulting JSON files are uploaded to Spaces and used by Configurator to generate UI for each keyboard. You can view the status of this job on the [qmk_firmware actions tab](https://github.com/qmk/qmk_firmware/actions/workflows/api.yml). If you are a QMK Collaborator you can manually run this job using the `workflow_dispatch` event trigger.
|
||||
|
||||
## QMK API
|
||||
|
||||
Address: <http://api.qmk.fm>
|
||||
|
||||
The QMK API accepts `keymap.json` files for compilation. These are the same files you can use directly with `qmk compile` and `qmk flash`. When a `keymap.json` is submitted the browser will poll the status of the job periodically (every 2 seconds or longer, preferably) until the job has completed. The final status JSON will contain pointers to source and binary downloads for the keymap.
|
||||
|
||||
QMK API always presents the source and binary downloads side-by-side to comply with the GPL.
|
||||
|
||||
There are 3 non-error status responses from the API-
|
||||
|
||||
1. Compile Job Queued
|
||||
2. Compile Job Running
|
||||
3. Compile Job Finished
|
||||
|
||||
### Compile Job Queued
|
||||
|
||||
This status indicates that the job has not yet been picked up by a [QMK Compiler](#qmk-compiler) node. Configurator shows this status as "Waiting for an oven".
|
||||
|
||||
### Compile Job Running
|
||||
|
||||
This status indicates that the job has started compiling. Configurator shows this status as "Baking".
|
||||
|
||||
### Compile Job Finished
|
||||
|
||||
This status indicates that the job has completed. There will be keys in the status JSON for source and binary downloads.
|
||||
|
||||
## Redis/RQ
|
||||
|
||||
QMK API uses RQ to distribute jobs to the available [QMK Compiler](#qmk-compiler) nodes. When a `keymap.json` is received it's put into the RQ queue, where a `qmk_compiler` node will pick it up from.
|
||||
|
||||
## QMK Compiler
|
||||
|
||||
[QMK Compiler](https://github.com/qmk/qmk_compiler) is what actually performs the compilation of the `keymap.json`. It does so by checking out the requested `qmk_firmware` branch, running `qmk compile keymap.json`, and then uploading the resulting source and binary to Digital Ocean Spaces.
|
||||
|
||||
When users download their source/binary, API will redirect them to the authenticated Spaces download URL.
|
||||
1
docs/configurator_diagram.drawio
Normal file
1
docs/configurator_diagram.drawio
Normal file
@@ -0,0 +1 @@
|
||||
<mxfile host="Electron" modified="2021-08-09T19:46:29.036Z" agent="5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="PQ2r34UrZa0TfW4Fw0EV" version="14.6.13" type="device"><diagram id="NEtccoSKIy4HskWlhJpu" name="Page-1">5VvbcqM4EP2a1O4+hOLqy2Ni5zKX1CTxzszOU0oG2dZEIBZEYu/XbwuEDQg7csZ2vFlXjQca0RLdR+eohXPiDML5VYLi2Q0LMD2xzWB+4gxPbNvqezb8JywLaTFtr7BMExJI28owIv/gsqG0ZiTAaa0hZ4xyEteNPosi7POaDSUJe643mzBa7zVGU6wYRj6iqvU7CfissPY8c2W/xmQ6K3u2THklRGVjaUhnKGDPFZNzceIMEsZ4cRTOB5iK6JVxKe67XHN1ObAER1znhgfT76Zzxxp3Z49j5+7zjw/z+NSS+XlCNJNPLEfLF2UIcAARkacs4TM2ZRGiFyvrecKyKMCiHxPOVm0+MxaD0QLjT8z5QqYXZZyBacZDKq/iKDgTyYLTiEW4sFwSSqXLAKWz3L9orD64jEXKssTHG57WlQBCyRTzTVGRDsWTV3qQcb3CLMQ8WUCDBFPEyVMdK0hCbrpst8oKHMjEbJEk9+UckTDHcTWm0jQk4RR6pWQM3z4l8QNKuDhkYZxxnKRw/J0ljymHJ2HRg2X35vDPiKPp2kA/4YTj+cbIyKunjmv0zMpHeljSQXH6XJla0jSrzKrStvPIei9Hdgm9HNoZpyTCgyXZmPWYI0qmERz7EDGcgIGiMaa3LCUittULIoQEaOZzo8GYcc7CSoMz6ZKLqXQOJBKLgYXzqSBc4xmPKcy11JgSPsvG0GLCIn6JQkJFiK8xfcLCjbwgJyDM+uJ8wChL8ud0ivSILnjCHnHblQlMyIp9kn/ADkMJCK55G14OL4YXmybrFhhyOzXQtKEGdMVwVeBUzDvHTjmKjdS54jWfojQlfpP3YCR/CRwZXnn6o3ptOJcgK84W8gwma8JVz7lZ0qZVI9Ff401PkzddTdqsJM5rme6lTZtdZQ+3jMCTLXFjlRkqyaZJI8Vzy7uqytl01Gk4chqOisAojnJYLR/7F5BWTpkV0gZUTDjgbnOUxTEorqCosxO7QyGG5+MEjqbiaDBLoPsTGzo2L0mCJ2yuNhri9FHQi21+iehCAfHzjHA8ilEOkWegnTqGm0QVkiDIVwU5950j/3Garw9Kdsjd7YYZlmurkhlUYrDNFoB19qUnltPCCUW40xhFZcBnnIvl65noTChxNCFT4+/w0ZiEZXOwV+9Qk9bmd0SiKYTeNm+F9AM2RKTX3tno4iN6QiM/IbFYHXz7eqHeOJI8AeM2YbTQDL4fiuFnCeIs0RvmNUt54eWqUK1iwOnaZ28Asr7cfC0894E/q2PYehDs7w2CGqtFdbndqklVRaoI1BpN2tEaXVdryql2JGKzTKiEgvdasXHchqNDi01XAz/vpiK0tOHW0YTbYUpC6/1ULj9TuH0XlWZ93riOuhjotsz/rmf09pWkjpKkuvI/4sWYoSRIG+K/ks9PsgV4ucEcBYgjXV2ekCR8hoiq7a+uoeGZX+RN3PQ1BsdiwXB2+wG+h629rFR7SKDaRPSLj4VIm7n2ptsuG2voPKRIu7Zt9N9apHtbiXRr7VirASVHVgtAc4cFoDZNekclypZnWK5p9Tp9y+v1up1y73nRQMbWBWHdz3LP90ASbav14HuW6L4m9spsHotE95Us3d18Kkm2mS5KSZziik76lGXBy+XNLpTTq8O5Y6rKadkts3Rv27JlZ2uFE8VkrWTeX4z+nGS0DLSeWILDTYp3jyJ/Bqsf2xRrFXP4Bb6+3fy2tegdUuc6pqenct29pVFjkfryDulhtzDLWXskCnbarCtd75WadaoUlpqqBelBi0qzWDRINwzZanTkOObmkTVv8Pq1G+CgGMNuRVSl53csonZXV0R7RyWitrobIasPMMoCRGF4WY807b+PnD+OS3idXh347fuHrdrbt8qWu4+5WpzU1RcE81QocLTwHcMPIiMoUsJEPtI8+obPWqRZRlNK7+kLoqskejut3UWCeg1msh3L6PYrn54qsf2WbO3thYOjrpTeTGK1Oea4ikSQ/EaSX7t1qwiZfeC9W6ft9dO71TSn/D3YS3hz7KPSNEct3+/vlDyVciS2/FLOEnwYSWpskXS7ai3YOSjB2WqwcEDEm+9cjEwRuqaGfGTineJdhrOW3c/2AjApnO6/BNxBkpqVXrfz1pWes91Lx73KkPZ+UTkP31qHyiw26zFt2fEacGiWiPtWHXWNXvwuIIwpETNmDbPhuZhhAcvG+RWrJj3Wm2x99Vt+QXLYrS9XXdAVu4YDCCehIpztbHefRVH+a07dX22sc/efoLy+/daU5+pswh+I8vRXQt3joDyZVbeW015ztaxLgHU3/eZbnT3Tn6uuULYGwoF/z+lo7wYdF16AHes00GuuO/V3Qxui2bP0ULP1bqjTYK5yS2Gvm5vu/6sQ1IVzKa67KwTXEJK3GVu6KLWd14H0ZRjB6eovj4rmqz/gci7+BQ==</diagram></mxfile>
|
||||
3
docs/configurator_diagram.svg
Normal file
3
docs/configurator_diagram.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 39 KiB |
@@ -45,6 +45,7 @@ bool wpm_keycode_user(uint16_t keycode) {
|
||||
|
||||
Additionally, if `WPM_ALLOW_COUNT_REGRESSION` is defined, there is the `uint8_t wpm_regress_count(uint16_t keycode)` function that allows you to decrease the WPM. This is useful if you want to be able to penalize certain keycodes (or even combinations).
|
||||
|
||||
```c
|
||||
__attribute__((weak)) uint8_t wpm_regress_count(uint16_t keycode) {
|
||||
bool weak_modded = (keycode >= QK_LCTL && keycode < QK_LSFT) || (keycode >= QK_RCTL && keycode < QK_RSFT);
|
||||
|
||||
@@ -60,3 +61,4 @@ __attribute__((weak)) uint8_t wpm_regress_count(uint16_t keycode) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
45
keyboards/aozora/hotswap/config.h
Normal file
45
keyboards/aozora/hotswap/config.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/* Copyright 2021 Salmon Cat Studio
|
||||
*
|
||||
* 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 0xCA75
|
||||
#define PRODUCT_ID 0x4014
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Salmon Cat Studio
|
||||
#define PRODUCT Aozora
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 16
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { F6, F5, F4, F1, F0 }
|
||||
#define MATRIX_COL_PINS { B0, B1, B2, B3, B7, D0, D1, D4, D6, D7, B4, B5, B6, C6, C7, F7 }
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
17
keyboards/aozora/hotswap/hotswap.c
Normal file
17
keyboards/aozora/hotswap/hotswap.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2021 Salmon Cat Studio
|
||||
*
|
||||
* 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 "hotswap.h"
|
||||
34
keyboards/aozora/hotswap/hotswap.h
Normal file
34
keyboards/aozora/hotswap/hotswap.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/* Copyright 2021 Salmon Cat Studio
|
||||
*
|
||||
* 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 LAYOUT( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3D, K3E, K3F, \
|
||||
K40, K41, K42, K44, K48, K49, K4A, K4D, K4E, K4F \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, KC_NO, K2D, KC_NO, KC_NO }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, KC_NO, KC_NO, K3D, K3E, K3F }, \
|
||||
{ K40, K41, K42, KC_NO, K44, KC_NO, KC_NO, KC_NO, K48, K49, K4A, KC_NO, KC_NO, K4D, K4E, K4F }, \
|
||||
}
|
||||
|
||||
83
keyboards/aozora/hotswap/info.json
Normal file
83
keyboards/aozora/hotswap/info.json
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"keyboard_name": "Aozora",
|
||||
"url": "https://salmoncat.studio/pages/aozora-%E9%9D%92%E7%A9%BA-6-9-21-7-10-21",
|
||||
"maintainer": "Food",
|
||||
"width": 17.25,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"label":"K00 (F6,B0)", "x":0, "y":0},
|
||||
{"label":"K01 (F6,B1)", "x":1, "y":0},
|
||||
{"label":"K02 (F6,B2)", "x":2, "y":0},
|
||||
{"label":"K03 (F6,B3)", "x":3, "y":0},
|
||||
{"label":"K04 (F6,B7)", "x":4, "y":0},
|
||||
{"label":"K05 (F6,D0)", "x":5, "y":0},
|
||||
{"label":"K06 (F6,D1)", "x":6, "y":0},
|
||||
{"label":"K07 (F6,D4)", "x":7, "y":0},
|
||||
{"label":"K08 (F6,D6)", "x":8, "y":0},
|
||||
{"label":"K09 (F6,D7)", "x":9, "y":0},
|
||||
{"label":"K0A (F6,B4)", "x":10, "y":0},
|
||||
{"label":"K0B (F6,B5)", "x":11, "y":0},
|
||||
{"label":"K0C (F6,B6)", "x":12, "y":0},
|
||||
{"label":"K0D (F6,C6)", "x":13, "y":0, "w":2},
|
||||
{"label":"K0E (F6,C7)", "x":15.25, "y":0},
|
||||
{"label":"K0F (F6,F7)", "x":16.25, "y":0},
|
||||
{"label":"K10 (F5,B0)", "x":0, "y":1, "w":1.5},
|
||||
{"label":"K11 (F5,B1)", "x":1.5, "y":1},
|
||||
{"label":"K12 (F5,B2)", "x":2.5, "y":1},
|
||||
{"label":"K13 (F5,B3)", "x":3.5, "y":1},
|
||||
{"label":"K14 (F5,B7)", "x":4.5, "y":1},
|
||||
{"label":"K15 (F5,D0)", "x":5.5, "y":1},
|
||||
{"label":"K16 (F5,D1)", "x":6.5, "y":1},
|
||||
{"label":"K17 (F5,D4)", "x":7.5, "y":1},
|
||||
{"label":"K18 (F5,D6)", "x":8.5, "y":1},
|
||||
{"label":"K19 (F5,D7)", "x":9.5, "y":1},
|
||||
{"label":"K1A (F5,B4)", "x":10.5, "y":1},
|
||||
{"label":"K1B (F5,B5)", "x":11.5, "y":1},
|
||||
{"label":"K1C (F5,B6)", "x":12.5, "y":1},
|
||||
{"label":"K1D (F5,C6)", "x":13.5, "y":1, "w":1.5},
|
||||
{"label":"K1E (F5,C7)", "x":15.25, "y":1},
|
||||
{"label":"K1F (F5,F7)", "x":16.25, "y":1},
|
||||
{"label":"K20 (F4,B0)", "x":0, "y":2, "w":1.75},
|
||||
{"label":"K21 (F4,B1)", "x":1.75, "y":2},
|
||||
{"label":"K22 (F4,B2)", "x":2.75, "y":2},
|
||||
{"label":"K23 (F4,B3)", "x":3.75, "y":2},
|
||||
{"label":"K24 (F4,B7)", "x":4.75, "y":2},
|
||||
{"label":"K25 (F4,D0)", "x":5.75, "y":2},
|
||||
{"label":"K26 (F4,D1)", "x":6.75, "y":2},
|
||||
{"label":"K27 (F4,D4)", "x":7.75, "y":2},
|
||||
{"label":"K28 (F4,D6)", "x":8.75, "y":2},
|
||||
{"label":"K29 (F4,D7)", "x":9.75, "y":2},
|
||||
{"label":"K2A (F4,B4)", "x":10.75, "y":2},
|
||||
{"label":"K2B (F4,B5)", "x":11.75, "y":2},
|
||||
{"label":"K2D (F4,C6)", "x":12.75, "y":2, "w":2.25},
|
||||
{"label":"K30 (F1,B0)", "x":0, "y":3, "w":2.25},
|
||||
{"label":"K31 (F1,B1)", "x":2.25, "y":3},
|
||||
{"label":"K32 (F1,B2)", "x":3.25, "y":3},
|
||||
{"label":"K33 (F1,B3)", "x":4.25, "y":3},
|
||||
{"label":"K34 (F1,B7)", "x":5.25, "y":3},
|
||||
{"label":"K35 (F1,D0)", "x":6.25, "y":3},
|
||||
{"label":"K36 (F1,D1)", "x":7.25, "y":3},
|
||||
{"label":"K37 (F1,D4)", "x":8.25, "y":3},
|
||||
{"label":"K38 (F1,D6)", "x":9.25, "y":3},
|
||||
{"label":"K39 (F1,D7)", "x":10.25, "y":3},
|
||||
{"label":"K3A (F1,B4)", "x":11.25, "y":3},
|
||||
{"label":"K3D (F1,C6)", "x":12.25, "y":3, "w":2.75},
|
||||
{"label":"K3E (F1,C7)", "x":15.25, "y":3},
|
||||
{"label":"K3F (F1,F7)", "x":16.25, "y":3},
|
||||
{"label":"K40 (F0,B0)", "x":0, "y":4, "w":1.25},
|
||||
{"label":"K41 (F0,B1)", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"K42 (F0,B2)", "x":2.5, "y":4, "w":1.25},
|
||||
{"label":"K44 (F0,B7)", "x":3.75, "y":4, "w":6.25},
|
||||
{"label":"K48 (F0,D6)", "x":10, "y":4, "w":1.25},
|
||||
{"label":"K49 (F0,D7)", "x":11.25, "y":4, "w":1.25},
|
||||
{"label":"K4A (F0,B4)", "x":12.5, "y":4, "w":1.25},
|
||||
{"label":"K4D (F0,C6)", "x":14.25, "y":4},
|
||||
{"label":"K4E (F0,C7)", "x":15.25, "y":4},
|
||||
{"label":"K4F (F0,F7)", "x":16.25, "y":4}
|
||||
]
|
||||
}
|
||||
}
|
||||
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
|
||||
}
|
||||
35
keyboards/aozora/hotswap/keymaps/default/keymap.c
Normal file
35
keyboards/aozora/hotswap/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,35 @@
|
||||
/* Copyright 2021 Salmon Cat Studio
|
||||
*
|
||||
* 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_PSCR, KC_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
|
||||
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_LSFT, KC_UP, MO(1),
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LGUI, KC_LCTL, 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, KC_F13, KC_F14, KC_F15,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
17
keyboards/aozora/hotswap/readme.md
Normal file
17
keyboards/aozora/hotswap/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Aozora
|
||||
|
||||
A 65%-Style 6-Key keyboard featuring a cloud-shaped badge.
|
||||
|
||||

|
||||
|
||||
* Keyboard Maintainer: [Food](https://github.com/Phooood)
|
||||
* Hardware Supported: [Aozora](https://salmoncat.studio/pages/aozora-%E9%9D%92%E7%A9%BA-6-9-21-7-10-21)
|
||||
* Hardware Availability: [salmoncat.studio](https://salmoncat.studio/pages/aozora-%E9%9D%92%E7%A9%BA-6-9-21-7-10-21) | GB is over.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make aozora/hotswap:default
|
||||
|
||||
To reset, press the button on the back of the PCB.
|
||||
|
||||
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).
|
||||
23
keyboards/aozora/hotswap/rules.mk
Normal file
23
keyboards/aozora/hotswap/rules.mk
Normal file
@@ -0,0 +1,23 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = atmel-dfu
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"width": 14,
|
||||
"height": 3,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"LAYOUT_ortho_3x11": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
|
||||
@@ -20,5 +20,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
LAYOUTS = ortho_3x11
|
||||
|
||||
@@ -48,8 +48,10 @@
|
||||
#define RGB_DI_PIN E2
|
||||
#define DRIVER_LED_TOTAL 53
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
# define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
|
||||
#endif
|
||||
#ifndef RGB_DISABLE_WHEN_USB_SUSPENDED
|
||||
# define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
|
||||
#endif
|
||||
|
||||
@@ -55,7 +55,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||
#define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
@@ -70,3 +70,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#endif
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
|
||||
#endif
|
||||
|
||||
@@ -53,7 +53,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#define RGBLIGHT_LIMIT_VAL 5 /* The maximum brightness level */
|
||||
#define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
|
||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
@@ -68,3 +68,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#endif
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
|
||||
#endif
|
||||
|
||||
@@ -50,8 +50,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGB_DI_PIN E2
|
||||
#define DRIVER_LED_TOTAL 69
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLED_NUM 69
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
# define RGBLED_NUM 69
|
||||
# define RGB_MATRIX_KEYPRESSES
|
||||
# define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
|
||||
#endif
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
|
||||
#endif
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
|
||||
@@ -50,12 +50,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGB_DI_PIN E2
|
||||
#define DRIVER_LED_TOTAL 70
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLED_NUM 70
|
||||
#define RGB_MATRIX_KEYPRESSES
|
||||
# define RGBLED_NUM 70
|
||||
# define RGB_MATRIX_KEYPRESSES
|
||||
// #define RGBLIGHT_HUE_STEP 8
|
||||
// #define RGBLIGHT_SAT_STEP 8
|
||||
// #define RGBLIGHT_VAL_STEP 8
|
||||
// #define RGBLIGHT_LIMIT_VAL 180 /* The maximum brightness level */
|
||||
# define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
|
||||
// #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||
/*== all animations enable ==*/
|
||||
// #define RGBLIGHT_ANIMATIONS
|
||||
@@ -70,3 +70,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
||||
#endif
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
|
||||
#endif
|
||||
|
||||
@@ -17,20 +17,18 @@
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT( \
|
||||
#define XXX KC_NO
|
||||
|
||||
#define LAYOUT_65_iso_blocker( \
|
||||
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, K1E, \
|
||||
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1E, \
|
||||
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K1D, K2E, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, \
|
||||
K40, K41, K42, K46, K49, K4A, K4C, K4D, K4E \
|
||||
) { \
|
||||
{ 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, K1E }, \
|
||||
{ K20, KC_NO, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||
{ K40, K41, K42, KC_NO, KC_NO, KC_NO, K46, KC_NO, KC_NO, K49, K4A, KC_NO, K4C, K4D, K4E }, \
|
||||
{ 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, K1E }, \
|
||||
{ K20, XXX, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E }, \
|
||||
{ K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, K49, K4A, XXX, K4C, K4D, K4E }, \
|
||||
}
|
||||
|
||||
// generated by KBFirmware JSON to QMK Parser
|
||||
// https://noroadsleft.github.io/kbf_qmk_converter/
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"width": 16,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"LAYOUT_65_iso_blocker": {
|
||||
"layout": [
|
||||
{"label":"K00 (B0,D0)", "x":0, "y":0},
|
||||
{"label":"K01 (B0,D1)", "x":1, "y":0},
|
||||
@@ -22,6 +22,7 @@
|
||||
{"label":"K0C (B0,C7)", "x":12, "y":0},
|
||||
{"label":"K0D (B0,F7)", "x":13, "y":0, "w":2},
|
||||
{"label":"K0E (B0,F6)", "x":15, "y":0},
|
||||
|
||||
{"label":"K10 (B1,D0)", "x":0, "y":1, "w":1.5},
|
||||
{"label":"K11 (B1,D1)", "x":1.5, "y":1},
|
||||
{"label":"K12 (B1,D2)", "x":2.5, "y":1},
|
||||
@@ -35,8 +36,8 @@
|
||||
{"label":"K1A (B1,B6)", "x":10.5, "y":1},
|
||||
{"label":"K1B (B1,C6)", "x":11.5, "y":1},
|
||||
{"label":"K1C (B1,C7)", "x":12.5, "y":1},
|
||||
{"label":"K1D (B1,F7)", "x":13.5, "y":1, "w":1.5},
|
||||
{"label":"K1E (B1,F6)", "x":15, "y":1},
|
||||
|
||||
{"label":"K20 (B2,D0)", "x":0, "y":2, "w":1.75},
|
||||
{"label":"K22 (B2,D2)", "x":1.75, "y":2},
|
||||
{"label":"K23 (B2,D3)", "x":2.75, "y":2},
|
||||
@@ -49,10 +50,12 @@
|
||||
{"label":"K2A (B2,B6)", "x":9.75, "y":2},
|
||||
{"label":"K2B (B2,C6)", "x":10.75, "y":2},
|
||||
{"label":"K2C (B2,C7)", "x":11.75, "y":2},
|
||||
{"label":"K2D (B2,F7)", "x":12.75, "y":2, "w":2.25},
|
||||
{"label":"K2D (B2,F7)", "x":12.75, "y":2},
|
||||
{"label":"K1D (B1,F7)", "x":13.75, "y":1, "w":1.25, "h":2},
|
||||
{"label":"K2E (B2,F6)", "x":15, "y":2},
|
||||
{"label":"K30 (B2,D1)", "x":0, "y":3, "w":1.25},
|
||||
{"label":"K31 (B3,D1)", "x":1.25, "y":3, "w":1},
|
||||
|
||||
{"label":"K30 (B3,D0)", "x":0, "y":3, "w":1.25},
|
||||
{"label":"K31 (B3,D1)", "x":1.25, "y":3},
|
||||
{"label":"K32 (B3,D2)", "x":2.25, "y":3},
|
||||
{"label":"K33 (B3,D3)", "x":3.25, "y":3},
|
||||
{"label":"K34 (B3,D5)", "x":4.25, "y":3},
|
||||
@@ -66,6 +69,7 @@
|
||||
{"label":"K3C (B3,C7)", "x":12.25, "y":3, "w":1.75},
|
||||
{"label":"K3D (B3,F7)", "x":14, "y":3},
|
||||
{"label":"K3E (B3,F6)", "x":15, "y":3},
|
||||
|
||||
{"label":"K40 (E6,D0)", "x":0, "y":4, "w":1.25},
|
||||
{"label":"K41 (E6,D1)", "x":1.25, "y":4, "w":1.25},
|
||||
{"label":"K42 (E6,D2)", "x":2.5, "y":4, "w":1.25},
|
||||
@@ -78,5 +82,4 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
,"meta": "https://noroadsleft.github.io/kbf_qmk_converter/"
|
||||
}
|
||||
|
||||
@@ -58,82 +58,77 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
*/
|
||||
#ifdef TAP_DANCE_ENABLE
|
||||
/* 0: ISO qwerty */
|
||||
[_BL] = LAYOUT(
|
||||
KC_CAPS, 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_ENT, TD(TD_HOME_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_NUHS, KC_PGUP,
|
||||
KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LAPO, KC_SPC, KC_RAPC, MO(_RED_), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
[_BL] = LAYOUT_65_iso_blocker(
|
||||
KC_CAPS, 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, TD(TD_HOME_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_NUHS, KC_ENT, KC_PGUP,
|
||||
KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LAPO, KC_SPC, KC_RAPC, MO(_RED_), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
|
||||
),
|
||||
#else
|
||||
[_BL] = LAYOUT(
|
||||
KC_CAPS, 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_ENT, KC_HOME,
|
||||
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_NUHS, KC_PGUP,
|
||||
KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LAPO, KC_SPC, KC_RAPC, MO(_RED_), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
[_BL] = LAYOUT_65_iso_blocker(
|
||||
KC_CAPS, 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_HOME,
|
||||
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_NUHS, KC_ENT, KC_PGUP,
|
||||
KC_LSPO, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSPC, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LAPO, KC_SPC, KC_RAPC, MO(_RED_), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
|
||||
),
|
||||
#endif
|
||||
|
||||
[_RED_] = 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, _______, LGUI(KC_END),
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, TO(0), LGUI(KC_PAUSE),
|
||||
_______, TO(_GREEN_), TO(_BLUE_), TO(_CYAN_), TO(_MAGENTA_), TO(_YELLOW_), _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______,_______ ,_______ ,_______ , _______, _______, _______, _______, _______, _______, _______, _______,_______ , KC_VOLU, _______,
|
||||
RESET, _______, _______, KC_LEAD, _______, _______, KC_MPLY, KC_VOLD, KC_MUTE
|
||||
[_RED_] = LAYOUT_65_iso_blocker(
|
||||
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, _______, LGUI(KC_END),
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, LGUI(KC_PAUSE),
|
||||
_______, TO(_GREEN_), TO(_BLUE_), TO(_CYAN_), TO(_MAGENTA_), TO(_YELLOW_), _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______,
|
||||
RESET, _______, _______, KC_LEAD, _______, _______, KC_MPLY, KC_VOLD, KC_MUTE
|
||||
),
|
||||
|
||||
|
||||
[_GREEN_] = LAYOUT(
|
||||
[_GREEN_] = LAYOUT_65_iso_blocker(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______,_______ , _______, _______, _______, KC_PGDN, KC_PGUP, KC_PSCR,_______, _______, _______, TO(0), _______,
|
||||
_______, KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, _______, _______, KC_MS_LEFT, KC_MS_DOWN, KC_MS_UP, KC_MS_RIGHT, KC_MS_BTN1, KC_MS_BTN2, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_PGDN, KC_PGUP, KC_PSCR, _______, _______, _______, _______,
|
||||
_______, KC_ACL0, KC_ACL1, KC_ACL2, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BTN1, KC_BTN2, _______, TO(0), _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
[_BLUE_] = LAYOUT(
|
||||
_______, DYN_MACRO_PLAY1, DYN_MACRO_PLAY2, _______, _______, _______, _______, _______, KC_NUMLOCK, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______,
|
||||
_______, DYN_REC_START1, DYN_REC_START2, _______, _______, _______, _______, _______, _______,KC_P7, KC_P8, KC_P9, KC_PMNS, TO(0), _______,
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______,
|
||||
_______, _______, _______, _______, KC_0, KC_PCMM, _______, _______, _______
|
||||
[_BLUE_] = LAYOUT_65_iso_blocker(
|
||||
_______, DM_PLY1, DM_PLY2, _______, _______, _______, _______, _______, KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______,
|
||||
_______, DM_REC1, DM_REC2, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PMNS, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_PPLS, TO(0), _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______,
|
||||
_______, _______, _______, _______, KC_0, KC_PCMM, _______, _______, _______
|
||||
),
|
||||
[_CYAN_] = LAYOUT(
|
||||
[_CYAN_] = LAYOUT_65_iso_blocker(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,TO(0), _______,
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_MAGENTA_] = LAYOUT(
|
||||
[_MAGENTA_] = LAYOUT_65_iso_blocker(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,TO(0), _______,
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[_YELLOW_] = LAYOUT(
|
||||
[_YELLOW_] = LAYOUT_65_iso_blocker(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,TO(0), _______,
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
/*template
|
||||
[_UL] = LAYOUT(
|
||||
[_UL] = LAYOUT_65_iso_blocker(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,TO(0), _______,
|
||||
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TO(0), _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
@@ -16,20 +16,21 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_CAPS, 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_ENT, KC_HOME,
|
||||
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_NUHS, KC_PGUP,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
[0] = LAYOUT_65_iso_blocker(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_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_HOME,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT_65_iso_blocker(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
@@ -16,33 +16,37 @@
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[0] = LAYOUT(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_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_ENT, KC_HOME,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_PGUP,
|
||||
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
|
||||
[0] = LAYOUT_65_iso_blocker(
|
||||
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||
KC_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_HOME,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[2] = LAYOUT(
|
||||
|
||||
[1] = LAYOUT_65_iso_blocker(
|
||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
[3] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[2] = LAYOUT_65_iso_blocker(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[3] = LAYOUT_65_iso_blocker(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
||||
|
||||
@@ -23,3 +23,5 @@ AUDIO_ENABLE = no # Audio output
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGB_MATRIX_DRIVER = WS2812
|
||||
LTO_ENABLE = yes
|
||||
|
||||
LAYOUTS = 65_iso_blocker
|
||||
|
||||
@@ -56,8 +56,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// The number of LEDs connected
|
||||
#define DRIVER_LED_TOTAL 74
|
||||
#ifdef RGB_DI_PIN
|
||||
#define RGBLED_NUM 74
|
||||
#define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
# define RGBLED_NUM 74
|
||||
# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
|
||||
# define RGBLIGHT_LIMIT_VAL 180 // Limit to vendor-recommended value
|
||||
#endif
|
||||
#ifdef RGB_MATRIX_ENABLE
|
||||
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 180 // Limit to vendor-recommended value
|
||||
#endif
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
|
||||
@@ -1 +1 @@
|
||||
VIA_ENABLE = yes
|
||||
VIA_ENABLE = yes
|
||||
|
||||
@@ -23,8 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x6060
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER ckeys_handwire
|
||||
#define PRODUCT ckeys_handwire
|
||||
#define MANUFACTURER cKeys
|
||||
#define PRODUCT Handwire 101
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
|
||||
@@ -1,28 +1,17 @@
|
||||
/* Copyright 2019 Branden Byers
|
||||
*
|
||||
* 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 "handwire_101.h"
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
// Turn status LED on
|
||||
//DDRD |= (1<<6);
|
||||
//PORTD |= (1<<6);
|
||||
|
||||
matrix_init_user();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
|
||||
// put your per-action keyboard code here
|
||||
// runs for every action, just before processing by the firmware
|
||||
return process_record_user(keycode, record);
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
// put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
|
||||
led_set_user(usb_led);
|
||||
}
|
||||
|
||||
@@ -1,12 +1,24 @@
|
||||
/* Copyright 2019 Branden Byers
|
||||
*
|
||||
* 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 a shortcut to help you visually see your layout.
|
||||
// The following is an example using the Planck MIT layout
|
||||
// The first section contains all of the arguements
|
||||
// The second converts the arguments into a two-dimensional array
|
||||
#define LAYOUT( \
|
||||
#define LAYOUT_ortho_4x4( \
|
||||
k00, k01, k02, k03, \
|
||||
k10, k11, k12, k13, \
|
||||
k20, k21, k22, k23, \
|
||||
@@ -18,4 +30,3 @@
|
||||
{ k20, k21, k22, k23 }, \
|
||||
{ k30, k31, k32, k33 } \
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,35 @@
|
||||
{
|
||||
"keyboard_name": "cKeys Handwire 101",
|
||||
"url": "https://ckeys.org/slides/handwire/",
|
||||
"maintainer": "brandenbyers",
|
||||
"width": 4,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x4": {
|
||||
"key_count": 16,
|
||||
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1}, {"x":1, "y":1}, {"x":2, "y":1}, {"x":3, "y":1}, {"x":0, "y":2}, {"x":1, "y":2}, {"x":2, "y":2}, {"x":3, "y":2}, {"x":0, "y":3}, {"x":1, "y":3}, {"x":2, "y":3}, {"x":3, "y":3}]
|
||||
"keyboard_name": "cKeys Handwire 101",
|
||||
"url": "https://ckeys.org/slides/handwire/",
|
||||
"maintainer": "brandenbyers",
|
||||
"width": 4,
|
||||
"height": 4,
|
||||
"layout_aliases": {
|
||||
"LAYOUT": "LAYOUT_ortho_4x4"
|
||||
},
|
||||
"layouts": {
|
||||
"LAYOUT_ortho_4x4": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
|
||||
{"x":0, "y":1},
|
||||
{"x":1, "y":1},
|
||||
{"x":2, "y":1},
|
||||
{"x":3, "y":1},
|
||||
|
||||
{"x":0, "y":2},
|
||||
{"x":1, "y":2},
|
||||
{"x":2, "y":2},
|
||||
{"x":3, "y":2},
|
||||
|
||||
{"x":0, "y":3},
|
||||
{"x":1, "y":3},
|
||||
{"x":2, "y":3},
|
||||
{"x":3, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
// Add overrides here
|
||||
@@ -1,177 +1,191 @@
|
||||
/* Copyright 2019 Branden Byers
|
||||
*
|
||||
* 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 {
|
||||
_BASE, // base layer
|
||||
_LAYERS, // layer of all layers
|
||||
_MUSIC, // music mode
|
||||
_MUSIC_4_LIFE, // music mode until unplugged
|
||||
_MOUSE, // mousekeys
|
||||
_TERMINAL, // terminal
|
||||
_ADMIN // admin duties
|
||||
_BASE, // base layer
|
||||
_LAYERS, // layer of all layers
|
||||
_MUSIC, // music mode
|
||||
_MUSIC_4_LIFE, // music mode until unplugged
|
||||
_MOUSE, // mousekeys
|
||||
_TERMINAL, // terminal
|
||||
_ADMIN // admin duties
|
||||
};
|
||||
|
||||
enum custom_keycodes {
|
||||
TERM_ABOUT = SAFE_RANGE,
|
||||
TERM_PRINT,
|
||||
TERM_FLUSH,
|
||||
TERM_HELP,
|
||||
CKEYS_ABOUT,
|
||||
TERM_ABOUT = SAFE_RANGE,
|
||||
TERM_PRINT,
|
||||
TERM_FLUSH,
|
||||
TERM_HELP,
|
||||
CKEYS_ABOUT,
|
||||
};
|
||||
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* BASE (numpad)
|
||||
* ,-----------------------.
|
||||
* | 7 | 8 | 9 | / | <-- Hold for LAYERS
|
||||
* |-----+-----+-----+-----|
|
||||
* | 4 | 5 | 6 | * |
|
||||
* |-----+-----+-----+-----|
|
||||
* | 1 | 2 | 3 | - |
|
||||
* |-----+-----+-----+-----|
|
||||
* | 0 | . | = | + |
|
||||
* `---------------------- '
|
||||
*/
|
||||
[_BASE] = LAYOUT(
|
||||
KC_KP_7, KC_KP_8, KC_KP_9, LT(MO(_LAYERS), KC_PSLS), \
|
||||
KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST, \
|
||||
KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS, \
|
||||
KC_KP_0, KC_KP_DOT, KC_KP_EQUAL, KC_PPLS \
|
||||
),
|
||||
* ,-----------------------.
|
||||
* | 7 | 8 | 9 | / | <-- Hold for LAYERS
|
||||
* |-----+-----+-----+-----|
|
||||
* | 4 | 5 | 6 | * |
|
||||
* |-----+-----+-----+-----|
|
||||
* | 1 | 2 | 3 | - |
|
||||
* |-----+-----+-----+-----|
|
||||
* | 0 | . | = | + |
|
||||
* `-----------------------'
|
||||
*/
|
||||
[_BASE] = LAYOUT_ortho_4x4(
|
||||
KC_P7, KC_P8, KC_P9, LT(_LAYERS, KC_PSLS),
|
||||
KC_P4, KC_P5, KC_P6, KC_PAST,
|
||||
KC_P1, KC_P2, KC_P3, KC_PMNS,
|
||||
KC_P0, KC_PDOT, KC_PEQL, KC_PPLS
|
||||
),
|
||||
/* LAYERS
|
||||
* ,---------------------------.
|
||||
* | MUSIC | | | X |
|
||||
* |---------+-----+-----+-----|
|
||||
* | MOUSE | | | |
|
||||
* |---------+-----+-----+-----|
|
||||
* |TERMINAL | | | |
|
||||
* |---------+-----+-----+-----|
|
||||
* | ADMIN | | | |
|
||||
* `---------------------------'
|
||||
*/
|
||||
[_LAYERS] = LAYOUT(
|
||||
TG(_MUSIC), _______, _______, _______, \
|
||||
TG(_MOUSE), _______, _______, _______, \
|
||||
TG(_TERMINAL), _______, _______, _______, \
|
||||
TG(_ADMIN), _______, _______, _______\
|
||||
),
|
||||
* ,---------------------------.
|
||||
* | MUSIC | | | X |
|
||||
* |---------+-----+-----+-----|
|
||||
* | MOUSE | | | |
|
||||
* |---------+-----+-----+-----|
|
||||
* |TERMINAL | | | |
|
||||
* |---------+-----+-----+-----|
|
||||
* | ADMIN | | | |
|
||||
* `---------------------------'
|
||||
*/
|
||||
[_LAYERS] = LAYOUT_ortho_4x4(
|
||||
TG(_MUSIC), _______, _______, _______,
|
||||
TG(_MOUSE), _______, _______, _______,
|
||||
TG(_TERMINAL), _______, _______, _______,
|
||||
TG(_ADMIN), _______, _______, _______
|
||||
),
|
||||
/* MUSIC
|
||||
* ,-----------------------.
|
||||
* | X | | | X |
|
||||
* |-----+-----+-----+-----|
|
||||
* | | | |4EVER|
|
||||
* |-----+-----+-----+-----|
|
||||
* | OFF | | | |
|
||||
* |-----+-----+-----+-----|
|
||||
* | ON | | |MODES|
|
||||
* `---------------------- '
|
||||
*/
|
||||
// TODO: Make this music layer the one to jump to other music layers (different octaves)
|
||||
[_MUSIC] = LAYOUT(
|
||||
_______, _______, _______, _______, \
|
||||
_______, _______, _______, TG(_MUSIC_4_LIFE), \
|
||||
MU_OFF, _______, _______, _______, \
|
||||
MU_ON, _______, _______, MU_MOD \
|
||||
),
|
||||
* ,-----------------------.
|
||||
* | X | | | X |
|
||||
* |-----+-----+-----+-----|
|
||||
* | | | |4EVER|
|
||||
* |-----+-----+-----+-----|
|
||||
* | OFF | | | |
|
||||
* |-----+-----+-----+-----|
|
||||
* | ON | | |MODES|
|
||||
* `-----------------------'
|
||||
*/
|
||||
// TODO: Make this music layer the one to jump to other music layers (different octaves)
|
||||
[_MUSIC] = LAYOUT_ortho_4x4(
|
||||
_______, _______, _______, _______,
|
||||
_______, _______, _______, TG(_MUSIC_4_LIFE),
|
||||
MU_OFF, _______, _______, _______,
|
||||
MU_ON, _______, _______, MU_MOD
|
||||
),
|
||||
/* MUSIC_4_LIFE
|
||||
* ,-----------------------.
|
||||
* | ♫ | ♫ | ♫ | ♫ |
|
||||
* |-----+-----+-----+-----|
|
||||
* | ♫ | ♫ | ♫ | ♫ |
|
||||
* |-----+-----+-----+-----|
|
||||
* | ♫ | ♫ | ♫ | ♫ |
|
||||
* |-----+-----+-----+-----|
|
||||
* | ♫ | ♫ | ♫ | ♫ |
|
||||
* `---------------------- '
|
||||
*/
|
||||
[_MUSIC_4_LIFE] = LAYOUT(
|
||||
KC_M, KC_M, KC_M, KC_M, \
|
||||
KC_M, KC_M, KC_M, KC_M, \
|
||||
KC_M, KC_M, KC_M, KC_M, \
|
||||
KC_M, KC_M, KC_M, KC_M \
|
||||
),
|
||||
* ,-----------------------.
|
||||
* | ♫ | ♫ | ♫ | ♫ |
|
||||
* |-----+-----+-----+-----|
|
||||
* | ♫ | ♫ | ♫ | ♫ |
|
||||
* |-----+-----+-----+-----|
|
||||
* | ♫ | ♫ | ♫ | ♫ |
|
||||
* |-----+-----+-----+-----|
|
||||
* | ♫ | ♫ | ♫ | ♫ |
|
||||
* `-----------------------'
|
||||
*/
|
||||
[_MUSIC_4_LIFE] = LAYOUT_ortho_4x4(
|
||||
KC_M, KC_M, KC_M, KC_M,
|
||||
KC_M, KC_M, KC_M, KC_M,
|
||||
KC_M, KC_M, KC_M, KC_M,
|
||||
KC_M, KC_M, KC_M, KC_M
|
||||
),
|
||||
/* MOUSE
|
||||
* ,-------------------------------------------------.
|
||||
* | BUTTON 5 | | SCROLL UP | X |
|
||||
* |-----------+-----------+------------+------------|
|
||||
* | X |LEFT CLICK | UP |RIGHT CLICK |
|
||||
* |-----------+-----------+------------+------------|
|
||||
* | BUTTON 4 | LEFT | DOWN | RIGHT |
|
||||
* |-----------+-----------+------------+------=-----|
|
||||
* | BUTTON 3 |SCROLL LEFT|SCROLL DOWN |SCROLL RIGHT|
|
||||
* `-------------------------------------------------'
|
||||
*/
|
||||
[_MOUSE] = LAYOUT(
|
||||
KC_MS_BTN5, _______, KC_MS_WH_UP, _______, \
|
||||
_______, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, \
|
||||
KC_MS_BTN4, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, \
|
||||
KC_MS_BTN3, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_RIGHT \
|
||||
),
|
||||
* ,-------------------------------------------------.
|
||||
* | BUTTON 5 | | SCROLL UP | X |
|
||||
* |-----------+-----------+------------+------------|
|
||||
* | X |LEFT CLICK | UP |RIGHT CLICK |
|
||||
* |-----------+-----------+------------+------------|
|
||||
* | BUTTON 4 | LEFT | DOWN | RIGHT |
|
||||
* |-----------+-----------+------------+------=-----|
|
||||
* | BUTTON 3 |SCROLL LEFT|SCROLL DOWN |SCROLL RIGHT|
|
||||
* `-------------------------------------------------'
|
||||
*/
|
||||
[_MOUSE] = LAYOUT_ortho_4x4(
|
||||
KC_BTN5, _______, KC_WH_U, _______,
|
||||
_______, KC_BTN1, KC_MS_U, KC_BTN2,
|
||||
KC_BTN4, KC_MS_L, KC_MS_D, KC_MS_R,
|
||||
KC_BTN3, KC_WH_L, KC_WH_D, KC_WH_R
|
||||
),
|
||||
/* TERMINAL
|
||||
* ,---------------------------------------.
|
||||
* | |ABOUT| | X |
|
||||
* |------------+-----+----------+---------|
|
||||
* |TERMINAL OFF|PRINT| | |
|
||||
* |------------+-----+----------+---------|
|
||||
* | X |FLUSH| | |
|
||||
* |------------+-----+----------+---------|
|
||||
* |TERMINAL ON |HELP | | |
|
||||
* `--------=======------------------------'
|
||||
*/
|
||||
[_TERMINAL] = LAYOUT(
|
||||
_______, TERM_ABOUT, _______, _______, \
|
||||
TERM_OFF, TERM_PRINT, _______, _______, \
|
||||
_______, TERM_FLUSH, _______, _______, \
|
||||
TERM_ON, TERM_HELP , _______, _______\
|
||||
),
|
||||
* ,---------------------------------------.
|
||||
* | |ABOUT| | X |
|
||||
* |------------+-----+----------+---------|
|
||||
* |TERMINAL OFF|PRINT| | |
|
||||
* |------------+-----+----------+---------|
|
||||
* | X |FLUSH| | |
|
||||
* |------------+-----+----------+---------|
|
||||
* |TERMINAL ON |HELP | | |
|
||||
* `--------=======------------------------'
|
||||
*/
|
||||
[_TERMINAL] = LAYOUT_ortho_4x4(
|
||||
_______, TERM_ABOUT, _______, _______,
|
||||
TERM_OFF, TERM_PRINT, _______, _______,
|
||||
_______, TERM_FLUSH, _______, _______,
|
||||
TERM_ON, TERM_HELP , _______, _______
|
||||
),
|
||||
/* ADMIN
|
||||
* ,-----------------------------------------.
|
||||
* | RESET | | | X |
|
||||
* |------------+-----+-----------+----------|
|
||||
* |ABOUT CKEYS | | | |
|
||||
* |------------+-----+-----------+----------|
|
||||
* | | |CLICKY UP |CLICKY OFF|
|
||||
* |------------+-----+-----------+----------|
|
||||
* | X | |CLICKY DOWN|CLICKY ON |
|
||||
* `-----------------------------------------'
|
||||
*/
|
||||
[_ADMIN] = LAYOUT(
|
||||
RESET, _______, _______, _______, \
|
||||
CKEYS_ABOUT, _______, _______, _______, \
|
||||
_______, _______, _______, CK_OFF, \
|
||||
_______, _______, _______, CK_ON \
|
||||
),
|
||||
* ,-----------------------------------------.
|
||||
* | RESET | | | X |
|
||||
* |------------+-----+-----------+----------|
|
||||
* |ABOUT CKEYS | | | |
|
||||
* |------------+-----+-----------+----------|
|
||||
* | | |CLICKY UP |CLICKY OFF|
|
||||
* |------------+-----+-----------+----------|
|
||||
* | X | |CLICKY DOWN|CLICKY ON |
|
||||
* `-----------------------------------------'
|
||||
*/
|
||||
[_ADMIN] = LAYOUT_ortho_4x4(
|
||||
RESET, _______, _______, _______,
|
||||
CKEYS_ABOUT, _______, _______, _______,
|
||||
_______, _______, _______, CK_OFF,
|
||||
_______, _______, _______, CK_ON
|
||||
),
|
||||
};
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
switch (keycode) {
|
||||
case TERM_ABOUT:
|
||||
if (record->event.pressed) {
|
||||
// when keycode TERM_ABOUT is pressed
|
||||
SEND_STRING("about"SS_TAP(X_ENTER));
|
||||
} else {
|
||||
// when keycode TERM_ABOUT is released
|
||||
}
|
||||
break;
|
||||
case TERM_PRINT:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("print"SS_TAP(X_ENTER));
|
||||
} else { }
|
||||
break;
|
||||
case TERM_FLUSH:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("flush"SS_TAP(X_ENTER));
|
||||
} else { }
|
||||
break;
|
||||
case TERM_HELP:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("help"SS_TAP(X_ENTER));
|
||||
} else { }
|
||||
break;
|
||||
case CKEYS_ABOUT:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("https://cKeys.org"SS_TAP(X_ENTER)"Making people smile one keyboard at a time."SS_TAP(X_ENTER)"cKeys is a volunteer-run 501(c)(3) nonprofit organization."SS_TAP(X_ENTER));
|
||||
} else { }
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
switch (keycode) {
|
||||
case TERM_ABOUT:
|
||||
if (record->event.pressed) {
|
||||
// when keycode TERM_ABOUT is pressed
|
||||
SEND_STRING("about\n");
|
||||
}
|
||||
break;
|
||||
case TERM_PRINT:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("print\n");
|
||||
}
|
||||
break;
|
||||
case TERM_FLUSH:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("flush\n");
|
||||
}
|
||||
break;
|
||||
case TERM_HELP:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("help\n");
|
||||
}
|
||||
break;
|
||||
case CKEYS_ABOUT:
|
||||
if (record->event.pressed) {
|
||||
SEND_STRING("https://cKeys.org\nMaking people smile one keyboard at a time.\ncKeys is a volunteer-run 501(c)(3) nonprofit organization.\n");
|
||||
}
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
@@ -2,13 +2,6 @@
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Build Options
|
||||
|
||||
@@ -24,7 +24,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define PRODUCT_ID 0x0000
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 8bits4ever
|
||||
#define PRODUCT MiSS-1200
|
||||
#define PRODUCT Amiga-1200
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 8
|
||||
|
||||
@@ -4,13 +4,109 @@
|
||||
"width": 22.5,
|
||||
"height": 6.5,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6, "y":0}, {"label":"F6", "x":8, "y":0}, {"label":"F7", "x":9, "y":0}, {"label":"F8", "x":10, "y":0}, {"label":"F9", "x":11, "y":0}, {"label":"F10", "x":12, "y":0},
|
||||
{"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":7, "y":1.5}, {"label":"*", "x":8, "y":1.5}, {"label":"(", "x":9, "y":1.5}, {"label":")", "x":10, "y":1.5}, {"label":"_", "x":11, "y":1.5}, {"label":"+", "x":12, "y":1.5}, {"label":"`", "x":13, "y":1.5}, {"label":"Backspace", "x":14, "y":1.5}, {"label":"Del", "x":15.25, "y":1.5, "w":1.5}, {"label":"Help", "x":16.75, "y":1.5, "w":1.5}, {"label":"Num Lock", "x":18.5, "y":1.5}, {"label":"/", "x":19.5, "y":1.5}, {"label":"*", "x":20.5, "y":1.5}, {"label":"-", "x":21.5, "y":1.5},
|
||||
{"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":6.5, "y":2.5}, {"label":"U", "x":7.5, "y":2.5}, {"label":"I", "x":8.5, "y":2.5}, {"label":"O", "x":9.5, "y":2.5}, {"label":"P", "x":10.5, "y":2.5}, {"label":"{", "x":11.5, "y":2.5}, {"label":"}", "x":12.5, "y":2.5}, {"label":"7", "x":18.5, "y":2.5}, {"label":"8", "x":19.5, "y":2.5}, {"label":"9", "x":20.5, "y":2.5}, {"label":"+", "x":21.5, "y":2.5},
|
||||
{"label":"CTRL", "x":0, "y":3.5}, {"label":"Caps Lock", "x":1, "y":3.5}, {"label":"A", "x":2, "y":3.5}, {"label":"S", "x":3, "y":3.5}, {"label":"D", "x":4, "y":3.5}, {"label":"F", "x":5, "y":3.5}, {"label":"G", "x":6, "y":3.5}, {"label":"H", "x":7, "y":3.5}, {"label":"J", "x":8, "y":3.5}, {"label":"K", "x":9, "y":3.5}, {"label":"L", "x":10, "y":3.5}, {"label":":", "x":11, "y":3.5}, {"label":"\"", "x":12, "y":3.5}, {"label":"~", "x":13, "y":3.5}, {"label":"Enter", "x":14, "y":2.5, "w":1, "h":2}, {"label":"\u2191", "x":16.25, "y":3.5}, {"label":"4", "x":18.5, "y":3.5}, {"label":"5", "x":19.5, "y":3.5}, {"label":"6", "x":20.5, "y":3.5}, {"label":"+", "x":21.5, "y":3.5},
|
||||
{"label":"Shift", "x":0, "y":4.5, "w":1.25}, {"label":"|", "x":1.25, "y":4.5}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":7.25, "y":4.5}, {"label":"M", "x":8.25, "y":4.5}, {"label":"<", "x":9.25, "y":4.5}, {"label":">", "x":10.25, "y":4.5}, {"label":"?", "x":11.25, "y":4.5}, {"label":"Shift", "x":12.25, "y":4.5, "w":2.75}, {"label":"\u2190", "x":15.25, "y":4.5}, {"label":"\u2193", "x":16.25, "y":4.5}, {"label":"\u2192", "x":17.25, "y":4.5}, {"label":"1", "x":18.5, "y":4.5}, {"label":"2", "x":19.5, "y":4.5}, {"label":"3", "x":20.5, "y":4.5}, {"label":"Enter", "x":21.5, "y":4.5, "h":2},
|
||||
{"label":"alt", "x":1, "y":5.5, "w":1.5}, {"label":"Amiga", "x":2.5, "y":5.5, "w":1.5}, {"x":4, "y":5.5, "w":7}, {"label":"Amiga", "x":11, "y":5.5, "w":1.5}, {"label":"Alt", "x":12.5, "y":5.5, "w":1.5}, {"label":"0", "x":18.5, "y":5.5, "w":2}, {"label":".", "x":20.5, "y":5.5}]
|
||||
"LAYOUT_default": {
|
||||
"layout": [
|
||||
{"label":"Esc", "x":0, "y":0},
|
||||
{"label":"F1", "x":2, "y":0},
|
||||
{"label":"F2", "x":3, "y":0},
|
||||
{"label":"F3", "x":4, "y":0},
|
||||
{"label":"F4", "x":5, "y":0},
|
||||
{"label":"F5", "x":6, "y":0},
|
||||
{"label":"F6", "x":8, "y":0},
|
||||
{"label":"F7", "x":9, "y":0},
|
||||
{"label":"F8", "x":10, "y":0},
|
||||
{"label":"F9", "x":11, "y":0},
|
||||
{"label":"F10", "x":12, "y":0},
|
||||
|
||||
{"label":"~", "x":0, "y":1.5},
|
||||
{"label":"!", "x":1, "y":1.5},
|
||||
{"label":"@", "x":2, "y":1.5},
|
||||
{"label":"#", "x":3, "y":1.5},
|
||||
{"label":"$", "x":4, "y":1.5},
|
||||
{"label":"%", "x":5, "y":1.5},
|
||||
{"label":"^", "x":6, "y":1.5},
|
||||
{"label":"&", "x":7, "y":1.5},
|
||||
{"label":"*", "x":8, "y":1.5},
|
||||
{"label":"(", "x":9, "y":1.5},
|
||||
{"label":")", "x":10, "y":1.5},
|
||||
{"label":"_", "x":11, "y":1.5},
|
||||
{"label":"+", "x":12, "y":1.5},
|
||||
{"label":"`", "x":13, "y":1.5},
|
||||
{"label":"Backspace", "x":14, "y":1.5},
|
||||
{"label":"Del", "x":15.25, "y":1.5, "w":1.5},
|
||||
{"label":"Help", "x":16.75, "y":1.5, "w":1.5},
|
||||
{"label":"Num Lock", "x":18.5, "y":1.5},
|
||||
{"label":"/", "x":19.5, "y":1.5},
|
||||
{"label":"*", "x":20.5, "y":1.5},
|
||||
{"label":"-", "x":21.5, "y":1.5},
|
||||
|
||||
{"label":"Tab", "x":0, "y":2.5, "w":1.5},
|
||||
{"label":"Q", "x":1.5, "y":2.5},
|
||||
{"label":"W", "x":2.5, "y":2.5},
|
||||
{"label":"E", "x":3.5, "y":2.5},
|
||||
{"label":"R", "x":4.5, "y":2.5},
|
||||
{"label":"T", "x":5.5, "y":2.5},
|
||||
{"label":"Y", "x":6.5, "y":2.5},
|
||||
{"label":"U", "x":7.5, "y":2.5},
|
||||
{"label":"I", "x":8.5, "y":2.5},
|
||||
{"label":"O", "x":9.5, "y":2.5},
|
||||
{"label":"P", "x":10.5, "y":2.5},
|
||||
{"label":"{", "x":11.5, "y":2.5},
|
||||
{"label":"}", "x":12.5, "y":2.5},
|
||||
{"label":"7", "x":18.5, "y":2.5},
|
||||
{"label":"8", "x":19.5, "y":2.5},
|
||||
{"label":"9", "x":20.5, "y":2.5},
|
||||
{"label":"+", "x":21.5, "y":2.5},
|
||||
|
||||
{"label":"CTRL", "x":0, "y":3.5},
|
||||
{"label":"Caps Lock", "x":1, "y":3.5},
|
||||
{"label":"A", "x":2, "y":3.5},
|
||||
{"label":"S", "x":3, "y":3.5},
|
||||
{"label":"D", "x":4, "y":3.5},
|
||||
{"label":"F", "x":5, "y":3.5},
|
||||
{"label":"G", "x":6, "y":3.5},
|
||||
{"label":"H", "x":7, "y":3.5},
|
||||
{"label":"J", "x":8, "y":3.5},
|
||||
{"label":"K", "x":9, "y":3.5},
|
||||
{"label":"L", "x":10, "y":3.5},
|
||||
{"label":":", "x":11, "y":3.5},
|
||||
{"label":"\"", "x":12, "y":3.5},
|
||||
{"label":"~", "x":13, "y":3.5},
|
||||
{"label":"Enter", "x":14, "y":2.5, "w":1, "h":2},
|
||||
{"label":"\u2191", "x":16.25, "y":3.5},
|
||||
{"label":"4", "x":18.5, "y":3.5},
|
||||
{"label":"5", "x":19.5, "y":3.5},
|
||||
{"label":"6", "x":20.5, "y":3.5},
|
||||
{"label":"+", "x":21.5, "y":3.5},
|
||||
|
||||
{"label":"Shift", "x":0, "y":4.5, "w":1.25},
|
||||
{"label":"|", "x":1.25, "y":4.5},
|
||||
{"label":"Z", "x":2.25, "y":4.5},
|
||||
{"label":"X", "x":3.25, "y":4.5},
|
||||
{"label":"C", "x":4.25, "y":4.5},
|
||||
{"label":"V", "x":5.25, "y":4.5},
|
||||
{"label":"B", "x":6.25, "y":4.5},
|
||||
{"label":"N", "x":7.25, "y":4.5},
|
||||
{"label":"M", "x":8.25, "y":4.5},
|
||||
{"label":"<", "x":9.25, "y":4.5},
|
||||
{"label":">", "x":10.25, "y":4.5},
|
||||
{"label":"?", "x":11.25, "y":4.5},
|
||||
{"label":"Shift", "x":12.25, "y":4.5, "w":2.75},
|
||||
{"label":"\u2190", "x":15.25, "y":4.5},
|
||||
{"label":"\u2193", "x":16.25, "y":4.5},
|
||||
{"label":"\u2192", "x":17.25, "y":4.5},
|
||||
{"label":"1", "x":18.5, "y":4.5},
|
||||
{"label":"2", "x":19.5, "y":4.5},
|
||||
{"label":"3", "x":20.5, "y":4.5},
|
||||
{"label":"Enter", "x":21.5, "y":4.5, "h":2},
|
||||
|
||||
{"label":"Alt", "x":1, "y":5.5, "w":1.5},
|
||||
{"label":"Amiga", "x":2.5, "y":5.5, "w":1.5},
|
||||
{"label":"Space", "x":4, "y":5.5, "w":7},
|
||||
{"label":"Amiga", "x":11, "y":5.5, "w":1.5},
|
||||
{"label":"Alt", "x":12.5, "y":5.5, "w":1.5},
|
||||
{"label":"0", "x":18.5, "y":5.5, "w":2},
|
||||
{"label":".", "x":20.5, "y":5.5}]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,13 +27,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F11, KC_F12,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_F11, KC_F12,
|
||||
|
||||
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_BSLS, KC_BSPC, KC_DEL, KC_TRNS, KC_NLCK, KC_SLCK, KC_PSLS, KC_PSCR,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, KC_PMNS,
|
||||
KC_LCTL, 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_NO, KC_ENT, KC_UP, KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||
KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||
KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_P0, KC_PDOT
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NLCK, KC_SLCK, _______, KC_PSCR,
|
||||
_______, _______, _______, _______, RESET,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_NO, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
# Amiga 1200 Keyboard Converter
|
||||
|
||||
Modification of the Model-M 101 membrane adapter (converter/modelm101) to work with Amiga 1200 keyboard (and possibly Amiga 500/600 too). It would be very convenient to manufacture a small PCB adapter to make easier the task of connecting the keyboard membrane and the Teensy 2.0++ board.
|
||||
Modification of the Model-M 101 membrane adapter (converter/modelm101) to work with Amiga 1200 keyboard (and possibly Amiga 500/600 too).
|
||||
|
||||
A small PCB adapter is needed for connecting the keyboard membrane to the Teensy 2.0++ board. A very simple example of such a board can be seen here:
|
||||
https://github.com/8bits4ever/A1200-Keyboard-Adapter
|
||||
|
||||
This adapter is meant to allow using the original Amiga keyboard as a USB input device, either with a desktop PC or a R-Pi/FPGA board hosted inside the Amiga case.
|
||||
|
||||
@@ -19,8 +22,6 @@ Status LEDs: CapsLock +5V
|
||||
Pins: B6 5V
|
||||
```
|
||||
|
||||
Please note that some versions of Model M have LED connected with a ribbon cable, and not with separate wires.
|
||||
|
||||
* Keyboard Maintainer: [8bits4ever](https://github.com/8bits4ever)
|
||||
* Hardware Supported: Teensy 2.0++ board by PJRC
|
||||
* Hardware Availability: https://www.pjrc.com/store/teensypp.html
|
||||
|
||||
42
keyboards/crkbd/keymaps/vayashiko/config.h
Normal file
42
keyboards/crkbd/keymaps/vayashiko/config.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
This is the c configuration file for the keymap
|
||||
|
||||
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 USE_MATRIX_I2C
|
||||
|
||||
/* Select hand configuration */
|
||||
|
||||
#define MASTER_LEFT
|
||||
// #define MASTER_RIGHT
|
||||
// #define EE_HANDS
|
||||
|
||||
|
||||
|
||||
#define TAPPING_FORCE_HOLD
|
||||
#define TAPPING_TERM 100
|
||||
|
||||
#undef RGBLED_NUM
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLED_NUM 42
|
||||
#define RGBLIGHT_LIMIT_VAL 120
|
||||
#define RGBLIGHT_HUE_STEP 10
|
||||
#define RGBLIGHT_SAT_STEP 17
|
||||
#define RGBLIGHT_VAL_STEP 17
|
||||
182
keyboards/crkbd/keymaps/vayashiko/keymap.c
Normal file
182
keyboards/crkbd/keymaps/vayashiko/keymap.c
Normal file
@@ -0,0 +1,182 @@
|
||||
/*
|
||||
Copyright 2019 @foostan
|
||||
Copyright 2020 Drashna Jaelre <@drashna>
|
||||
|
||||
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
|
||||
#include "keymap_jp.h"
|
||||
|
||||
enum custom_layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_QWERTY] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LALT, KC_A, KC_S, KC_D, KC_F, KC_G, 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_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTRL, MO(1), KC_SPC, KC_ENT, MO(2), KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_DELETE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, XXXXXXX, KC_7, KC_8, KC_9, JP_MINS,KC_DELETE,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LALT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, XXXXXXX, KC_4, KC_5, KC_6, JP_PLUS,LSFT(KC_CAPS),
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_0, KC_1, KC_2, KC_3, KC_DOT, KC_RSFT,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTRL, _______, KC_SPC, KC_ENT, MO(3), KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_ESC, JP_EXLM, JP_DQT, JP_HASH, KC_DLR, JP_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_MINS, JP_CIRC,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, KC_GRV, XXXXXXX, XXXXXXX, KC_MHEN, KC_G, XXXXXXX, KC_HENK, JP_LBRC, JP_RBRC, XXXXXXX, JP_YEN,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, JP_EQL,JP_AT,LSFT(JP_LBRC),LSFT(JP_RBRC),XXXXXXX,JP_UNDS,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, MO(3), KC_SPC, KC_ENT, _______, KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
),
|
||||
|
||||
[_ADJUST] = LAYOUT_split_3x6_3(
|
||||
//,-----------------------------------------------------. ,-----------------------------------------------------.
|
||||
KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LCTL, KC_HOME, KC_S, XXXXXXX, KC_END, KC_G, XXXXXXX, KC_LEFT, KC_DOWN,KC_RIGHT, XXXXXXX, XXXXXXX,
|
||||
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
|
||||
KC_LSFT, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_DOWN, XXXXXXX, XXXXXXX, KC_RSFT,
|
||||
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
|
||||
KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT
|
||||
//`--------------------------' `--------------------------'
|
||||
)
|
||||
};
|
||||
|
||||
#ifdef OLED_DRIVER_ENABLE
|
||||
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
|
||||
if (!is_master) {
|
||||
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
|
||||
}
|
||||
return rotation;
|
||||
}
|
||||
|
||||
#define L_BASE 0
|
||||
#define L_LOWER 2
|
||||
#define L_RAISE 4
|
||||
#define L_ADJUST 8
|
||||
|
||||
void oled_render_layer_state(void) {
|
||||
oled_write_P(PSTR("Layer: "), false);
|
||||
switch (layer_state) {
|
||||
case L_BASE:
|
||||
oled_write_ln_P(PSTR("Default"), false);
|
||||
break;
|
||||
case L_LOWER:
|
||||
oled_write_ln_P(PSTR("Lower"), false);
|
||||
break;
|
||||
case L_RAISE:
|
||||
oled_write_ln_P(PSTR("Raise"), false);
|
||||
break;
|
||||
case L_ADJUST:
|
||||
case L_ADJUST|L_LOWER:
|
||||
case L_ADJUST|L_RAISE:
|
||||
case L_ADJUST|L_LOWER|L_RAISE:
|
||||
oled_write_ln_P(PSTR("Adjust"), false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
char keylog_str[24] = {};
|
||||
|
||||
const char code_to_name[60] = {
|
||||
' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
|
||||
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
|
||||
'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
|
||||
'1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
|
||||
'R', 'E', 'B', 'T', '_', '-', '=', '[', ']', '\\',
|
||||
'#', ';', '\'', '`', ',', '.', '/', ' ', ' ', ' '};
|
||||
|
||||
void set_keylog(uint16_t keycode, keyrecord_t *record) {
|
||||
char name = ' ';
|
||||
if ((keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) ||
|
||||
(keycode >= QK_LAYER_TAP && keycode <= QK_LAYER_TAP_MAX)) { keycode = keycode & 0xFF; }
|
||||
if (keycode < 60) {
|
||||
name = code_to_name[keycode];
|
||||
}
|
||||
|
||||
// update keylog
|
||||
snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
|
||||
record->event.key.row, record->event.key.col,
|
||||
keycode, name);
|
||||
}
|
||||
|
||||
void oled_render_keylog(void) {
|
||||
oled_write(keylog_str, false);
|
||||
}
|
||||
|
||||
void render_bootmagic_status(bool status) {
|
||||
/* Show Ctrl-Gui Swap options */
|
||||
static const char PROGMEM logo[][2][3] = {
|
||||
{{0x97, 0x98, 0}, {0xb7, 0xb8, 0}},
|
||||
{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}},
|
||||
};
|
||||
if (status) {
|
||||
oled_write_ln_P(logo[0][0], false);
|
||||
oled_write_ln_P(logo[0][1], false);
|
||||
} else {
|
||||
oled_write_ln_P(logo[1][0], false);
|
||||
oled_write_ln_P(logo[1][1], false);
|
||||
}
|
||||
}
|
||||
|
||||
void oled_render_logo(void) {
|
||||
static const char PROGMEM crkbd_logo[] = {
|
||||
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||
0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
|
||||
0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
|
||||
0};
|
||||
oled_write_P(crkbd_logo, false);
|
||||
}
|
||||
|
||||
void oled_task_user(void) {
|
||||
if (is_master) {
|
||||
oled_render_layer_state();
|
||||
oled_render_keylog();
|
||||
} else {
|
||||
oled_render_logo();
|
||||
}
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
if (record->event.pressed) {
|
||||
set_keylog(keycode, record);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
#endif // OLED_DRIVER_ENABLE
|
||||
31
keyboards/crkbd/keymaps/vayashiko/rules.mk
Normal file
31
keyboards/crkbd/keymaps/vayashiko/rules.mk
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
# Build Options
|
||||
# change to "no" to disable the options, or define them in the Makefile in
|
||||
# the appropriate keymap folder that will get included automatically
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control(+450)
|
||||
CONSOLE_ENABLE = no # Console for debug(+400)
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
MIDI_ENABLE = no # MIDI controls
|
||||
AUDIO_ENABLE = no # Audio output on port C6
|
||||
UNICODE_ENABLE = no # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
|
||||
SWAP_HANDS_ENABLE = no # Enable one-hand typing
|
||||
|
||||
# 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 you want to change the display of OLED, you need to change here
|
||||
SRC += ./lib/glcdfont.c \
|
||||
./lib/rgb_state_reader.c \
|
||||
./lib/layer_state_reader.c \
|
||||
./lib/logo_reader.c \
|
||||
./lib/keylogger.c \
|
||||
# ./lib/mode_icon_reader.c \
|
||||
# ./lib/host_led_state_reader.c \
|
||||
# ./lib/timelogger.c \
|
||||
68
keyboards/ducky/one2mini/1861st/1861st.h
Normal file
68
keyboards/ducky/one2mini/1861st/1861st.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/* Copyright 2019 /u/KeepItUnder
|
||||
*
|
||||
* 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 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_all( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
|
||||
k40, k41, k42, k45, k4a, k4b, k4c, k4d \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, KC_NO }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \
|
||||
{ k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d } \
|
||||
}
|
||||
|
||||
#define LAYOUT_ansi( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
|
||||
k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3d, \
|
||||
k40, k41, k42, k45, k4a, k4b, k4c, k4d \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, KC_NO }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, KC_NO }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO }, \
|
||||
{ k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO }, \
|
||||
{ k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d } \
|
||||
}
|
||||
|
||||
#define LAYOUT_iso( \
|
||||
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, k3d, \
|
||||
k40, k41, k42, k45, k4a, k4b, k4c, k4d \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, KC_NO, }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, KC_NO, KC_NO, }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, KC_NO, }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, KC_NO, k3d, KC_NO, }, \
|
||||
{ k40, k41, k42, KC_NO, KC_NO, k45, KC_NO, KC_NO, KC_NO, KC_NO, k4a, k4b, k4c, k4d } \
|
||||
}
|
||||
57
keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.c
Normal file
57
keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.c
Normal file
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
ChibiOS Driver element - Copyright (C) 2019 /u/KeepItUnder
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#include "hal.h"
|
||||
|
||||
#if HAL_USE_PAL || defined(__DOXYGEN__)
|
||||
/**
|
||||
* @brief PAL setup.
|
||||
* @details Digital I/O ports static configuration as defined in @p board.h.
|
||||
* This variable is used by the HAL when initializing the PAL driver.
|
||||
*/
|
||||
const PALConfig pal_default_config = {
|
||||
# if NUC123_HAS_GPIOA
|
||||
{VAL_GPIOA_PMD, VAL_GPIOA_OFFD, VAL_GPIOA_DMASK, VAL_GPIOA_DBEN, VAL_GPIOA_IMD, VAL_GPIOA_IEN, VAL_GPIOA_ISRC, VAL_GPIOA_DOUT},
|
||||
# endif
|
||||
# if NUC123_HAS_GPIOB
|
||||
{VAL_GPIOB_PMD, VAL_GPIOB_OFFD, VAL_GPIOB_DMASK, VAL_GPIOB_DBEN, VAL_GPIOB_IMD, VAL_GPIOB_IEN, VAL_GPIOB_ISRC, VAL_GPIOB_DOUT},
|
||||
# endif
|
||||
# if NUC123_HAS_GPIOC
|
||||
{VAL_GPIOC_PMD, VAL_GPIOC_OFFD, VAL_GPIOC_DMASK, VAL_GPIOC_DBEN, VAL_GPIOC_IMD, VAL_GPIOC_IEN, VAL_GPIOC_ISRC, VAL_GPIOC_DOUT},
|
||||
# endif
|
||||
# if NUC123_HAS_GPIOD
|
||||
{VAL_GPIOD_PMD, VAL_GPIOD_OFFD, VAL_GPIOD_DMASK, VAL_GPIOD_DBEN, VAL_GPIOD_IMD, VAL_GPIOD_IEN, VAL_GPIOD_ISRC, VAL_GPIOD_DOUT},
|
||||
# endif
|
||||
# if NUC123_HAS_GPIOF
|
||||
{VAL_GPIOF_PMD, VAL_GPIOF_OFFD, VAL_GPIOF_DMASK, VAL_GPIOF_DBEN, VAL_GPIOF_IMD, VAL_GPIOF_IEN, VAL_GPIOF_ISRC, VAL_GPIOF_DOUT},
|
||||
# endif
|
||||
};
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @brief Early initialization code.
|
||||
* @details This initialization must be performed just after stack setup
|
||||
* and before any other initialization.
|
||||
*/
|
||||
void __early_init(void) {
|
||||
NUC123_clock_init();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Board-specific initialization code.
|
||||
* @todo Add your board-specific code, if any.
|
||||
*/
|
||||
void boardInit(void) {}
|
||||
961
keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.h
Normal file
961
keyboards/ducky/one2mini/1861st/boards/NUC123SD4AN0/board.h
Normal file
@@ -0,0 +1,961 @@
|
||||
/*
|
||||
ChibiOS Driver element - Copyright (C) 2019 /u/KeepItUnder
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef BOARD_H
|
||||
#define BOARD_H
|
||||
|
||||
/*
|
||||
* Setup for Generic NUC123 board.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Board identifier.
|
||||
*/
|
||||
#define BOARD_NUC123SD4AN0
|
||||
#define BOARD_NAME "Nuvoton NUC123SD4AN0 MCU"
|
||||
|
||||
/*
|
||||
* Board oscillators-related settings.
|
||||
* NOTE: LSE not fitted.
|
||||
* NOTE: HSE is fitted.
|
||||
*/
|
||||
#if !defined(NUC123_LSECLK)
|
||||
#define NUC123_LSECLK 0U
|
||||
#endif
|
||||
|
||||
#define NUC123_LSEDRV (3U << 3U)
|
||||
|
||||
#if !defined(NUC123_HSECLK)
|
||||
#define NUC123_HSECLK 12000000U
|
||||
#endif
|
||||
|
||||
//#define NUC123_HSE_BYPASS
|
||||
|
||||
/*
|
||||
* MCU type as defined in the NUC123 header.
|
||||
*/
|
||||
#define NUC123SD4AN0
|
||||
|
||||
/*
|
||||
* GPIO Multi Function Pin USB Setup
|
||||
* Requires Some GPIO pins to be disabled/set to USB
|
||||
*/
|
||||
|
||||
/*
|
||||
* IO pins assignments.
|
||||
*/
|
||||
#define GPIOA_PIN0 0U
|
||||
#define GPIOA_PIN1 1U
|
||||
#define GPIOA_PIN2 2U
|
||||
#define GPIOA_PIN3 3U
|
||||
#define GPIOA_PIN4 4U
|
||||
#define GPIOA_PIN5 5U
|
||||
#define GPIOA_PIN6 6U
|
||||
#define GPIOA_PIN7 7U
|
||||
#define GPIOA_PIN8 8U
|
||||
#define GPIOA_PIN9 9U
|
||||
#define GPIOA_SPI1_MISO0 10U
|
||||
#define GPIOA_SPI1_CLK 11U
|
||||
#define GPIOA_PWM0 12U
|
||||
#define GPIOA_PWM1 13U
|
||||
#define GPIOA_PWM2 14U
|
||||
#define GPIOA_PWM3 15U
|
||||
|
||||
#define GPIOB_UART0_RXD 0U
|
||||
#define GPIOB_UART0_TXD 1U
|
||||
#define GPIOB_UART0_RTS 2U
|
||||
#define GPIOB_UART0_CTS 3U
|
||||
#define GPIOB_UART1_RXD 4U
|
||||
#define GPIOB_UART1_TXD 5U
|
||||
#define GPIOB_UART1_RTS 6U
|
||||
#define GPIOB_UART1_CTS 7U
|
||||
#define GPIOB_TM0 8U
|
||||
#define GPIOB_TM1 9U
|
||||
#define GPIOB_TM2 10U
|
||||
#define GPIOB_PIN11 11U
|
||||
#define GPIOB_CLK0 12U
|
||||
#define GPIOB_PIN13 13U
|
||||
#define GPIOB_INT0 14U
|
||||
#define GPIOB_INT1 15U
|
||||
|
||||
#define GPIOC_PIN0 0U
|
||||
#define GPIOC_PIN1 1U
|
||||
#define GPIOC_PIN2 2U
|
||||
#define GPIOC_PIN3 3U
|
||||
#define GPIOC_PIN4 4U
|
||||
#define GPIOC_PIN5 5U
|
||||
#define GPIOC_PIN6 6U
|
||||
#define GPIOC_PIN7 7U
|
||||
#define GPIOC_PIN8 8U
|
||||
#define GPIOC_PIN9 9U
|
||||
#define GPIOC_PIN10 10U
|
||||
#define GPIOC_PIN11 11U
|
||||
#define GPIOC_PIN12 12U
|
||||
#define GPIOC_PIN13 13U
|
||||
#define GPIOC_PIN14 14U
|
||||
#define GPIOC_PIN15 15U
|
||||
|
||||
#define GPIOD_ADC0 0U
|
||||
#define GPIOD_ADC1 1U
|
||||
#define GPIOD_ADC2 2U
|
||||
#define GPIOD_ADC3 3U
|
||||
#define GPIOD_ADC4 4U
|
||||
#define GPIOD_ADC5 5U
|
||||
#define GPIOD_PIN6 6U
|
||||
#define GPIOD_PIN7 7U
|
||||
#define GPIOD_PIN8 8U
|
||||
#define GPIOD_PIN9 9U
|
||||
#define GPIOD_PIN10 10U
|
||||
#define GPIOD_PIN11 11U
|
||||
#define GPIOD_PIN12 12U
|
||||
#define GPIOD_PIN13 13U
|
||||
#define GPIOD_PIN14 14U
|
||||
#define GPIOD_PIN15 15U
|
||||
|
||||
#define GPIOE_PIN0 0U
|
||||
#define GPIOE_PIN1 1U
|
||||
#define GPIOE_PIN2 2U
|
||||
#define GPIOE_PIN3 3U
|
||||
#define GPIOE_PIN4 4U
|
||||
#define GPIOE_PIN5 5U
|
||||
#define GPIOE_PIN6 6U
|
||||
#define GPIOE_PIN7 7U
|
||||
#define GPIOE_PIN8 8U
|
||||
#define GPIOE_PIN9 9U
|
||||
#define GPIOE_PIN10 10U
|
||||
#define GPIOE_PIN11 11U
|
||||
#define GPIOE_PIN12 12U
|
||||
#define GPIOE_PIN13 13U
|
||||
#define GPIOE_PIN14 14U
|
||||
#define GPIOE_PIN15 15U
|
||||
|
||||
#define GPIOF_OSC_OUT 0U
|
||||
#define GPIOF_OSC_IN 1U
|
||||
#define GPIOF_I2C0_SDA 2U
|
||||
#define GPIOF_I2C0_SCL 3U
|
||||
#define GPIOF_PIN4 4U
|
||||
#define GPIOF_PIN5 5U
|
||||
#define GPIOF_PIN6 6U
|
||||
#define GPIOF_PIN7 7U
|
||||
#define GPIOF_PIN8 8U
|
||||
#define GPIOF_PIN9 9U
|
||||
#define GPIOF_PIN10 10U
|
||||
#define GPIOF_PIN11 11U
|
||||
#define GPIOF_PIN12 12U
|
||||
#define GPIOF_PIN13 13U
|
||||
#define GPIOF_PIN14 14U
|
||||
#define GPIOF_PIN15 15U
|
||||
|
||||
/*
|
||||
* IO lines assignments.
|
||||
*/
|
||||
#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
|
||||
#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
|
||||
#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
|
||||
#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
|
||||
|
||||
// #define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U)
|
||||
// #define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U)
|
||||
// #define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U)
|
||||
|
||||
#define LINE_OSC_IN PAL_LINE(GPIOF, 0U)
|
||||
#define LINE_OSC_OUT PAL_LINE(GPIOF, 1U)
|
||||
|
||||
/*
|
||||
* I/O ports initial setup, this configuration is established soon after reset
|
||||
* in the initialization code.
|
||||
* Please refer to the NUC123 Reference Manual for details.
|
||||
*/
|
||||
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
|
||||
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
|
||||
#define PIN_MODE_OPENDRAIN(n) (2U << ((n) * 2U))
|
||||
#define PIN_MODE_QUASI(n) (3U << ((n) * 2U))
|
||||
#define PIN_DIGITAL_EN(n) (0U << (n))
|
||||
#define PIN_DIGITAL_DIS(n) (1U << (n))
|
||||
#define PIN_DMASK_DIS(n) (0U << (n))
|
||||
#define PIN_DMASK_EN(n) (1U << (n))
|
||||
#define PIN_DBNCE_DIS(n) (0U << (n))
|
||||
#define PIN_DBNCE_EN(n) (1U << (n))
|
||||
#define PIN_IMD_EDGE(n) (0U << (n))
|
||||
#define PIN_IMD_LVL(n) (1U << (n))
|
||||
#define PIN_IEN_FELL_DIS(n) (0U << (n))
|
||||
#define PIN_IEN_FELL_EN(n) (1U << (n))
|
||||
#define PIN_IEN_REHL_DIS(n) ((0U << (n)) << 16)
|
||||
#define PIN_IEN_REHL_EN(n) ((1U << (n)) << 16)
|
||||
#define PIN_ISRC_EN(n) (1U << (n))
|
||||
#define PIN_ISRC_DIS(n) (0U << (n))
|
||||
#define PIN_ISRC_CLR(n) (1U << (n))
|
||||
#define PIN_DATA_LOW(n) (0U << (n))
|
||||
#define PIN_DATA_HIGH(n) (1U << (n))
|
||||
|
||||
/*
|
||||
* GPIOA setup:
|
||||
*
|
||||
* PA0 - PIN0 (input pullup).
|
||||
* PA1 - PIN1 (input pullup).
|
||||
* PA2 - PIN2 (input pullup).
|
||||
* PA3 - PIN3 (input pullup).
|
||||
* PA4 - PIN4 (input pullup).
|
||||
* PA5 - PIN5 (input pullup).
|
||||
* PA6 - PIN6 (input pullup).
|
||||
* PA7 - PIN7 (input pullup).
|
||||
* PA8 - PIN8 (input pullup).
|
||||
* PA9 - PIN9 (input pullup).
|
||||
* PA10 - SPI1_MISO0 (input pullup).
|
||||
* PA11 - SPI1_CLK (input floating).
|
||||
* PA12 - PWM0 (input floating).
|
||||
* PA13 - PWM1 (input pullup).
|
||||
* PA14 - PWM2 (input pullup).
|
||||
* PA15 - PWM3 (input pullup).
|
||||
*/
|
||||
|
||||
#define VAL_GPIOA_PMD (PIN_MODE_INPUT(GPIOA_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN3) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOA_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOA_SPI1_MISO0) | \
|
||||
PIN_MODE_INPUT(GPIOA_SPI1_CLK) | \
|
||||
PIN_MODE_INPUT(GPIOA_PWM0) | \
|
||||
PIN_MODE_INPUT(GPIOA_PWM1) | \
|
||||
PIN_MODE_INPUT(GPIOA_PWM2) | \
|
||||
PIN_MODE_INPUT(GPIOA_PWM3))
|
||||
#define VAL_GPIOA_OFFD (PIN_DIGITAL_EN(GPIOA_PIN0) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PIN1) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PIN2) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PIN3) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PIN4) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PIN5) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PIN6) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PIN7) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PIN8) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PIN9) | \
|
||||
PIN_DIGITAL_EN(GPIOA_SPI1_MISO0) | \
|
||||
PIN_DIGITAL_EN(GPIOA_SPI1_CLK) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PWM0) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PWM1) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PWM2) | \
|
||||
PIN_DIGITAL_EN(GPIOA_PWM3))
|
||||
#define VAL_GPIOA_DMASK (PIN_DMASK_EN(GPIOA_PIN0) | \
|
||||
PIN_DMASK_EN(GPIOA_PIN1) | \
|
||||
PIN_DMASK_EN(GPIOA_PIN2) | \
|
||||
PIN_DMASK_EN(GPIOA_PIN3) | \
|
||||
PIN_DMASK_EN(GPIOA_PIN4) | \
|
||||
PIN_DMASK_EN(GPIOA_PIN5) | \
|
||||
PIN_DMASK_EN(GPIOA_PIN6) | \
|
||||
PIN_DMASK_EN(GPIOA_PIN7) | \
|
||||
PIN_DMASK_EN(GPIOA_PIN8) | \
|
||||
PIN_DMASK_EN(GPIOA_PIN9) | \
|
||||
PIN_DMASK_EN(GPIOA_SPI1_MISO0) | \
|
||||
PIN_DMASK_EN(GPIOA_SPI1_CLK) | \
|
||||
PIN_DMASK_EN(GPIOA_PWM0) | \
|
||||
PIN_DMASK_EN(GPIOA_PWM1) | \
|
||||
PIN_DMASK_EN(GPIOA_PWM2) | \
|
||||
PIN_DMASK_EN(GPIOA_PWM3))
|
||||
#define VAL_GPIOA_DBEN (PIN_DBNCE_EN(GPIOA_PIN0) | \
|
||||
PIN_DBNCE_EN(GPIOA_PIN1) | \
|
||||
PIN_DBNCE_EN(GPIOA_PIN2) | \
|
||||
PIN_DBNCE_EN(GPIOA_PIN3) | \
|
||||
PIN_DBNCE_EN(GPIOA_PIN4) | \
|
||||
PIN_DBNCE_EN(GPIOA_PIN5) | \
|
||||
PIN_DBNCE_EN(GPIOA_PIN6) | \
|
||||
PIN_DBNCE_EN(GPIOA_PIN7) | \
|
||||
PIN_DBNCE_EN(GPIOA_PIN8) | \
|
||||
PIN_DBNCE_EN(GPIOA_PIN9) | \
|
||||
PIN_DBNCE_EN(GPIOA_SPI1_MISO0) | \
|
||||
PIN_DBNCE_EN(GPIOA_SPI1_CLK) | \
|
||||
PIN_DBNCE_EN(GPIOA_PWM0) | \
|
||||
PIN_DBNCE_EN(GPIOA_PWM1) | \
|
||||
PIN_DBNCE_EN(GPIOA_PWM2) | \
|
||||
PIN_DBNCE_EN(GPIOA_PWM3))
|
||||
#define VAL_GPIOA_IMD (PIN_IMD_EDGE(GPIOA_PIN0) | \
|
||||
PIN_IMD_EDGE(GPIOA_PIN1) | \
|
||||
PIN_IMD_EDGE(GPIOA_PIN2) | \
|
||||
PIN_IMD_EDGE(GPIOA_PIN3) | \
|
||||
PIN_IMD_EDGE(GPIOA_PIN4) | \
|
||||
PIN_IMD_EDGE(GPIOA_PIN5) | \
|
||||
PIN_IMD_EDGE(GPIOA_PIN6) | \
|
||||
PIN_IMD_EDGE(GPIOA_PIN7) | \
|
||||
PIN_IMD_EDGE(GPIOA_PIN8) | \
|
||||
PIN_IMD_EDGE(GPIOA_PIN9) | \
|
||||
PIN_IMD_EDGE(GPIOA_SPI1_MISO0) | \
|
||||
PIN_IMD_EDGE(GPIOA_SPI1_CLK) | \
|
||||
PIN_IMD_EDGE(GPIOA_PWM0) | \
|
||||
PIN_IMD_EDGE(GPIOA_PWM1) | \
|
||||
PIN_IMD_EDGE(GPIOA_PWM2) | \
|
||||
PIN_IMD_EDGE(GPIOA_PWM3))
|
||||
#define VAL_GPIOA_IEN (PIN_IEN_FELL_DIS(GPIOA_PIN0) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PIN1) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PIN2) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PIN3) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PIN4) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PIN5) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PIN6) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PIN7) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PIN8) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PIN9) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_SPI1_MISO0) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_SPI1_CLK) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PWM0) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PWM1) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PWM2) | \
|
||||
PIN_IEN_FELL_DIS(GPIOA_PWM3))
|
||||
#define VAL_GPIOA_ISRC (PIN_ISRC_DIS(GPIOA_PIN0) | \
|
||||
PIN_ISRC_DIS(GPIOA_PIN1) | \
|
||||
PIN_ISRC_DIS(GPIOA_PIN2) | \
|
||||
PIN_ISRC_DIS(GPIOA_PIN3) | \
|
||||
PIN_ISRC_DIS(GPIOA_PIN4) | \
|
||||
PIN_ISRC_DIS(GPIOA_PIN5) | \
|
||||
PIN_ISRC_DIS(GPIOA_PIN6) | \
|
||||
PIN_ISRC_DIS(GPIOA_PIN7) | \
|
||||
PIN_ISRC_DIS(GPIOA_PIN8) | \
|
||||
PIN_ISRC_DIS(GPIOA_PIN9) | \
|
||||
PIN_ISRC_DIS(GPIOA_SPI1_MISO0) | \
|
||||
PIN_ISRC_DIS(GPIOA_SPI1_CLK) | \
|
||||
PIN_ISRC_DIS(GPIOA_PWM0) | \
|
||||
PIN_ISRC_DIS(GPIOA_PWM1) | \
|
||||
PIN_ISRC_DIS(GPIOA_PWM2) | \
|
||||
PIN_ISRC_DIS(GPIOA_PWM3))
|
||||
#define VAL_GPIOA_DOUT (PIN_DATA_LOW(GPIOA_PIN0) | \
|
||||
PIN_DATA_LOW(GPIOA_PIN1) | \
|
||||
PIN_DATA_LOW(GPIOA_PIN2) | \
|
||||
PIN_DATA_LOW(GPIOA_PIN3) | \
|
||||
PIN_DATA_LOW(GPIOA_PIN4) | \
|
||||
PIN_DATA_LOW(GPIOA_PIN5) | \
|
||||
PIN_DATA_LOW(GPIOA_PIN6) | \
|
||||
PIN_DATA_LOW(GPIOA_PIN7) | \
|
||||
PIN_DATA_LOW(GPIOA_PIN8) | \
|
||||
PIN_DATA_LOW(GPIOA_PIN9) | \
|
||||
PIN_DATA_LOW(GPIOA_SPI1_MISO0) | \
|
||||
PIN_DATA_LOW(GPIOA_SPI1_CLK) | \
|
||||
PIN_DATA_LOW(GPIOA_PWM0) | \
|
||||
PIN_DATA_LOW(GPIOA_PWM1) | \
|
||||
PIN_DATA_LOW(GPIOA_PWM2) | \
|
||||
PIN_DATA_LOW(GPIOA_PWM3))
|
||||
|
||||
/*
|
||||
* GPIOB setup:
|
||||
*
|
||||
* PB0 - UART0_RXD (input pullup).
|
||||
* PB1 - UART0_TXD (output).
|
||||
* PB2 - UART0_RTS (output).
|
||||
* PB3 - UART0_CTS (output).
|
||||
* PB4 - UART1_RXD (output).
|
||||
* PB5 - UART1_TXD (output).
|
||||
* PB6 - UART1_RTS (output).
|
||||
* PB7 - UART1_CTS (output).
|
||||
* PB8 - TM0 (input pullup).
|
||||
* PB9 - TM1 (input pullup).
|
||||
* PB10 - TM2 (input pullup).
|
||||
* PB11 - PIN11 (input pullup).
|
||||
* PB12 - CLK0 (output).
|
||||
* PB13 - PIN13 (output).
|
||||
* PB14 - INT0 (debug output).
|
||||
* PB15 - INT1 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOB_PMD (PIN_MODE_INPUT(GPIOB_UART0_RXD) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_UART0_TXD) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_UART0_RTS) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_UART0_CTS) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_UART1_RXD) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_UART1_TXD) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_UART1_RTS) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_UART1_CTS) | \
|
||||
PIN_MODE_INPUT(GPIOB_TM0) | \
|
||||
PIN_MODE_INPUT(GPIOB_TM1) | \
|
||||
PIN_MODE_INPUT(GPIOB_TM2) | \
|
||||
PIN_MODE_INPUT(GPIOB_PIN11) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_CLK0) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_PIN13) | \
|
||||
PIN_MODE_OUTPUT(GPIOB_INT0) | \
|
||||
PIN_MODE_INPUT(GPIOB_INT1))
|
||||
#define VAL_GPIOB_OFFD (PIN_DIGITAL_EN(GPIOB_UART0_RXD) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_UART0_TXD) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_UART0_RTS) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_UART0_CTS) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_UART1_RXD) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_UART1_TXD) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_UART1_RTS) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_UART1_CTS) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_TM0) | \
|
||||
PIN_DIGITAL_EN(GPIOB_TM1) | \
|
||||
PIN_DIGITAL_EN(GPIOB_TM2) | \
|
||||
PIN_DIGITAL_EN(GPIOB_PIN11) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_CLK0) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_PIN13) | \
|
||||
PIN_DIGITAL_DIS(GPIOB_INT0) | \
|
||||
PIN_DIGITAL_EN(GPIOB_INT1))
|
||||
#define VAL_GPIOB_DMASK (PIN_DMASK_EN(GPIOB_UART0_RXD) | \
|
||||
PIN_DMASK_DIS(GPIOB_UART0_TXD) | \
|
||||
PIN_DMASK_DIS(GPIOB_UART0_RTS) | \
|
||||
PIN_DMASK_DIS(GPIOB_UART0_CTS) | \
|
||||
PIN_DMASK_DIS(GPIOB_UART1_RXD) | \
|
||||
PIN_DMASK_DIS(GPIOB_UART1_TXD) | \
|
||||
PIN_DMASK_DIS(GPIOB_UART1_RTS) | \
|
||||
PIN_DMASK_DIS(GPIOB_UART1_CTS) | \
|
||||
PIN_DMASK_EN(GPIOB_TM0) | \
|
||||
PIN_DMASK_EN(GPIOB_TM1) | \
|
||||
PIN_DMASK_EN(GPIOB_TM2) | \
|
||||
PIN_DMASK_EN(GPIOB_PIN11) | \
|
||||
PIN_DMASK_DIS(GPIOB_CLK0) | \
|
||||
PIN_DMASK_DIS(GPIOB_PIN13) | \
|
||||
PIN_DMASK_DIS(GPIOB_INT0) | \
|
||||
PIN_DMASK_EN(GPIOB_INT1))
|
||||
#define VAL_GPIOB_DBEN (PIN_DBNCE_EN(GPIOB_UART0_RXD) | \
|
||||
PIN_DBNCE_DIS(GPIOB_UART0_TXD) | \
|
||||
PIN_DBNCE_DIS(GPIOB_UART0_RTS) | \
|
||||
PIN_DBNCE_DIS(GPIOB_UART0_CTS) | \
|
||||
PIN_DBNCE_DIS(GPIOB_UART1_RXD) | \
|
||||
PIN_DBNCE_DIS(GPIOB_UART1_TXD) | \
|
||||
PIN_DBNCE_DIS(GPIOB_UART1_RTS) | \
|
||||
PIN_DBNCE_DIS(GPIOB_UART1_CTS) | \
|
||||
PIN_DBNCE_EN(GPIOB_TM0) | \
|
||||
PIN_DBNCE_EN(GPIOB_TM1) | \
|
||||
PIN_DBNCE_EN(GPIOB_TM2) | \
|
||||
PIN_DBNCE_EN(GPIOB_PIN11) | \
|
||||
PIN_DBNCE_DIS(GPIOB_CLK0) | \
|
||||
PIN_DBNCE_DIS(GPIOB_PIN13) | \
|
||||
PIN_DBNCE_DIS(GPIOB_INT0) | \
|
||||
PIN_DBNCE_EN(GPIOB_INT1))
|
||||
#define VAL_GPIOB_IMD (PIN_IMD_EDGE(GPIOB_UART0_RXD) | \
|
||||
PIN_IMD_EDGE(GPIOB_UART0_TXD) | \
|
||||
PIN_IMD_EDGE(GPIOB_UART0_RTS) | \
|
||||
PIN_IMD_EDGE(GPIOB_UART0_CTS) | \
|
||||
PIN_IMD_EDGE(GPIOB_UART1_RXD) | \
|
||||
PIN_IMD_EDGE(GPIOB_UART1_TXD) | \
|
||||
PIN_IMD_EDGE(GPIOB_UART1_RTS) | \
|
||||
PIN_IMD_EDGE(GPIOB_UART1_CTS) | \
|
||||
PIN_IMD_EDGE(GPIOB_TM0) | \
|
||||
PIN_IMD_EDGE(GPIOB_TM1) | \
|
||||
PIN_IMD_EDGE(GPIOB_TM2) | \
|
||||
PIN_IMD_EDGE(GPIOB_PIN11) | \
|
||||
PIN_IMD_EDGE(GPIOB_CLK0) | \
|
||||
PIN_IMD_EDGE(GPIOB_PIN13) | \
|
||||
PIN_IMD_EDGE(GPIOB_INT0) | \
|
||||
PIN_IMD_EDGE(GPIOB_INT1))
|
||||
#define VAL_GPIOB_IEN (PIN_IEN_FELL_DIS(GPIOB_UART0_RXD) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_UART0_TXD) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_UART0_RTS) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_UART0_CTS) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_UART1_RXD) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_UART1_TXD) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_UART1_RTS) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_UART1_CTS) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_TM0) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_TM1) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_TM2) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_PIN11) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_CLK0) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_PIN13) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_INT0) | \
|
||||
PIN_IEN_FELL_DIS(GPIOB_INT1))
|
||||
#define VAL_GPIOB_ISRC (PIN_ISRC_DIS(GPIOB_UART0_RXD) | \
|
||||
PIN_ISRC_DIS(GPIOB_UART0_TXD) | \
|
||||
PIN_ISRC_DIS(GPIOB_UART0_RTS) | \
|
||||
PIN_ISRC_DIS(GPIOB_UART0_CTS) | \
|
||||
PIN_ISRC_DIS(GPIOB_UART1_RXD) | \
|
||||
PIN_ISRC_DIS(GPIOB_UART1_TXD) | \
|
||||
PIN_ISRC_DIS(GPIOB_UART1_RTS) | \
|
||||
PIN_ISRC_DIS(GPIOB_UART1_CTS) | \
|
||||
PIN_ISRC_DIS(GPIOB_TM0) | \
|
||||
PIN_ISRC_DIS(GPIOB_TM1) | \
|
||||
PIN_ISRC_DIS(GPIOB_TM2) | \
|
||||
PIN_ISRC_DIS(GPIOB_PIN11) | \
|
||||
PIN_ISRC_DIS(GPIOB_CLK0) | \
|
||||
PIN_ISRC_DIS(GPIOB_PIN13) | \
|
||||
PIN_ISRC_DIS(GPIOB_INT0) | \
|
||||
PIN_ISRC_DIS(GPIOB_INT1))
|
||||
#define VAL_GPIOB_DOUT (PIN_DATA_LOW(GPIOB_UART0_RXD) | \
|
||||
PIN_DATA_LOW(GPIOB_UART0_TXD) | \
|
||||
PIN_DATA_LOW(GPIOB_UART0_RTS) | \
|
||||
PIN_DATA_LOW(GPIOB_UART0_CTS) | \
|
||||
PIN_DATA_LOW(GPIOB_UART1_RXD) | \
|
||||
PIN_DATA_LOW(GPIOB_UART1_TXD) | \
|
||||
PIN_DATA_LOW(GPIOB_UART1_RTS) | \
|
||||
PIN_DATA_LOW(GPIOB_UART1_CTS) | \
|
||||
PIN_DATA_LOW(GPIOB_TM0) | \
|
||||
PIN_DATA_LOW(GPIOB_TM1) | \
|
||||
PIN_DATA_LOW(GPIOB_TM2) | \
|
||||
PIN_DATA_LOW(GPIOB_PIN11) | \
|
||||
PIN_DATA_LOW(GPIOB_CLK0) | \
|
||||
PIN_DATA_LOW(GPIOB_PIN13) | \
|
||||
PIN_DATA_LOW(GPIOB_INT0) | \
|
||||
PIN_DATA_LOW(GPIOB_INT1))
|
||||
|
||||
/*
|
||||
* GPIOC setup:
|
||||
*
|
||||
* PC0 - PIN0 (input pullup).
|
||||
* PC1 - PIN1 (input pullup).
|
||||
* PC2 - PIN2 (input pullup).
|
||||
* PC3 - PIN3 (input pullup).
|
||||
* PC4 - PIN4 (output).
|
||||
* PC5 - PIN5 (output).
|
||||
* PC6 - PIN6 (input pullup).
|
||||
* PC7 - PIN7 (input pullup).
|
||||
* PC8 - PIN8 (input pullup).
|
||||
* PC9 - PIN9 (input pullup).
|
||||
* PC10 - PIN10 (input pullup).
|
||||
* PC11 - PIN11 (input pullup).
|
||||
* PC12 - PIN12 (input pullup).
|
||||
* PC13 - PIN13 (input pullup).
|
||||
* PC14 - PIN14 (input pullup).
|
||||
* PC15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOC_PMD (PIN_MODE_INPUT(GPIOC_PIN0) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN1) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN2) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN3) | \
|
||||
PIN_MODE_OUTPUT(GPIOC_PIN4) | \
|
||||
PIN_MODE_OUTPUT(GPIOC_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOC_PIN15))
|
||||
#define VAL_GPIOC_OFFD (PIN_DIGITAL_EN(GPIOC_PIN0) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN1) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN2) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN3) | \
|
||||
PIN_DIGITAL_DIS(GPIOC_PIN4) | \
|
||||
PIN_DIGITAL_DIS(GPIOC_PIN5) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN6) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN7) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN8) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN9) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN10) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN11) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN12) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN13) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN14) | \
|
||||
PIN_DIGITAL_EN(GPIOC_PIN15))
|
||||
#define VAL_GPIOC_DMASK (PIN_DMASK_EN(GPIOC_PIN0) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN1) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN2) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN3) | \
|
||||
PIN_DMASK_DIS(GPIOC_PIN4) | \
|
||||
PIN_DMASK_DIS(GPIOC_PIN5) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN6) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN7) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN8) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN9) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN10) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN11) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN12) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN13) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN14) | \
|
||||
PIN_DMASK_EN(GPIOC_PIN15))
|
||||
#define VAL_GPIOC_DBEN (PIN_DBNCE_EN(GPIOC_PIN0) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN1) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN2) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN3) | \
|
||||
PIN_DBNCE_DIS(GPIOC_PIN4) | \
|
||||
PIN_DBNCE_DIS(GPIOC_PIN5) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN6) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN7) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN8) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN9) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN10) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN11) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN12) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN13) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN14) | \
|
||||
PIN_DBNCE_EN(GPIOC_PIN15))
|
||||
#define VAL_GPIOC_IMD (PIN_IMD_EDGE(GPIOC_PIN0) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN1) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN2) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN3) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN4) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN5) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN6) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN7) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN8) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN9) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN10) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN11) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN12) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN13) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN14) | \
|
||||
PIN_IMD_EDGE(GPIOC_PIN15))
|
||||
#define VAL_GPIOC_IEN (PIN_IEN_FELL_DIS(GPIOC_PIN0) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN1) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN2) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN3) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN4) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN5) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN6) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN7) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN8) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN9) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN10) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN11) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN12) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN13) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN14) | \
|
||||
PIN_IEN_FELL_DIS(GPIOC_PIN15))
|
||||
#define VAL_GPIOC_ISRC (PIN_ISRC_DIS(GPIOC_PIN0) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN1) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN2) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN3) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN4) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN5) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN6) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN7) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN8) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN9) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN10) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN11) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN12) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN13) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN14) | \
|
||||
PIN_ISRC_DIS(GPIOC_PIN15))
|
||||
#define VAL_GPIOC_DOUT (PIN_DATA_LOW(GPIOC_PIN0) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN1) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN2) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN3) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN4) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN5) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN6) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN7) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN8) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN9) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN10) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN11) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN12) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN13) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN14) | \
|
||||
PIN_DATA_LOW(GPIOC_PIN15))
|
||||
|
||||
/*
|
||||
* GPIOD setup:
|
||||
*
|
||||
* PD0 - ADC0 (input pullup).
|
||||
* PD1 - ADC1 (input pullup).
|
||||
* PD2 - ADC2 (input pullup).
|
||||
* PD3 - ADC3 (output).
|
||||
* PD4 - ADC4 (output).
|
||||
* PD5 - ADC5 (output).
|
||||
* PD6 - PIN6 (input pullup).
|
||||
* PD7 - PIN7 (input pullup).
|
||||
* PD8 - PIN8 (input pullup).
|
||||
* PD9 - PIN9 (output).
|
||||
* PD10 - PIN10 (debug output).
|
||||
* PD11 - PIN11 (output).
|
||||
* PD12 - PIN12 (input pullup).
|
||||
* PD13 - PIN13 (input pullup).
|
||||
* PD14 - PIN14 (input pullup).
|
||||
* PD15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOD_PMD (PIN_MODE_INPUT(GPIOD_ADC0) | \
|
||||
PIN_MODE_INPUT(GPIOD_ADC1) | \
|
||||
PIN_MODE_INPUT(GPIOD_ADC2) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_ADC3) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_ADC4) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_ADC5) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN8) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_PIN9) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_PIN10) | \
|
||||
PIN_MODE_OUTPUT(GPIOD_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOD_PIN15))
|
||||
#define VAL_GPIOD_OFFD (PIN_DIGITAL_EN(GPIOD_ADC0) | \
|
||||
PIN_DIGITAL_EN(GPIOD_ADC1) | \
|
||||
PIN_DIGITAL_EN(GPIOD_ADC2) | \
|
||||
PIN_DIGITAL_DIS(GPIOD_ADC3) | \
|
||||
PIN_DIGITAL_DIS(GPIOD_ADC4) | \
|
||||
PIN_DIGITAL_DIS(GPIOD_ADC5) | \
|
||||
PIN_DIGITAL_EN(GPIOD_PIN6) | \
|
||||
PIN_DIGITAL_EN(GPIOD_PIN7) | \
|
||||
PIN_DIGITAL_EN(GPIOD_PIN8) | \
|
||||
PIN_DIGITAL_DIS(GPIOD_PIN9) | \
|
||||
PIN_DIGITAL_DIS(GPIOD_PIN10) | \
|
||||
PIN_DIGITAL_DIS(GPIOD_PIN11) | \
|
||||
PIN_DIGITAL_EN(GPIOD_PIN12) | \
|
||||
PIN_DIGITAL_EN(GPIOD_PIN13) | \
|
||||
PIN_DIGITAL_EN(GPIOD_PIN14) | \
|
||||
PIN_DIGITAL_EN(GPIOD_PIN15))
|
||||
#define VAL_GPIOD_DMASK (PIN_DMASK_EN(GPIOD_ADC0) | \
|
||||
PIN_DMASK_EN(GPIOD_ADC1) | \
|
||||
PIN_DMASK_EN(GPIOD_ADC2) | \
|
||||
PIN_DMASK_DIS(GPIOD_ADC3) | \
|
||||
PIN_DMASK_DIS(GPIOD_ADC4) | \
|
||||
PIN_DMASK_DIS(GPIOD_ADC5) | \
|
||||
PIN_DMASK_EN(GPIOD_PIN6) | \
|
||||
PIN_DMASK_EN(GPIOD_PIN7) | \
|
||||
PIN_DMASK_EN(GPIOD_PIN8) | \
|
||||
PIN_DMASK_DIS(GPIOD_PIN9) | \
|
||||
PIN_DMASK_DIS(GPIOD_PIN10) | \
|
||||
PIN_DMASK_DIS(GPIOD_PIN11) | \
|
||||
PIN_DMASK_EN(GPIOD_PIN12) | \
|
||||
PIN_DMASK_EN(GPIOD_PIN13) | \
|
||||
PIN_DMASK_EN(GPIOD_PIN14) | \
|
||||
PIN_DMASK_EN(GPIOD_PIN15))
|
||||
#define VAL_GPIOD_DBEN (PIN_DBNCE_EN(GPIOD_ADC0) | \
|
||||
PIN_DBNCE_EN(GPIOD_ADC1) | \
|
||||
PIN_DBNCE_EN(GPIOD_ADC2) | \
|
||||
PIN_DBNCE_DIS(GPIOD_ADC3) | \
|
||||
PIN_DBNCE_DIS(GPIOD_ADC4) | \
|
||||
PIN_DBNCE_DIS(GPIOD_ADC5) | \
|
||||
PIN_DBNCE_EN(GPIOD_PIN6) | \
|
||||
PIN_DBNCE_EN(GPIOD_PIN7) | \
|
||||
PIN_DBNCE_EN(GPIOD_PIN8) | \
|
||||
PIN_DBNCE_DIS(GPIOD_PIN9) | \
|
||||
PIN_DBNCE_DIS(GPIOD_PIN10) | \
|
||||
PIN_DBNCE_DIS(GPIOD_PIN11) | \
|
||||
PIN_DBNCE_EN(GPIOD_PIN12) | \
|
||||
PIN_DBNCE_EN(GPIOD_PIN13) | \
|
||||
PIN_DBNCE_EN(GPIOD_PIN14) | \
|
||||
PIN_DBNCE_EN(GPIOD_PIN15))
|
||||
#define VAL_GPIOD_IMD (PIN_IMD_EDGE(GPIOD_ADC0) | \
|
||||
PIN_IMD_EDGE(GPIOD_ADC1) | \
|
||||
PIN_IMD_EDGE(GPIOD_ADC2) | \
|
||||
PIN_IMD_EDGE(GPIOD_ADC3) | \
|
||||
PIN_IMD_EDGE(GPIOD_ADC4) | \
|
||||
PIN_IMD_EDGE(GPIOD_ADC5) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN6) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN7) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN8) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN9) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN10) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN11) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN12) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN13) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN14) | \
|
||||
PIN_IMD_EDGE(GPIOD_PIN15))
|
||||
#define VAL_GPIOD_IEN (PIN_IEN_FELL_DIS(GPIOD_ADC0) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_ADC1) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_ADC2) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_ADC3) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_ADC4) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_ADC5) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN6) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN7) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN8) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN9) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN10) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN11) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN12) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN13) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN14) | \
|
||||
PIN_IEN_FELL_DIS(GPIOD_PIN15))
|
||||
#define VAL_GPIOD_ISRC (PIN_ISRC_DIS(GPIOD_ADC0) | \
|
||||
PIN_ISRC_DIS(GPIOD_ADC1) | \
|
||||
PIN_ISRC_DIS(GPIOD_ADC2) | \
|
||||
PIN_ISRC_DIS(GPIOD_ADC3) | \
|
||||
PIN_ISRC_DIS(GPIOD_ADC4) | \
|
||||
PIN_ISRC_DIS(GPIOD_ADC5) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN6) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN7) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN8) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN9) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN10) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN11) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN12) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN13) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN14) | \
|
||||
PIN_ISRC_DIS(GPIOD_PIN15))
|
||||
#define VAL_GPIOD_DOUT (PIN_DATA_LOW(GPIOD_ADC0) | \
|
||||
PIN_DATA_LOW(GPIOD_ADC1) | \
|
||||
PIN_DATA_LOW(GPIOD_ADC2) | \
|
||||
PIN_DATA_LOW(GPIOD_ADC3) | \
|
||||
PIN_DATA_LOW(GPIOD_ADC4) | \
|
||||
PIN_DATA_LOW(GPIOD_ADC5) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN6) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN7) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN8) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN9) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN10) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN11) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN12) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN13) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN14) | \
|
||||
PIN_DATA_LOW(GPIOD_PIN15))
|
||||
|
||||
/*
|
||||
* GPIOF setup:
|
||||
*
|
||||
* PF0 - OSC_IN (input floating).
|
||||
* PF1 - OSC_OUT (input floating).
|
||||
* PF2 - I2C0_SDA (input pullup).
|
||||
* PF3 - I2C0_SCL (input pullup).
|
||||
* PF4 - PIN4 (input pullup).
|
||||
* PF5 - PIN5 (input pullup).
|
||||
* PF6 - PIN6 (input pullup).
|
||||
* PF7 - PIN7 (input pullup).
|
||||
* PF8 - PIN8 (input pullup).
|
||||
* PF9 - PIN9 (input pullup).
|
||||
* PF10 - PIN10 (input pullup).
|
||||
* PF11 - PIN11 (input pullup).
|
||||
* PF12 - PIN12 (input pullup).
|
||||
* PF13 - PIN13 (input pullup).
|
||||
* PF14 - PIN14 (input pullup).
|
||||
* PF15 - PIN15 (input pullup).
|
||||
*/
|
||||
#define VAL_GPIOF_PMD (PIN_MODE_QUASI(GPIOF_OSC_IN) | \
|
||||
PIN_MODE_QUASI(GPIOF_OSC_OUT) | \
|
||||
PIN_MODE_INPUT(GPIOF_I2C0_SDA) | \
|
||||
PIN_MODE_INPUT(GPIOF_I2C0_SCL) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN4) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN5) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN6) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN7) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN8) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN9) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN10) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN11) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN12) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN13) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN14) | \
|
||||
PIN_MODE_INPUT(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_OFFD (PIN_DIGITAL_DIS(GPIOF_OSC_IN) | \
|
||||
PIN_DIGITAL_DIS(GPIOF_OSC_OUT) | \
|
||||
PIN_DIGITAL_EN(GPIOF_I2C0_SDA) | \
|
||||
PIN_DIGITAL_EN(GPIOF_I2C0_SCL) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN4) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN5) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN6) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN7) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN8) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN9) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN10) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN11) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN12) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN13) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN14) | \
|
||||
PIN_DIGITAL_EN(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_DMASK (PIN_DMASK_DIS(GPIOF_OSC_IN) | \
|
||||
PIN_DMASK_DIS(GPIOF_OSC_OUT) | \
|
||||
PIN_DMASK_EN(GPIOF_I2C0_SDA) | \
|
||||
PIN_DMASK_EN(GPIOF_I2C0_SCL) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN4) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN5) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN6) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN7) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN8) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN9) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN10) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN11) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN12) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN13) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN14) | \
|
||||
PIN_DMASK_EN(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_DBEN (PIN_DBNCE_DIS(GPIOF_OSC_IN) | \
|
||||
PIN_DBNCE_DIS(GPIOF_OSC_OUT) | \
|
||||
PIN_DBNCE_EN(GPIOF_I2C0_SDA) | \
|
||||
PIN_DBNCE_EN(GPIOF_I2C0_SCL) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN4) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN5) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN6) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN7) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN8) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN9) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN10) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN11) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN12) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN13) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN14) | \
|
||||
PIN_DBNCE_EN(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_IMD (PIN_IMD_LVL(GPIOF_OSC_IN) | \
|
||||
PIN_IMD_LVL(GPIOF_OSC_OUT) | \
|
||||
PIN_IMD_EDGE(GPIOF_I2C0_SDA) | \
|
||||
PIN_IMD_EDGE(GPIOF_I2C0_SCL) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN4) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN5) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN6) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN7) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN8) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN9) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN10) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN11) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN12) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN13) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN14) | \
|
||||
PIN_IMD_EDGE(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_IEN (PIN_IEN_FELL_DIS(GPIOF_OSC_IN) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_OSC_OUT) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_I2C0_SDA) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_I2C0_SCL) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN4) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN5) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN6) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN7) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN8) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN9) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN10) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN11) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN12) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN13) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN14) | \
|
||||
PIN_IEN_FELL_DIS(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_ISRC (PIN_ISRC_DIS(GPIOF_OSC_IN) | \
|
||||
PIN_ISRC_DIS(GPIOF_OSC_OUT) | \
|
||||
PIN_ISRC_DIS(GPIOF_I2C0_SDA) | \
|
||||
PIN_ISRC_DIS(GPIOF_I2C0_SCL) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN4) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN5) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN6) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN7) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN8) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN9) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN10) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN11) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN12) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN13) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN14) | \
|
||||
PIN_ISRC_DIS(GPIOF_PIN15))
|
||||
#define VAL_GPIOF_DOUT (PIN_DATA_LOW(GPIOF_OSC_IN) | \
|
||||
PIN_DATA_LOW(GPIOF_OSC_OUT) | \
|
||||
PIN_DATA_LOW(GPIOF_I2C0_SDA) | \
|
||||
PIN_DATA_LOW(GPIOF_I2C0_SCL) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN4) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN5) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN6) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN7) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN8) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN9) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN10) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN11) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN12) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN13) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN14) | \
|
||||
PIN_DATA_LOW(GPIOF_PIN15))
|
||||
|
||||
|
||||
#if !defined(_FROM_ASM_)
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
void boardInit(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* _FROM_ASM_ */
|
||||
|
||||
#endif /* BOARD_H */
|
||||
@@ -0,0 +1,5 @@
|
||||
# List of all the board related files.
|
||||
BOARDSRC = $(BOARD_PATH)/boards/NUC123SD4AN0/board.c
|
||||
|
||||
# Required include directories
|
||||
BOARDINC = $(BOARD_PATH)/boards/NUC123SD4AN0
|
||||
23
keyboards/ducky/one2mini/1861st/chconf.h
Normal file
23
keyboards/ducky/one2mini/1861st/chconf.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/* Copyright 2020 QMK
|
||||
*
|
||||
* 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 CH_CFG_ST_FREQUENCY 10000
|
||||
#define CH_CFG_ST_TIMEDELTA 0
|
||||
#define CH_CFG_USE_WAITEXIT TRUE
|
||||
|
||||
#include_next <chconf.h>
|
||||
56
keyboards/ducky/one2mini/1861st/config.h
Normal file
56
keyboards/ducky/one2mini/1861st/config.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
Copyright 2019 /u/KeepItUnder
|
||||
|
||||
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 0x0416
|
||||
#define PRODUCT_ID 0x0123
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Ducky
|
||||
#define PRODUCT One2mini
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 15
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { D11, B4, B5, B6, B7 }
|
||||
#define MATRIX_COL_PINS { B10, B9, C13, C12, C11, C10, C9, C8, A15, A14, A13, D0, D1, D2, B8 }
|
||||
#define DIP_SWITCH_MATRIX_GRID { {0,14}, {1,14}, {2,14}, {3,14} }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL*/
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
#define FORCE_NKRO
|
||||
|
||||
#define GPIO_INPUT_PIN_DELAY (NUC123_HCLK / 6 / 1000000L)
|
||||
208
keyboards/ducky/one2mini/1861st/info.json
Normal file
208
keyboards/ducky/one2mini/1861st/info.json
Normal file
@@ -0,0 +1,208 @@
|
||||
{
|
||||
"keyboard_name": "Ducky One 2 Mini",
|
||||
"width": 14,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_all": {
|
||||
"layout": [
|
||||
{ "x": 0, "y": 0, "w": 1, "label": "ESC" },
|
||||
{ "x": 1, "y": 0, "w": 1, "label": "1" },
|
||||
{ "x": 2, "y": 0, "w": 1, "label": "2" },
|
||||
{ "x": 3, "y": 0, "w": 1, "label": "3" },
|
||||
{ "x": 4, "y": 0, "w": 1, "label": "4" },
|
||||
{ "x": 5, "y": 0, "w": 1, "label": "5" },
|
||||
{ "x": 6, "y": 0, "w": 1, "label": "6" },
|
||||
{ "x": 7, "y": 0, "w": 1, "label": "7" },
|
||||
{ "x": 8, "y": 0, "w": 1, "label": "8" },
|
||||
{ "x": 9, "y": 0, "w": 1, "label": "9" },
|
||||
{ "x": 10, "y": 0, "w": 1, "label": "0" },
|
||||
{ "x": 11, "y": 0, "w": 1, "label": "DASH" },
|
||||
{ "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" },
|
||||
{ "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" },
|
||||
{ "x": 0, "y": 1, "w": 1.5, "label": "TAB" },
|
||||
{ "x": 1.5, "y": 1, "w": 1, "label": "Q" },
|
||||
{ "x": 2.5, "y": 1, "w": 1, "label": "W" },
|
||||
{ "x": 3.5, "y": 1, "w": 1, "label": "E" },
|
||||
{ "x": 4.5, "y": 1, "w": 1, "label": "R" },
|
||||
{ "x": 5.5, "y": 1, "w": 1, "label": "T" },
|
||||
{ "x": 6.5, "y": 1, "w": 1, "label": "Y" },
|
||||
{ "x": 7.5, "y": 1, "w": 1, "label": "U" },
|
||||
{ "x": 8.5, "y": 1, "w": 1, "label": "I" },
|
||||
{ "x": 9.5, "y": 1, "w": 1, "label": "O" },
|
||||
{ "x": 10.5, "y": 1, "w": 1, "label": "P" },
|
||||
{ "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" },
|
||||
{ "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" },
|
||||
{ "x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH" },
|
||||
{ "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" },
|
||||
{ "x": 1.75, "y": 2, "w": 1, "label": "A" },
|
||||
{ "x": 2.75, "y": 2, "w": 1, "label": "S" },
|
||||
{ "x": 3.75, "y": 2, "w": 1, "label": "D" },
|
||||
{ "x": 4.75, "y": 2, "w": 1, "label": "F" },
|
||||
{ "x": 5.75, "y": 2, "w": 1, "label": "G" },
|
||||
{ "x": 6.75, "y": 2, "w": 1, "label": "H" },
|
||||
{ "x": 7.75, "y": 2, "w": 1, "label": "J" },
|
||||
{ "x": 8.75, "y": 2, "w": 1, "label": "K" },
|
||||
{ "x": 9.75, "y": 2, "w": 1, "label": "L" },
|
||||
{ "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" },
|
||||
{ "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" },
|
||||
{ "x": 12.75, "y": 2, "w": 1, "label": "ISOHASH" },
|
||||
{ "x": 13.75, "y": 2, "w": 1.25, "label": "ENTER" },
|
||||
{ "x": 0, "y": 3, "w": 1.25, "label": "LSHIFT" },
|
||||
{ "x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH" },
|
||||
{ "x": 2.25, "y": 3, "w": 1, "label": "Z" },
|
||||
{ "x": 3.25, "y": 3, "w": 1, "label": "X" },
|
||||
{ "x": 4.25, "y": 3, "w": 1, "label": "C" },
|
||||
{ "x": 5.25, "y": 3, "w": 1, "label": "V" },
|
||||
{ "x": 6.25, "y": 3, "w": 1, "label": "B" },
|
||||
{ "x": 7.25, "y": 3, "w": 1, "label": "N" },
|
||||
{ "x": 8.25, "y": 3, "w": 1, "label": "M" },
|
||||
{ "x": 9.25, "y": 3, "w": 1, "label": "COMMA" },
|
||||
{ "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" },
|
||||
{ "x": 11.25, "y": 3, "w": 1, "label": "SLASH" },
|
||||
{ "x": 12.25, "y": 3, "w": 2.25, "label": "RSHIFT" },
|
||||
{ "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" },
|
||||
{ "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" },
|
||||
{ "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" },
|
||||
{ "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" },
|
||||
{ "x": 10, "y": 4, "w": 1.25, "label": "RALT" },
|
||||
{ "x": 11.25, "y": 4, "w": 1.25, "label": "RCMD" },
|
||||
{ "x": 12.5, "y": 4, "w": 1.25, "label": "FN" },
|
||||
{ "x": 13.75, "y": 4, "w": 1.25, "label": "RCTRL" }
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_ansi": {
|
||||
"layout": [
|
||||
{ "x": 0, "y": 0, "w": 1, "label": "ESC" },
|
||||
{ "x": 1, "y": 0, "w": 1, "label": "1" },
|
||||
{ "x": 2, "y": 0, "w": 1, "label": "2" },
|
||||
{ "x": 3, "y": 0, "w": 1, "label": "3" },
|
||||
{ "x": 4, "y": 0, "w": 1, "label": "4" },
|
||||
{ "x": 5, "y": 0, "w": 1, "label": "5" },
|
||||
{ "x": 6, "y": 0, "w": 1, "label": "6" },
|
||||
{ "x": 7, "y": 0, "w": 1, "label": "7" },
|
||||
{ "x": 8, "y": 0, "w": 1, "label": "8" },
|
||||
{ "x": 9, "y": 0, "w": 1, "label": "9" },
|
||||
{ "x": 10, "y": 0, "w": 1, "label": "0" },
|
||||
{ "x": 11, "y": 0, "w": 1, "label": "DASH" },
|
||||
{ "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" },
|
||||
{ "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" },
|
||||
{ "x": 0, "y": 1, "w": 1.5, "label": "TAB" },
|
||||
{ "x": 1.5, "y": 1, "w": 1, "label": "Q" },
|
||||
{ "x": 2.5, "y": 1, "w": 1, "label": "W" },
|
||||
{ "x": 3.5, "y": 1, "w": 1, "label": "E" },
|
||||
{ "x": 4.5, "y": 1, "w": 1, "label": "R" },
|
||||
{ "x": 5.5, "y": 1, "w": 1, "label": "T" },
|
||||
{ "x": 6.5, "y": 1, "w": 1, "label": "Y" },
|
||||
{ "x": 7.5, "y": 1, "w": 1, "label": "U" },
|
||||
{ "x": 8.5, "y": 1, "w": 1, "label": "I" },
|
||||
{ "x": 9.5, "y": 1, "w": 1, "label": "O" },
|
||||
{ "x": 10.5, "y": 1, "w": 1, "label": "P" },
|
||||
{ "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" },
|
||||
{ "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" },
|
||||
{ "x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH" },
|
||||
{ "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" },
|
||||
{ "x": 1.75, "y": 2, "w": 1, "label": "A" },
|
||||
{ "x": 2.75, "y": 2, "w": 1, "label": "S" },
|
||||
{ "x": 3.75, "y": 2, "w": 1, "label": "D" },
|
||||
{ "x": 4.75, "y": 2, "w": 1, "label": "F" },
|
||||
{ "x": 5.75, "y": 2, "w": 1, "label": "G" },
|
||||
{ "x": 6.75, "y": 2, "w": 1, "label": "H" },
|
||||
{ "x": 7.75, "y": 2, "w": 1, "label": "J" },
|
||||
{ "x": 8.75, "y": 2, "w": 1, "label": "K" },
|
||||
{ "x": 9.75, "y": 2, "w": 1, "label": "L" },
|
||||
{ "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" },
|
||||
{ "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" },
|
||||
{ "x": 12.75, "y": 2, "w": 1, "label": "ISOHASH" },
|
||||
{ "x": 12.75, "y": 2, "w": 2.25, "label": "ENTER" },
|
||||
{ "x": 0, "y": 3, "w": 2.25, "label": "LSHIFT" },
|
||||
{ "x": 2.25, "y": 3, "w": 1, "label": "Z" },
|
||||
{ "x": 3.25, "y": 3, "w": 1, "label": "X" },
|
||||
{ "x": 4.25, "y": 3, "w": 1, "label": "C" },
|
||||
{ "x": 5.25, "y": 3, "w": 1, "label": "V" },
|
||||
{ "x": 6.25, "y": 3, "w": 1, "label": "B" },
|
||||
{ "x": 7.25, "y": 3, "w": 1, "label": "N" },
|
||||
{ "x": 8.25, "y": 3, "w": 1, "label": "M" },
|
||||
{ "x": 9.25, "y": 3, "w": 1, "label": "COMMA" },
|
||||
{ "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" },
|
||||
{ "x": 11.25, "y": 3, "w": 1, "label": "SLASH" },
|
||||
{ "x": 12.25, "y": 3, "w": 2.75, "label": "RSHIFT" },
|
||||
{ "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" },
|
||||
{ "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" },
|
||||
{ "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" },
|
||||
{ "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" },
|
||||
{ "x": 10, "y": 4, "w": 1.25, "label": "RALT" },
|
||||
{ "x": 11.25, "y": 4, "w": 1.25, "label": "RCMD" },
|
||||
{ "x": 12.5, "y": 4, "w": 1.25, "label": "FN" },
|
||||
{ "x": 13.75, "y": 4, "w": 1.25, "label": "RCTRL" }
|
||||
]
|
||||
},
|
||||
|
||||
"LAYOUT_iso": {
|
||||
"layout": [
|
||||
{ "x": 0, "y": 0, "w": 1, "label": "ESC" },
|
||||
{ "x": 1, "y": 0, "w": 1, "label": "1" },
|
||||
{ "x": 2, "y": 0, "w": 1, "label": "2" },
|
||||
{ "x": 3, "y": 0, "w": 1, "label": "3" },
|
||||
{ "x": 4, "y": 0, "w": 1, "label": "4" },
|
||||
{ "x": 5, "y": 0, "w": 1, "label": "5" },
|
||||
{ "x": 6, "y": 0, "w": 1, "label": "6" },
|
||||
{ "x": 7, "y": 0, "w": 1, "label": "7" },
|
||||
{ "x": 8, "y": 0, "w": 1, "label": "8" },
|
||||
{ "x": 9, "y": 0, "w": 1, "label": "9" },
|
||||
{ "x": 10, "y": 0, "w": 1, "label": "0" },
|
||||
{ "x": 11, "y": 0, "w": 1, "label": "DASH" },
|
||||
{ "x": 12, "y": 0, "w": 1, "label": "EQUALSIGN" },
|
||||
{ "x": 13, "y": 0, "w": 2, "label": "BACKSPACE" },
|
||||
{ "x": 0, "y": 1, "w": 1.5, "label": "TAB" },
|
||||
{ "x": 1.5, "y": 1, "w": 1, "label": "Q" },
|
||||
{ "x": 2.5, "y": 1, "w": 1, "label": "W" },
|
||||
{ "x": 3.5, "y": 1, "w": 1, "label": "E" },
|
||||
{ "x": 4.5, "y": 1, "w": 1, "label": "R" },
|
||||
{ "x": 5.5, "y": 1, "w": 1, "label": "T" },
|
||||
{ "x": 6.5, "y": 1, "w": 1, "label": "Y" },
|
||||
{ "x": 7.5, "y": 1, "w": 1, "label": "U" },
|
||||
{ "x": 8.5, "y": 1, "w": 1, "label": "I" },
|
||||
{ "x": 9.5, "y": 1, "w": 1, "label": "O" },
|
||||
{ "x": 10.5, "y": 1, "w": 1, "label": "P" },
|
||||
{ "x": 11.5, "y": 1, "w": 1, "label": "LBRACKET" },
|
||||
{ "x": 12.5, "y": 1, "w": 1, "label": "RBRACKET" },
|
||||
{ "x": 13.75, "y": 1, "w": 1.25, "h": 2, "label": "ENTER" },
|
||||
{ "x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK" },
|
||||
{ "x": 1.75, "y": 2, "w": 1, "label": "A" },
|
||||
{ "x": 2.75, "y": 2, "w": 1, "label": "S" },
|
||||
{ "x": 3.75, "y": 2, "w": 1, "label": "D" },
|
||||
{ "x": 4.75, "y": 2, "w": 1, "label": "F" },
|
||||
{ "x": 5.75, "y": 2, "w": 1, "label": "G" },
|
||||
{ "x": 6.75, "y": 2, "w": 1, "label": "H" },
|
||||
{ "x": 7.75, "y": 2, "w": 1, "label": "J" },
|
||||
{ "x": 8.75, "y": 2, "w": 1, "label": "K" },
|
||||
{ "x": 9.75, "y": 2, "w": 1, "label": "L" },
|
||||
{ "x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON" },
|
||||
{ "x": 11.75, "y": 2, "w": 1, "label": "QUOTE" },
|
||||
{ "x": 12.75, "y": 2, "w": 1, "label": "ISOHASH" },
|
||||
{ "x": 0, "y": 3, "w": 1.25, "label": "LSHIFT" },
|
||||
{ "x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH" },
|
||||
{ "x": 2.25, "y": 3, "w": 1, "label": "Z" },
|
||||
{ "x": 3.25, "y": 3, "w": 1, "label": "X" },
|
||||
{ "x": 4.25, "y": 3, "w": 1, "label": "C" },
|
||||
{ "x": 5.25, "y": 3, "w": 1, "label": "V" },
|
||||
{ "x": 6.25, "y": 3, "w": 1, "label": "B" },
|
||||
{ "x": 7.25, "y": 3, "w": 1, "label": "N" },
|
||||
{ "x": 8.25, "y": 3, "w": 1, "label": "M" },
|
||||
{ "x": 9.25, "y": 3, "w": 1, "label": "COMMA" },
|
||||
{ "x": 10.25, "y": 3, "w": 1, "label": "PERIOD" },
|
||||
{ "x": 11.25, "y": 3, "w": 1, "label": "SLASH" },
|
||||
{ "x": 12.25, "y": 3, "w": 2.75, "label": "RSHIFT" },
|
||||
{ "x": 0, "y": 4, "w": 1.25, "label": "LCTRL" },
|
||||
{ "x": 1.25, "y": 4, "w": 1.25, "label": "LCMD" },
|
||||
{ "x": 2.5, "y": 4, "w": 1.25, "label": "LALT" },
|
||||
{ "x": 3.75, "y": 4, "w": 6.25, "label": "SPACE" },
|
||||
{ "x": 10, "y": 4, "w": 1.25, "label": "RALT" },
|
||||
{ "x": 11.25, "y": 4, "w": 1.25, "label": "RCMD" },
|
||||
{ "x": 12.5, "y": 4, "w": 1.25, "label": "FN" },
|
||||
{ "x": 13.75, "y": 4, "w": 1.25, "label": "RCTRL" }
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
51
keyboards/ducky/one2mini/1861st/mcuconf.h
Normal file
51
keyboards/ducky/one2mini/1861st/mcuconf.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
ChibiOS - Copyright (C) 2020 Alex Lewontin
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef _MCUCONF_H_
|
||||
#define _MCUCONF_H_
|
||||
|
||||
/*
|
||||
* Board setting
|
||||
* The following settings override the default settings present in
|
||||
* the various device driver implementation headers.
|
||||
* Note that the settings for each driver only have effect if the whole
|
||||
* driver is enabled in halconf.h.
|
||||
*
|
||||
* IRQ priorities:
|
||||
* 3...0 Lowest...Highest.
|
||||
*
|
||||
* DMA priorities:
|
||||
* 5...0 Lowest...Highest.
|
||||
*/
|
||||
|
||||
/*
|
||||
* HAL driver system settings.
|
||||
*/
|
||||
#define NUC123_HSE_ENABLED TRUE
|
||||
#define NUC123_PLL_ENABLED TRUE
|
||||
#define NUC123_PLLSRC NUC123_PLLSRC_HSE
|
||||
#define NUC123_HCLKSRC NUC123_HCLKSRC_PLL
|
||||
#define NUC123_HCLKDIV 2
|
||||
#define NUC123_PLL_NF 144
|
||||
#define NUC123_USB_USE_USB0 TRUE
|
||||
#define NUC123_USB_USE_USB1 TRUE
|
||||
|
||||
#define NUC123_SERIAL_USE_UART0 TRUE
|
||||
#define NUC123_SERIAL_CLKSRC NUC123_SERIAL_CLKSRC_HSI
|
||||
|
||||
#define NUC123_MCUCONF
|
||||
|
||||
#endif /* _MCUCONF_H_ */
|
||||
29
keyboards/ducky/one2mini/1861st/readme.md
Normal file
29
keyboards/ducky/one2mini/1861st/readme.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# one2mini
|
||||
|
||||

|
||||
|
||||
A 60% keyboard featuring per-key RGB LEDs.
|
||||
|
||||
* Keyboard Maintainer: [Reza Jelveh](https://github.com/fishman)
|
||||
* Hardware Supported: Ducky One 2 Mini RGB / NUC123SD4AN0 / MBI5042GP
|
||||
* Hardware Availability: [Ducky Channel](http://www.duckychannel.com.tw/page-en/One_2_Mini_RGB/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make ducky/one2mini: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).
|
||||
|
||||
RGB LEDs are currently disabled until the driver is merged.
|
||||
|
||||
This firmware was tested on the duckyon2mini 1861ST version. To enter the 1861ST bootloader to flash you can boot the keyboard while holding D+L.
|
||||
|
||||
There are then two ways to flash the keyboard:
|
||||
|
||||
pip install --user nuvoton-isp
|
||||
nuvoisp -f ducky_one2mini_default.bin
|
||||
|
||||
Alternatively you can use elfmimi's [nu-isp-cli](https://lib.rs/crates/nu-isp-cli) which is more complete than nuvoisp and allows flashing .hex files as well.
|
||||
|
||||
cargo install nu-isp-cli
|
||||
nu-isp-cli flash ducky_one2mini_default.bin
|
||||
35
keyboards/ducky/one2mini/1861st/rules.mk
Normal file
35
keyboards/ducky/one2mini/1861st/rules.mk
Normal file
@@ -0,0 +1,35 @@
|
||||
MCU_FAMILY = NUMICRO
|
||||
MCU_SERIES = NUC123
|
||||
|
||||
# linker script to use
|
||||
MCU_LDSCRIPT = NUC123xD4xx0
|
||||
|
||||
# startup code to use
|
||||
MCU_STARTUP = NUC123
|
||||
BOARD = NUC123SD4AN0
|
||||
|
||||
# NUC123 series is Cortex M0
|
||||
MCU = cortex-m0
|
||||
# ARM version, CORTEX-M0/M1 are 6, CORTEX-M3/M4/M7 are 7
|
||||
ARMV = 6
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = no # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
DIP_SWITCH_ENABLE = yes
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
56
keyboards/ducky/one2mini/keymaps/ansi/keymap.c
Normal file
56
keyboards/ducky/one2mini/keymaps/ansi/keymap.c
Normal file
@@ -0,0 +1,56 @@
|
||||
/* Copyright 2019 /u/KeepItUnder
|
||||
*
|
||||
* 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
|
||||
|
||||
// LAYERS
|
||||
enum Layer {
|
||||
_QWERTY = 0, // Standard QWERTY layer
|
||||
_FUNCTION, // Function key layer
|
||||
_COLOUR // RGB key layer
|
||||
};
|
||||
#define _QW _QWERTY
|
||||
#define _FN _FUNCTION
|
||||
#define _CLR _COLOUR
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = LAYOUT_ansi(
|
||||
// 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
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_NUBS,
|
||||
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||
KC_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(_FN), KC_RCTL
|
||||
),
|
||||
|
||||
[_FUNCTION] = LAYOUT_ansi(
|
||||
// 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
_______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______,
|
||||
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SLCK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT,
|
||||
_______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
|
||||
_______, KC_APP, MO(_CLR), _______, _______, KC_APP, _______, _______
|
||||
),
|
||||
|
||||
[_COLOUR] = LAYOUT_ansi(
|
||||
// 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, RGB_TOG, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
1
keyboards/ducky/one2mini/keymaps/ansi/readme.md
Normal file
1
keyboards/ducky/one2mini/keymaps/ansi/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default ANSI keymap for one2mini
|
||||
25
keyboards/ducky/one2mini/keymaps/default/config.h
Normal file
25
keyboards/ducky/one2mini/keymaps/default/config.h
Normal file
@@ -0,0 +1,25 @@
|
||||
/* Copyright 2019 /u/KeepItUnder
|
||||
*
|
||||
* 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
|
||||
|
||||
// place overrides here
|
||||
#define GRAVE_ESC_GUI_OVERRIDE
|
||||
#define MK_3_SPEED
|
||||
#define MK_C_OFFSET_UNMOD 400 /* Cursor offset per movement (unmodified) */
|
||||
#define MK_C_INTERVAL_UNMOD 5 /* Time between cursor movements (unmodified) */
|
||||
#define MK_W_OFFSET_UNMOD 100 /* Scroll steps per scroll action (unmodified) */
|
||||
#define MK_W_INTERVAL_UNMOD 10 /* Time between scroll steps (unmodified) */
|
||||
56
keyboards/ducky/one2mini/keymaps/default/keymap.c
Normal file
56
keyboards/ducky/one2mini/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,56 @@
|
||||
/* Copyright 2019 /u/KeepItUnder
|
||||
*
|
||||
* 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
|
||||
|
||||
// LAYERS
|
||||
enum Layer {
|
||||
_QWERTY = 0, // Standard QWERTY layer
|
||||
_FUNCTION, // Function key layer
|
||||
_COLOUR // RGB key layer
|
||||
};
|
||||
#define _QW _QWERTY
|
||||
#define _FN _FUNCTION
|
||||
#define _CLR _COLOUR
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = LAYOUT_all(
|
||||
// 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
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_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL
|
||||
),
|
||||
|
||||
[_FUNCTION] = LAYOUT_all(
|
||||
// 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
_______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR, _______,
|
||||
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SLCK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT,
|
||||
_______, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
|
||||
_______, _______, MO(_CLR), KC_MPLY, _______, KC_APP, _______, _______
|
||||
),
|
||||
|
||||
[_COLOUR] = LAYOUT_all(
|
||||
// 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, RGB_TOG, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
1
keyboards/ducky/one2mini/keymaps/default/readme.md
Normal file
1
keyboards/ducky/one2mini/keymaps/default/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for one2mini (ISO & ANSI combined)
|
||||
56
keyboards/ducky/one2mini/keymaps/iso/keymap.c
Normal file
56
keyboards/ducky/one2mini/keymaps/iso/keymap.c
Normal file
@@ -0,0 +1,56 @@
|
||||
/* Copyright 2019 /u/KeepItUnder
|
||||
*
|
||||
* 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
|
||||
|
||||
// LAYERS
|
||||
enum Layer {
|
||||
_QWERTY = 0, // Standard QWERTY layer
|
||||
_FUNCTION, // Function key layer
|
||||
_COLOUR // RGB key layer
|
||||
};
|
||||
#define _QW _QWERTY
|
||||
#define _FN _FUNCTION
|
||||
#define _CLR _COLOUR
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_QWERTY] = LAYOUT_iso(
|
||||
// 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
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_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
|
||||
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN), KC_RCTL
|
||||
),
|
||||
|
||||
[_FUNCTION] = LAYOUT_iso(
|
||||
// 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||
_______, KC_BTN1, KC_MS_U, KC_BTN2, KC_WH_U, _______, KC_INS, _______, KC_UP, KC_PAUS, KC_PGUP, KC_HOME, KC_PSCR,
|
||||
_______, KC_MS_L, KC_MS_D, KC_MS_R, KC_WH_D, _______, KC_SLCK, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_END, _______, KC_ENT,
|
||||
_______, _______, _______, KC_APP, _______, _______, _______, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
|
||||
_______, KC_APP, MO(_CLR), _______, _______, KC_APP, _______, _______
|
||||
),
|
||||
|
||||
[_COLOUR] = LAYOUT_iso(
|
||||
// 2 3 4 5 6 7 8 9 10 11 12 13 14
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, RGB_TOG, _______, _______, _______, _______
|
||||
),
|
||||
};
|
||||
1
keyboards/ducky/one2mini/keymaps/iso/readme.md
Normal file
1
keyboards/ducky/one2mini/keymaps/iso/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default ISO keymap for one2mini
|
||||
7
keyboards/ducky/one2mini/readme.md
Normal file
7
keyboards/ducky/one2mini/readme.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# one2mini
|
||||
|
||||

|
||||
|
||||
A 60% keyboard featuring per-key RGB LEDs.
|
||||
|
||||
See child directories for compatible boards.
|
||||
1
keyboards/ducky/one2mini/rules.mk
Normal file
1
keyboards/ducky/one2mini/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
DEFAULT_FOLDER = ducky/one2mini/1861st
|
||||
77
keyboards/ferris/0_2/bling/bling.c
Normal file
77
keyboards/ferris/0_2/bling/bling.c
Normal file
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.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 "quantum.h"
|
||||
|
||||
#include "drivers/issi/is31fl3731.h"
|
||||
|
||||
/*
|
||||
| Left || Right |
|
||||
| | 3 | | 0 || 0 | | 3 | |
|
||||
| 5 | | | || | | | 6 |
|
||||
| | | | || | | | |
|
||||
| | | | 1 || 1 | | | |
|
||||
| | 4 | | || | | 4 | |
|
||||
| 6 | | | 2 || 2 | | | 5 |
|
||||
*/
|
||||
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||
/* Refer to IS31 manual for these locations
|
||||
* driver
|
||||
* | R location
|
||||
* | | G location
|
||||
* | | | B location
|
||||
* | | | | */
|
||||
{0, C9_10, C8_10, C7_10}, // Left RGB 5
|
||||
{0, C9_12, C8_12, C7_12}, // Left RGB 3
|
||||
{0, C9_15, C8_15, C6_14}, // Left RGB 0
|
||||
{1, C1_2, C2_2, C4_3}, // Right RGB 0
|
||||
{1, C1_5, C2_5, C3_5}, // Right RGB 3
|
||||
{1, C1_8, C2_8, C3_8}, // Right RGB 6
|
||||
{1, C1_7, C2_7, C3_7}, // Right RGB 5
|
||||
{1, C1_6, C2_6, C3_6}, // Right RGB 4
|
||||
{1, C1_3, C2_3, C3_3}, // Right RGB 1
|
||||
{1, C1_4, C2_4, C3_4}, // Right RGB 2
|
||||
{0, C9_13, C8_13, C7_13}, // Left RGB 2
|
||||
{0, C9_14, C8_14, C7_14}, // Left RGB 1
|
||||
{0, C9_11, C8_11, C7_11}, // Left RGB 4
|
||||
{0, C9_9, C8_9, C7_9}, // Left RGB 6
|
||||
};
|
||||
// clang-format off
|
||||
led_config_t g_led_config = {
|
||||
// Key Matrix to LED Index
|
||||
{
|
||||
{},
|
||||
}, {
|
||||
// LED Index to Physical Position. The unit is roughly milimiters in the real world
|
||||
// | Left || Right |
|
||||
// x->| 10 | 32 | 64 || 160 | 192 | 214 |
|
||||
// y |_____|_____|____||_____|_____|_____|
|
||||
// 0 | | 1 | 2 || 3 | 4 | |
|
||||
// 16 | 0 | | || | | 5 |
|
||||
// 35 | | | 11 || 8 | | |
|
||||
// 45 | | 12 | || | 7 | |
|
||||
// 50 | 13 | | 10 || 9 | | 6 |
|
||||
// 0 1 2 3 4 5
|
||||
{10, 16}, {32, 0}, {64, 0}, {160, 0}, {192, 0}, {214, 16},
|
||||
// 6 7 8 9
|
||||
{214, 50}, {192, 45}, {160, 35}, {160, 50},
|
||||
// 10 11 12 13
|
||||
{64, 50}, {64, 35}, {32, 45}, {10, 50},
|
||||
}, {
|
||||
// LED Index to Flag
|
||||
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
|
||||
}
|
||||
};
|
||||
34
keyboards/ferris/0_2/bling/config.h
Normal file
34
keyboards/ferris/0_2/bling/config.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/*
|
||||
Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.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
|
||||
|
||||
#undef PRODUCT_ID
|
||||
#define PRODUCT_ID 0x0002
|
||||
#undef PRODUCT
|
||||
#define PRODUCT Ferris 0.2 - Bling
|
||||
|
||||
|
||||
|
||||
/* LED Drivers */
|
||||
#define DRIVER_ADDR_1 0b1110100
|
||||
#define DRIVER_ADDR_2 0b1110101
|
||||
#define DRIVER_COUNT 2
|
||||
#define DRIVER_1_LED_TOTAL 7
|
||||
#define DRIVER_2_LED_TOTAL 7
|
||||
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
|
||||
|
||||
16
keyboards/ferris/0_2/bling/readme.md
Normal file
16
keyboards/ferris/0_2/bling/readme.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Ferris 0.2 - Bling
|
||||
|
||||

|
||||
|
||||
Ferris 0.2 with RGB underglow.
|
||||
|
||||
* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
|
||||
* Hardware Supported:
|
||||
* Ferris 0.2 - Bling: (STM32F072 MCU on the left, MCP23017 on the right, IS31FL3731 led driver chip on each side)
|
||||
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
|
||||
|
||||
Make examples for this keyboard (after setting up your build environment):
|
||||
|
||||
make ferris/0_2/bling: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).
|
||||
2
keyboards/ferris/0_2/bling/rules.mk
Normal file
2
keyboards/ferris/0_2/bling/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
RGB_MATRIX_ENABLE = yes
|
||||
RGB_MATRIX_DRIVER = IS31FL3731
|
||||
23
keyboards/ferris/0_2/compact/config.h
Normal file
23
keyboards/ferris/0_2/compact/config.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.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
|
||||
|
||||
#undef PRODUCT_ID
|
||||
#define PRODUCT_ID 0x0003
|
||||
#undef PRODUCT
|
||||
#define PRODUCT Ferris 0.2 - Compact
|
||||
17
keyboards/ferris/0_2/compact/readme.md
Normal file
17
keyboards/ferris/0_2/compact/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Ferris 0.2 - Compact
|
||||
|
||||

|
||||

|
||||
|
||||
Ferris 0.2 - Compact with Kailh Choc support and Choc spacing.
|
||||
|
||||
* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
|
||||
* Hardware Supported:
|
||||
* Ferris 0.2 - Compact: (STM32F072 MCU on the left, MCP23017 on the right)
|
||||
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
|
||||
|
||||
Make examples for this keyboard (after setting up your build environment):
|
||||
|
||||
make ferris/0_2/compact: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).
|
||||
@@ -21,8 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define VENDOR_ID 0xC2AB
|
||||
#define PRODUCT_ID 0x0001
|
||||
#define DEVICE_VER 0x0002
|
||||
#define MANUFACTURER Pierre
|
||||
#define PRODUCT Ferris the keeb
|
||||
#define MANUFACTURER Cuddly Keyboards Ltd.
|
||||
#define PRODUCT Ferris 0.2
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 8
|
||||
|
||||
23
keyboards/ferris/0_2/high/config.h
Normal file
23
keyboards/ferris/0_2/high/config.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.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
|
||||
|
||||
#undef PRODUCT_ID
|
||||
#define PRODUCT_ID 0x0005
|
||||
#undef PRODUCT
|
||||
#define PRODUCT Ferris 0.2 - High
|
||||
17
keyboards/ferris/0_2/high/readme.md
Normal file
17
keyboards/ferris/0_2/high/readme.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Ferris 0.2 - High
|
||||
|
||||

|
||||

|
||||
|
||||
Ferris 0.2 - High with Cherry MX support.
|
||||
|
||||
* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
|
||||
* Hardware Supported:
|
||||
* Ferris 0.2 - High: (STM32F072 MCU on the left, MCP23017 on the right)
|
||||
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
|
||||
|
||||
Make examples for this keyboard (after setting up your build environment):
|
||||
|
||||
make ferris/0_2/high: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).
|
||||
0
keyboards/ferris/0_2/high/rules.mk
Normal file
0
keyboards/ferris/0_2/high/rules.mk
Normal file
23
keyboards/ferris/0_2/mini/config.h
Normal file
23
keyboards/ferris/0_2/mini/config.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
Copyright 2021 Pierre Chevalier <pierrechevalier83@gmail.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
|
||||
|
||||
#undef PRODUCT_ID
|
||||
#define PRODUCT_ID 0x0004
|
||||
#undef PRODUCT
|
||||
#define PRODUCT Ferris 0.2 - Mini
|
||||
18
keyboards/ferris/0_2/mini/readme.md
Normal file
18
keyboards/ferris/0_2/mini/readme.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Ferris 0.2 - Mini
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
Ferris 0.2 - Mini with Kailh Choc Mini support and Choc spacing.
|
||||
|
||||
* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
|
||||
* Hardware Supported:
|
||||
* Ferris 0.2 - Mini: (STM32F072 MCU on the left, MCP23017 on the right)
|
||||
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
|
||||
|
||||
Make examples for this keyboard (after setting up your build environment):
|
||||
|
||||
make ferris/0_2/mini: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).
|
||||
0
keyboards/ferris/0_2/mini/rules.mk
Normal file
0
keyboards/ferris/0_2/mini/rules.mk
Normal file
@@ -1,14 +1,13 @@
|
||||
# Ferris 0.2
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
An stm32f072 based split 34 keys column staggered keyboard named and decorated after the rustlang mascott. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris)
|
||||
An STM32F072-based split 34-key column-staggered keyboard named and decorated after the Rust mascot. All PCB files and some thoughts on the design are available on the [project's github page](https://github.com/pierrechevalier83/ferris).
|
||||
|
||||
* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
|
||||
* Hardware Supported:
|
||||
* Ferris 0.2: stm32f072 chip. Comes in 4 variants: bling, mini, high and compact
|
||||
* Hardware Availability: Pierre Chevalier has been selling keyboard kits (see the #ferris channel in the 40% discord chat). Wider availability is on the horizon.
|
||||
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
|
||||
|
||||
Make examples for this keyboard (after setting up your build environment):
|
||||
|
||||
|
||||
@@ -37,3 +37,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define PERMISSIVE_HOLD
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
#define TAPPING_FORCE_HOLD
|
||||
|
||||
// Underglow configuration
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#endif
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
"KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
|
||||
"KC_TRNS" , "KC_MINS" , "KC_BSLS" , "KC_GRV" , "KC_TRNS",
|
||||
|
||||
"KC_TRNS" , "KC_TRNS",
|
||||
"KC_TRNS" , "KC_TRNS"
|
||||
"RGB_RMOD" , "KC_TRNS",
|
||||
"KC_TRNS" , "RGB_MOD"
|
||||
],
|
||||
["KC_TRNS" , "KC_COLN" , "KC_LT" , "KC_GT" , "KC_SCLN",
|
||||
"KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
|
||||
|
||||
@@ -37,3 +37,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define PERMISSIVE_HOLD
|
||||
#define IGNORE_MOD_TAP_INTERRUPT
|
||||
#define TAPPING_FORCE_HOLD
|
||||
|
||||
// Underglow configuration
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#endif
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
"KC_TRNS" , "KC_HOME" , "KC_PGDN" , "KC_END" , "KC_TRNS",
|
||||
"KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
|
||||
|
||||
"LGUI(KC_LEFT)" , "KC_TRNS",
|
||||
"KC_TRNS" , "LGUI(KC_RGHT)"
|
||||
"RGB_RMOD" , "KC_TRNS",
|
||||
"KC_TRNS" , "RGB_MOD"
|
||||
],
|
||||
["KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS",
|
||||
"KC_TRNS" , "KC_UNDS" , "KC_PIPE" , "KC_QUOT" , "KC_TRNS",
|
||||
|
||||
@@ -18,3 +18,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#pragma once
|
||||
|
||||
#define DEBUG_MATRIX_SCAN_RATE
|
||||
|
||||
// Underglow configuration
|
||||
#ifdef RGBLIGHT_ENABLE
|
||||
#define RGBLIGHT_ANIMATIONS
|
||||
#define RGBLIGHT_HUE_STEP 8
|
||||
#define RGBLIGHT_SAT_STEP 8
|
||||
#define RGBLIGHT_VAL_STEP 8
|
||||
#endif
|
||||
|
||||
@@ -9,12 +9,16 @@ A split 34 keys column staggered keyboard named and decorated after the rustlang
|
||||
* Ferris 0.1 (With atmega32u4 chip. Comes in 4 variants: base, low, high and compact)
|
||||
* Ferris 0.2 (With stm32f072 chip. Comes in 4 variants: bling, mini, high and compact)
|
||||
* Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout)
|
||||
* Hardware Availability: Pierre Chevalier has been selling keyboard kits (see the #ferris channel in the 40% discord chat). Wider availability is on the horizon.
|
||||
* Hardware Availability: [Cuddly Keyboards](https://cuddlykeyboards.com)
|
||||
|
||||
Make examples for this keyboard (after setting up your build environment):
|
||||
|
||||
make ferris/0_1:default
|
||||
make ferris/0_2:default
|
||||
make ferris/0_2/bling:default
|
||||
make ferris/0_2/compact:default
|
||||
make ferris/0_2/mini:default
|
||||
make ferris/0_2/high:default
|
||||
make ferris/sweep:default:avrdude-split-right
|
||||
|
||||
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).
|
||||
|
||||
@@ -1,3 +1,18 @@
|
||||
/* Copyright 2019 flehrad
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
@@ -6,10 +6,46 @@
|
||||
"height": 4.5,
|
||||
"layouts": {
|
||||
"LAYOUT_tradestation": {
|
||||
"layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25, "w":2},{"x":2.25, "y":2.25, "w":2},{"x":0, "y":3.5, "w":2},{"x":2.25, "y":3.5, "w":2}]
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1.125, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.375, "y":0},
|
||||
|
||||
{"x":0, "y":1.1},
|
||||
{"x":1.125, "y":1.1},
|
||||
{"x":2.25, "y":1.1},
|
||||
{"x":3.375, "y":1.1},
|
||||
|
||||
{"x":0, "y":2.25, "w":2},
|
||||
{"x":2.25, "y":2.25, "w":2},
|
||||
|
||||
{"x":0, "y":3.5, "w":2},
|
||||
{"x":2.25, "y":3.5, "w":2}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_4x4": {
|
||||
"layout": [{"x":0, "y":0},{"x":1.125, "y":0},{"x":2.25, "y":0},{"x":3.375, "y":0},{"x":0, "y":1.1},{"x":1.125, "y":1.1},{"x":2.25, "y":1.1},{"x":3.375, "y":1.1},{"x":0, "y":2.25},{"x":1.125, "y":2.25},{"x":2.25, "y":2.25},{"x":3.375, "y":2.25},{"x":0, "y":3.5},{"x":1.125, "y":3.5},{"x":2.25, "y":3.5},{"x":3.375, "y":3.5}]
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1.125, "y":0},
|
||||
{"x":2.25, "y":0},
|
||||
{"x":3.375, "y":0},
|
||||
|
||||
{"x":0, "y":1.1},
|
||||
{"x":1.125, "y":1.1},
|
||||
{"x":2.25, "y":1.1},
|
||||
{"x":3.375, "y":1.1},
|
||||
|
||||
{"x":0, "y":2.25},
|
||||
{"x":1.125, "y":2.25},
|
||||
{"x":2.25, "y":2.25},
|
||||
{"x":3.375, "y":2.25},
|
||||
|
||||
{"x":0, "y":3.5},
|
||||
{"x":1.125, "y":3.5},
|
||||
{"x":2.25, "y":3.5},
|
||||
{"x":3.375, "y":3.5}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,61 +1,27 @@
|
||||
/* Copyright 2019 flehrad
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
LAYOUT_ortho_4x4(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||
[0] = LAYOUT_ortho_4x4(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
LAYOUT_tradestation(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS),
|
||||
};
|
||||
|
||||
|
||||
void matrix_init_user(void) {
|
||||
}
|
||||
|
||||
void matrix_scan_user(void) {
|
||||
}
|
||||
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
return true;
|
||||
}
|
||||
|
||||
void led_set_user(uint8_t usb_led) {
|
||||
|
||||
if (usb_led & (1 << USB_LED_NUM_LOCK)) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_COMPOSE)) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
if (usb_led & (1 << USB_LED_KANA)) {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
27
keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c
Normal file
27
keyboards/flehrad/tradestation/keymaps/tradestation/keymap.c
Normal file
@@ -0,0 +1,27 @@
|
||||
/* Copyright 2019 flehrad
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[0] = LAYOUT_tradestation(
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS,
|
||||
KC_TRNS, KC_TRNS
|
||||
),
|
||||
|
||||
};
|
||||
@@ -2,17 +2,10 @@
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
# Teensy halfkay
|
||||
# Pro Micro caterina
|
||||
# Atmel DFU atmel-dfu
|
||||
# LUFA DFU lufa-dfu
|
||||
# QMK DFU qmk-dfu
|
||||
# ATmega32A bootloadHID
|
||||
# ATmega328P USBasp
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Build Options
|
||||
# comment out to disable the options.
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration(+1000)
|
||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||
|
||||
@@ -1 +1,16 @@
|
||||
/* Copyright 2019 flehrad
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#include "tradestation.h"
|
||||
|
||||
@@ -1,3 +1,18 @@
|
||||
/* Copyright 2019 flehrad
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
66
keyboards/gmmk/pro/keymaps/jackkenney/keymap.c
Normal file
66
keyboards/gmmk/pro/keymaps/jackkenney/keymap.c
Normal file
@@ -0,0 +1,66 @@
|
||||
/* Copyright 2021 Glorious, LLC <salman@pcgamingrace.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
// ESC F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 Prt Rotary(Mute)
|
||||
// ~ 1 2 3 4 5 6 7 8 9 0 - (=) BackSpc Del
|
||||
// Tab Q W E R T Y U I O P [ ] \ PgUp
|
||||
// Caps A S D F G H J K L ; " Enter PgDn
|
||||
// Sh_L Z X C V B N M , . ? Sh_R Up End
|
||||
// Ct_L Win_L Alt_L SPACE Alt_R FN Ct_R Left Down Right
|
||||
|
||||
|
||||
// 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.
|
||||
[0] = LAYOUT(
|
||||
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, 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_PGUP,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
|
||||
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_HOME,
|
||||
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(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||
),
|
||||
|
||||
[1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_PSCR,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______,
|
||||
KC_INS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, RESET, KC_RGUI, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
}
|
||||
else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -21,3 +21,17 @@ To reset the board into bootloader mode, do one of the following:
|
||||
* Fn+Backslash will reset the board to bootloader mode if you have flashed the default QMK keymap
|
||||
|
||||
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).
|
||||
|
||||
## Case Screw Replacements
|
||||
|
||||
Many users report stripped case screws when disassembling the board.
|
||||
|
||||
The stock case screws are:
|
||||
* Thread: M2
|
||||
* Thread length: ~5 mm
|
||||
* Head diameter: ~3.8 mm
|
||||
* Head counterbore diameter: ~4.0 mm
|
||||
* Head counterbore depth: ~1.9 mm
|
||||
|
||||
Most M2x5mm screws should fit fine, although it's best to ensure that the screw head will fit inside the counterbore.
|
||||
For reference, [this hex socket head screw](https://www.mcmaster.com/91292A005/) from McMaster-Carr should fit nearly flush (head will protrude above the counterbore by ~0.1 mm).
|
||||
|
||||
60
keyboards/gorthage_truck/config.h
Normal file
60
keyboards/gorthage_truck/config.h
Normal file
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
Copyright 2021 s8erdude
|
||||
|
||||
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 0xB33F
|
||||
#define PRODUCT_ID 0x58E4
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER s8erdude
|
||||
#define PRODUCT gorthage_truck
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 8
|
||||
#define MATRIX_COLS 9
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
* Change this to how you wired your keyboard
|
||||
* COLS: AVR pins used for columns, left to right
|
||||
* ROWS: AVR pins used for rows, top to bottom
|
||||
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||
*
|
||||
*/
|
||||
#define MATRIX_ROW_PINS { C6, B6, B5, B4, C7, B3, B7, D7}
|
||||
#define MATRIX_COL_PINS { F0, F1, F4, F7, D6, E6, B0, B1, B2}
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW, ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
// LEFT -> RIGHT
|
||||
// D5, D3, D2
|
||||
#define LED_NUM_LOCK_PIN D5
|
||||
#define LED_CAPS_LOCK_PIN D3
|
||||
#define LED_SCROLL_LOCK_PIN D2
|
||||
|
||||
#define ENCODERS_PAD_A { F5 }
|
||||
#define ENCODERS_PAD_B { F6 }
|
||||
17
keyboards/gorthage_truck/gorthage_truck.c
Normal file
17
keyboards/gorthage_truck/gorthage_truck.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2021 s8erdude
|
||||
*
|
||||
* 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 "gorthage_truck.h"
|
||||
75
keyboards/gorthage_truck/gorthage_truck.h
Normal file
75
keyboards/gorthage_truck/gorthage_truck.h
Normal file
@@ -0,0 +1,75 @@
|
||||
/* Copyright 2021 s8erdude
|
||||
*
|
||||
* 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_3u( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k40, k41, k42, k43, k44, k46, k47, k48, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k50, k51, k52, k53, k54, k56, k57, k58, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k60, k61, k62, k63, k64, k65, k66, k67, k68, \
|
||||
k30, k31, k32, k34, k70, k71, k73, k74, k75, k76, k77, k78 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07 }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
||||
{ k30, k31, k32, KC_NO, k34, KC_NO, KC_NO, KC_NO }, \
|
||||
{ k40, k41, k42, k43, k44, KC_NO, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, KC_NO, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
|
||||
{ k70, k71, KC_NO, k73, k74, k75, k76, k77, k78} \
|
||||
}
|
||||
|
||||
#define LAYOUT_7u( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k40, k41, k42, k43, k44, k46, k47, k48, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k50, k51, k52, k53, k54, k56, k57, k58, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k60, k61, k62, k63, k64, k65, k66, k67, k68, \
|
||||
k30, k31, k32, k37, k73, k74, k75, k76, k77, k78 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07 }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
||||
{ k30, k31, k32, KC_NO, KC_NO, KC_NO, KC_NO, k37 }, \
|
||||
{ k40, k41, k42, k43, k44, KC_NO, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, KC_NO, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
|
||||
{ KC_NO, KC_NO, KC_NO, k73, k74, k75, k76, k77, k78} \
|
||||
}
|
||||
|
||||
#define LAYOUT_10u( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k40, k41, k42, k43, k44, k46, k47, k48, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k50, k51, k52, k53, k54, k56, k57, k58, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k60, k61, k62, k63, k64, k65, k66, k67, k68, \
|
||||
k30, k36, k73, k74, k75, k76, k77, k78 \
|
||||
) { \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07 }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17 }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27 }, \
|
||||
{ k30, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, k36, KC_NO }, \
|
||||
{ k40, k41, k42, k43, k44, KC_NO, k46, k47, k48 }, \
|
||||
{ k50, k51, k52, k53, k54, KC_NO, k56, k57, k58 }, \
|
||||
{ k60, k61, k62, k63, k64, k65, k66, k67, k68 }, \
|
||||
{ KC_NO, KC_NO, KC_NO, k73, k74, k75, k76, k77, k78} \
|
||||
}
|
||||
36
keyboards/gorthage_truck/info.json
Normal file
36
keyboards/gorthage_truck/info.json
Normal file
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"keyboard_name": "gorthage_truck",
|
||||
"url": "https://github.com/jpuerto96",
|
||||
"maintainer": "s8erdude",
|
||||
"width": 17,
|
||||
"height": 4,
|
||||
"layouts": {
|
||||
"LAYOUT_3u": {
|
||||
"layout": [
|
||||
{"label":"KC_TAB", "x":0, "y":0}, {"label":"KC_Q", "x":1, "y":0}, {"label":"KC_W", "x":2, "y":0}, {"label":"KC_E", "x":3, "y":0}, {"label":"KC_R", "x":4, "y":0}, {"label":"KC_T", "x":5, "y":0}, {"label":"KC_Y", "x":6, "y":0}, {"label":"KC_U", "x":7, "y":0}, {"label":"KC_I", "x":8, "y":0}, {"label":"KC_O", "x":9, "y":0}, {"label":"KC_P", "x":10, "y":0}, {"label":"KC_LBRC", "x":11, "y":0}, {"label":"KC_RBRC", "x":12, "y":0}, {"label":"KC_7", "x":15, "y":0}, {"label":"KC_8", "x":16, "y":0}, {"label":"KC_9", "x":17, "y":0},
|
||||
{"label":"KC_CAPS", "x":0, "y":1}, {"label":"KC_A", "x":1, "y":1}, {"label":"KC_S", "x":2, "y":1}, {"label":"KC_D", "x":3, "y":1}, {"label":"KC_F", "x":4, "y":1}, {"label":"KC_G", "x":5, "y":1}, {"label":"KC_H", "x":6, "y":1}, {"label":"KC_J", "x":7, "y":1}, {"label":"KC_K", "x":8, "y":1}, {"label":"KC_L", "x":9, "y":1}, {"label":"KC_SCLN", "x":10, "y":1}, {"label":"KC_QUOT", "x":11, "y":1}, {"label":"KC_BSLS", "x":12, "y":1}, {"label":"KC_4", "x":15, "y":1}, {"label":"KC_5", "x":16, "y":1}, {"label":"KC_6", "x":17, "y":1},
|
||||
{"label":"KC_MINS", "x":0, "y":2}, {"label":"KC_Z", "x":1, "y":2}, {"label":"KC_X", "x":2, "y":2}, {"label":"KC_C", "x":3, "y":2}, {"label":"KC_V", "x":4, "y":2}, {"label":"KC_B", "x":5, "y":2}, {"label":"KC_N", "x":6, "y":2}, {"label":"KC_M", "x":7, "y":2}, {"label":"KC_COMM", "x":8, "y":2}, {"label":"KC_DOT", "x":9, "y":2}, {"label":"KC_SLSH", "x":10, "y":2}, {"label":"KC_RSFT", "x":11, "y":2}, {"label":"KC_BSPC", "x":12, "y":2}, {"label":"KC_1", "x":15, "y":2}, {"label":"KC_2", "x":16, "y":2}, {"label":"KC_3", "x":17, "y":2},
|
||||
{"label":"KC_UP", "x":13.5, "y":2.5}, {"label":"KC_0", "x":16, "y":3}, {"label":"KC_DOT", "x":17, "y":3}, {"label":"KC_LEFT", "x":12.5, "y":3.5}, {"label":"KC_DOWN", "x":13.5, "y":3.5}, {"label":"KC_RGHT", "x":14.5, "y":3.5},
|
||||
{"label":"KC_LCTL", "x":0, "y":3, "w":1.25}, {"label":"KC_LALT", "x":1.25, "y":3, "w":1.25}, {"label":"KC_LGUI", "x":2.5, "y":3}, {"label":"KC_SPC", "x":3.5, "y":3, "w":3}, {"label":"KC_ENT", "x":6.5, "y":3, "w":3}, {"label":"KC_RGUI", "x":9.5, "y":3, "w":1.25}, {"label":"KC_RALT", "x":10.75, "y":3, "w":1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_7u": {
|
||||
"layout": [
|
||||
{"label":"KC_TAB", "x":0, "y":0}, {"label":"KC_Q", "x":1, "y":0}, {"label":"KC_W", "x":2, "y":0}, {"label":"KC_E", "x":3, "y":0}, {"label":"KC_R", "x":4, "y":0}, {"label":"KC_T", "x":5, "y":0}, {"label":"KC_Y", "x":6, "y":0}, {"label":"KC_U", "x":7, "y":0}, {"label":"KC_I", "x":8, "y":0}, {"label":"KC_O", "x":9, "y":0}, {"label":"KC_P", "x":10, "y":0}, {"label":"KC_LBRC", "x":11, "y":0}, {"label":"KC_RBRC", "x":12, "y":0}, {"label":"KC_7", "x":15, "y":0}, {"label":"KC_8", "x":16, "y":0}, {"label":"KC_9", "x":17, "y":0},
|
||||
{"label":"KC_CAPS", "x":0, "y":1}, {"label":"KC_A", "x":1, "y":1}, {"label":"KC_S", "x":2, "y":1}, {"label":"KC_D", "x":3, "y":1}, {"label":"KC_F", "x":4, "y":1}, {"label":"KC_G", "x":5, "y":1}, {"label":"KC_H", "x":6, "y":1}, {"label":"KC_J", "x":7, "y":1}, {"label":"KC_K", "x":8, "y":1}, {"label":"KC_L", "x":9, "y":1}, {"label":"KC_SCLN", "x":10, "y":1}, {"label":"KC_QUOT", "x":11, "y":1}, {"label":"KC_BSLS", "x":12, "y":1}, {"label":"KC_4", "x":15, "y":1}, {"label":"KC_5", "x":16, "y":1}, {"label":"KC_6", "x":17, "y":1},
|
||||
{"label":"KC_MINS", "x":0, "y":2}, {"label":"KC_Z", "x":1, "y":2}, {"label":"KC_X", "x":2, "y":2}, {"label":"KC_C", "x":3, "y":2}, {"label":"KC_V", "x":4, "y":2}, {"label":"KC_B", "x":5, "y":2}, {"label":"KC_N", "x":6, "y":2}, {"label":"KC_M", "x":7, "y":2}, {"label":"KC_COMM", "x":8, "y":2}, {"label":"KC_DOT", "x":9, "y":2}, {"label":"KC_SLSH", "x":10, "y":2}, {"label":"KC_RSFT", "x":11, "y":2}, {"label":"KC_BSPC", "x":12, "y":2}, {"label":"KC_1", "x":15, "y":2}, {"label":"KC_2", "x":16, "y":2}, {"label":"KC_3", "x":17, "y":2},
|
||||
{"label":"KC_UP", "x":13.5, "y":2.5}, {"label":"KC_0", "x":16, "y":3}, {"label":"KC_DOT", "x":17, "y":3}, {"label":"KC_LEFT", "x":12.5, "y":3.5}, {"label":"KC_DOWN", "x":13.5, "y":3.5}, {"label":"KC_RGHT", "x":14.5, "y":3.5},
|
||||
{"label":"KC_LCTL", "x":0, "y":3, "w":1.25}, {"label":"KC_LALT", "x":1.25, "y":3, "w":1.25}, {"label":"KC_LGUI", "x":2.5, "y":3, "w":1.25}, {"label":"KC_SPC", "x":3.75, "y":3, "w":7}, {"label":"KC_RGUI", "x":10.75, "y":3, "w":1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_10u": {
|
||||
"layout": [
|
||||
{"label":"KC_TAB", "x":0, "y":0}, {"label":"KC_Q", "x":1, "y":0}, {"label":"KC_W", "x":2, "y":0}, {"label":"KC_E", "x":3, "y":0}, {"label":"KC_R", "x":4, "y":0}, {"label":"KC_T", "x":5, "y":0}, {"label":"KC_Y", "x":6, "y":0}, {"label":"KC_U", "x":7, "y":0}, {"label":"KC_I", "x":8, "y":0}, {"label":"KC_O", "x":9, "y":0}, {"label":"KC_P", "x":10, "y":0}, {"label":"KC_LBRC", "x":11, "y":0}, {"label":"KC_RBRC", "x":12, "y":0}, {"label":"KC_7", "x":15, "y":0}, {"label":"KC_8", "x":16, "y":0}, {"label":"KC_9", "x":17, "y":0},
|
||||
{"label":"KC_CAPS", "x":0, "y":1}, {"label":"KC_A", "x":1, "y":1}, {"label":"KC_S", "x":2, "y":1}, {"label":"KC_D", "x":3, "y":1}, {"label":"KC_F", "x":4, "y":1}, {"label":"KC_G", "x":5, "y":1}, {"label":"KC_H", "x":6, "y":1}, {"label":"KC_J", "x":7, "y":1}, {"label":"KC_K", "x":8, "y":1}, {"label":"KC_L", "x":9, "y":1}, {"label":"KC_SCLN", "x":10, "y":1}, {"label":"KC_QUOT", "x":11, "y":1}, {"label":"KC_BSLS", "x":12, "y":1}, {"label":"KC_4", "x":15, "y":1}, {"label":"KC_5", "x":16, "y":1}, {"label":"KC_6", "x":17, "y":1},
|
||||
{"label":"KC_MINS", "x":0, "y":2}, {"label":"KC_Z", "x":1, "y":2}, {"label":"KC_X", "x":2, "y":2}, {"label":"KC_C", "x":3, "y":2}, {"label":"KC_V", "x":4, "y":2}, {"label":"KC_B", "x":5, "y":2}, {"label":"KC_N", "x":6, "y":2}, {"label":"KC_M", "x":7, "y":2}, {"label":"KC_COMM", "x":8, "y":2}, {"label":"KC_DOT", "x":9, "y":2}, {"label":"KC_SLSH", "x":10, "y":2}, {"label":"KC_RSFT", "x":11, "y":2}, {"label":"KC_BSPC", "x":12, "y":2}, {"label":"KC_1", "x":15, "y":2}, {"label":"KC_2", "x":16, "y":2}, {"label":"KC_3", "x":17, "y":2},
|
||||
{"label":"KC_UP", "x":13.5, "y":2.5}, {"label":"KC_0", "x":16, "y":3}, {"label":"KC_DOT", "x":17, "y":3}, {"label":"KC_LEFT", "x":12.5, "y":3.5}, {"label":"KC_DOWN", "x":13.5, "y":3.5}, {"label":"KC_RGHT", "x":14.5, "y":3.5},
|
||||
{"label":"KC_LCTL", "x":0, "y":3}, {"label":"KC_SPC", "x":1, "y":3, "w":10}, {"label":"KC_RGUI", "x":11, "y":3}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
31
keyboards/gorthage_truck/keymaps/10u/keymap.c
Normal file
31
keyboards/gorthage_truck/keymaps/10u/keymap.c
Normal file
@@ -0,0 +1,31 @@
|
||||
/* Copyright 2021 s8erdude
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base */
|
||||
[_BASE] = LAYOUT_10u(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_MINUS, KC_1, KC_2, KC_3,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_EQUAL, KC_4, KC_5, KC_6,
|
||||
KC_LCAP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT, KC_SLSH, KC_GRAVE, KC_UP, KC_7, KC_8, KC_9,
|
||||
KC_LGUI, KC_RSFT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DOT, KC_0
|
||||
)};
|
||||
1
keyboards/gorthage_truck/keymaps/10u/readme.md
Normal file
1
keyboards/gorthage_truck/keymaps/10u/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for gorthage_truck
|
||||
31
keyboards/gorthage_truck/keymaps/7u/keymap.c
Normal file
31
keyboards/gorthage_truck/keymaps/7u/keymap.c
Normal file
@@ -0,0 +1,31 @@
|
||||
/* Copyright 2021 s8erdude
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base */
|
||||
[_BASE] = LAYOUT_7u(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_MINUS, KC_1, KC_2, KC_3,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_EQUAL, KC_4, KC_5, KC_6,
|
||||
KC_LCAP, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT, KC_SLSH, KC_GRAVE, KC_UP, KC_7, KC_8, KC_9,
|
||||
KC_LGUI, KC_LCTL, KC_LSFT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DOT, KC_0
|
||||
)};
|
||||
1
keyboards/gorthage_truck/keymaps/7u/readme.md
Normal file
1
keyboards/gorthage_truck/keymaps/7u/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for gorthage_truck
|
||||
42
keyboards/gorthage_truck/keymaps/default/keymap.c
Normal file
42
keyboards/gorthage_truck/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,42 @@
|
||||
/* Copyright 2021 s8erdude
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
// Defines names for use in layer keycodes and the keymap
|
||||
enum layer_names {
|
||||
_BASE,
|
||||
_FN
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
/* Base */
|
||||
[_BASE] = LAYOUT_3u(
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_MINUS, KC_1, KC_2, KC_3,
|
||||
KC_SLCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_EQUAL, KC_4, KC_5, KC_6,
|
||||
KC_NLCK, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT, KC_SLSH, KC_GRAVE, KC_UP, KC_7, KC_8, KC_9,
|
||||
KC_CLCK, KC_LCTL, KC_LSFT, KC_SPC, KC_RSFT, KC_RCTL, KC_RGUI, KC_LEFT, KC_DOWN, KC_RIGHT, KC_DOT, KC_0
|
||||
)};
|
||||
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
if (index == 0) { /* First encoder */
|
||||
if (clockwise) {
|
||||
tap_code(KC_VOLU);
|
||||
} else {
|
||||
tap_code(KC_VOLD);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
1
keyboards/gorthage_truck/keymaps/default/readme.md
Normal file
1
keyboards/gorthage_truck/keymaps/default/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default keymap for gorthage_truck
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user