mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-08-14 18:44:37 +00:00
Compare commits
119 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3d70766327 | ||
![]() |
0bf0977c02 | ||
![]() |
fe14907039 | ||
![]() |
d72f5435fb | ||
![]() |
8cf5f72aad | ||
![]() |
6009a91514 | ||
![]() |
84e2f1ec17 | ||
![]() |
f519a9908e | ||
![]() |
f1b06d0ae7 | ||
![]() |
345a041cf5 | ||
![]() |
e9f73e5454 | ||
![]() |
f325bd6eb2 | ||
![]() |
3525a61baf | ||
![]() |
c46619d8fb | ||
![]() |
b323ab89e0 | ||
![]() |
1f633c027b | ||
![]() |
1f38221ec5 | ||
![]() |
68c3773c8e | ||
![]() |
5dfb6459df | ||
![]() |
d97d4794e0 | ||
![]() |
b48a5b573f | ||
![]() |
eb0ce0abc7 | ||
![]() |
501f3ed419 | ||
![]() |
8ea28429e9 | ||
![]() |
214528b1e7 | ||
![]() |
523c8315a2 | ||
![]() |
73235e7ca0 | ||
![]() |
72ca319bee | ||
![]() |
b5c2e5e8fd | ||
![]() |
6e931cc90b | ||
![]() |
6368a5697d | ||
![]() |
09835033da | ||
![]() |
b297f1ce8d | ||
![]() |
c81e07fef5 | ||
![]() |
1eaad6dd65 | ||
![]() |
5e46f72f75 | ||
![]() |
16d43af493 | ||
![]() |
68f321f24b | ||
![]() |
8729afece5 | ||
![]() |
5127ef1f02 | ||
![]() |
e941f04891 | ||
![]() |
11bd51441b | ||
![]() |
76e88e228b | ||
![]() |
554b937d21 | ||
![]() |
b113888ec5 | ||
![]() |
f8cbad20ab | ||
![]() |
6b2f9e3015 | ||
![]() |
d8b9825a8b | ||
![]() |
aa0e33eca0 | ||
![]() |
407e5be34d | ||
![]() |
4d96b85b6f | ||
![]() |
d877f40b70 | ||
![]() |
ebfe668fff | ||
![]() |
e71f7a1c9f | ||
![]() |
2e0f4d7e2a | ||
![]() |
83176b748a | ||
![]() |
0728200e28 | ||
![]() |
8e70c4d943 | ||
![]() |
68b58624d6 | ||
![]() |
4ae5c3a905 | ||
![]() |
4c48518a4e | ||
![]() |
135d28d2fb | ||
![]() |
fd80b2581e | ||
![]() |
beace23bca | ||
![]() |
abda419f5a | ||
![]() |
29fcd5418a | ||
![]() |
3f6de1ef54 | ||
![]() |
b1419742a5 | ||
![]() |
65d8ac4759 | ||
![]() |
8657f54f9e | ||
![]() |
466424c3c2 | ||
![]() |
efbaf68d5a | ||
![]() |
e688f2286f | ||
![]() |
ffd8ff642d | ||
![]() |
6edbd845eb | ||
![]() |
46b3245d66 | ||
![]() |
d58d7dd192 | ||
![]() |
acdcc62202 | ||
![]() |
9d10c66cf0 | ||
![]() |
6caef353a5 | ||
![]() |
c85e2a8822 | ||
![]() |
3dc5e5af38 | ||
![]() |
0500a2e0f1 | ||
![]() |
d54289db58 | ||
![]() |
95a1496ebc | ||
![]() |
06a6b23e60 | ||
![]() |
1be7485fa4 | ||
![]() |
19e2bb272e | ||
![]() |
6d9b4c7b4f | ||
![]() |
b609a07b45 | ||
![]() |
2574bc2791 | ||
![]() |
985b8cab7c | ||
![]() |
581368596e | ||
![]() |
832a6e150a | ||
![]() |
8b735d35aa | ||
![]() |
b7b82d509b | ||
![]() |
bf959d79dc | ||
![]() |
bca88177d3 | ||
![]() |
515cea4b78 | ||
![]() |
748b3ac82a | ||
![]() |
634eac82e8 | ||
![]() |
11599bea93 | ||
![]() |
115aa95788 | ||
![]() |
340fc9dce3 | ||
![]() |
db8e88aae0 | ||
![]() |
495a61ad7a | ||
![]() |
dd356f90b0 | ||
![]() |
6009e7d8b5 | ||
![]() |
3edfb93d5d | ||
![]() |
34513b4665 | ||
![]() |
3d1e7bd36f | ||
![]() |
375ef0b8c3 | ||
![]() |
f03b10b6c1 | ||
![]() |
810eafad12 | ||
![]() |
c38fe49242 | ||
![]() |
d1e10a067b | ||
![]() |
acec174fde | ||
![]() |
070240f212 | ||
![]() |
f3ac792c09 |
@@ -296,6 +296,19 @@ You can disable a single effect by defining `DISABLE_[EFFECT_NAME]` in your `con
|
||||
|`#define DISABLE_RGB_MATRIX_SOLID_SPLASH` |Disables `RGB_MATRIX_SOLID_SPLASH` |
|
||||
|`#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH` |Disables `RGB_MATRIX_SOLID_MULTISPLASH` |
|
||||
|
||||
### RGB Matrix Effect Typing Heatmap :id=rgb-matrix-effect-typing-heatmap
|
||||
|
||||
This effect will color the RGB matrix according to a heatmap of recently pressed
|
||||
keys. Whenever a key is pressed its "temperature" increases as well as that of
|
||||
its neighboring keys. The temperature of each key is then decreased
|
||||
automatically every 25 milliseconds by default.
|
||||
|
||||
In order to change the delay of temperature decrease define
|
||||
`RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS`:
|
||||
|
||||
```c
|
||||
#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50
|
||||
```
|
||||
|
||||
## Custom RGB Matrix Effects :id=custom-rgb-matrix-effects
|
||||
|
||||
|
@@ -187,6 +187,8 @@ const uint8_t RGBLED_GRADIENT_RANGES[] PROGMEM = {255, 170, 127, 85, 64};
|
||||
|
||||
## Lighting Layers
|
||||
|
||||
?> **Note:** Lighting Layers is an RGB Light feature, it will not work for RGB Matrix. See [RGB Matrix Indicators](feature_rgb_matrix.md?indicators) for details on how to do so.
|
||||
|
||||
By including `#define RGBLIGHT_LAYERS` in your `config.h` file you can enable lighting layers. These make
|
||||
it easy to use your underglow LEDs as status indicators to show which keyboard layer is currently active, or the state of caps lock, all without disrupting any animations. [Here's a video](https://youtu.be/uLGE1epbmdY) showing an example of what you can do.
|
||||
|
||||
@@ -368,14 +370,14 @@ rgblight_sethsv(HSV_GREEN, 2); // led 2
|
||||
|`rgblight_increase_hue_noeeprom()` |Increase the hue for effect range LEDs. This wraps around at maximum hue (not written to EEPROM) |
|
||||
|`rgblight_decrease_hue()` |Decrease the hue for effect range LEDs. This wraps around at minimum hue |
|
||||
|`rgblight_decrease_hue_noeeprom()` |Decrease the hue for effect range LEDs. This wraps around at minimum hue (not written to EEPROM) |
|
||||
|`rgblight_increase_sat()` |Increase the saturation for effect range LEDs. This wraps around at maximum saturation |
|
||||
|`rgblight_increase_sat_noeeprom()` |Increase the saturation for effect range LEDs. This wraps around at maximum saturation (not written to EEPROM) |
|
||||
|`rgblight_decrease_sat()` |Decrease the saturation for effect range LEDs. This wraps around at minimum saturation |
|
||||
|`rgblight_decrease_sat_noeeprom()` |Decrease the saturation for effect range LEDs. This wraps around at minimum saturation (not written to EEPROM) |
|
||||
|`rgblight_increase_val()` |Increase the value for effect range LEDs. This wraps around at maximum value |
|
||||
|`rgblight_increase_val_noeeprom()` |Increase the value for effect range LEDs. This wraps around at maximum value (not written to EEPROM) |
|
||||
|`rgblight_decrease_val()` |Decrease the value for effect range LEDs. This wraps around at minimum value |
|
||||
|`rgblight_decrease_val_noeeprom()` |Decrease the value for effect range LEDs. This wraps around at minimum value (not written to EEPROM) |
|
||||
|`rgblight_increase_sat()` |Increase the saturation for effect range LEDs. This stops at maximum saturation |
|
||||
|`rgblight_increase_sat_noeeprom()` |Increase the saturation for effect range LEDs. This stops at maximum saturation (not written to EEPROM) |
|
||||
|`rgblight_decrease_sat()` |Decrease the saturation for effect range LEDs. This stops at minimum saturation |
|
||||
|`rgblight_decrease_sat_noeeprom()` |Decrease the saturation for effect range LEDs. This stops at minimum saturation (not written to EEPROM) |
|
||||
|`rgblight_increase_val()` |Increase the value for effect range LEDs. This stops at maximum value |
|
||||
|`rgblight_increase_val_noeeprom()` |Increase the value for effect range LEDs. This stops at maximum value (not written to EEPROM) |
|
||||
|`rgblight_decrease_val()` |Decrease the value for effect range LEDs. This stops at minimum value |
|
||||
|`rgblight_decrease_val_noeeprom()` |Decrease the value for effect range LEDs. This stops at minimum value (not written to EEPROM) |
|
||||
|`rgblight_sethsv(h, s, v)` |Set effect range LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 |
|
||||
|`rgblight_sethsv_noeeprom(h, s, v)` |Set effect range LEDs to the given HSV value where `h`/`s`/`v` are between 0 and 255 (not written to EEPROM) |
|
||||
|
||||
|
@@ -87,7 +87,7 @@ const qk_ucis_symbol_t ucis_symbol_table[] = UCIS_TABLE(
|
||||
UCIS_SYM("poop", 0x1F4A9), // 💩
|
||||
UCIS_SYM("rofl", 0x1F923), // 🤣
|
||||
UCIS_SYM("cuba", 0x1F1E8, 0x1F1FA), // 🇨🇺
|
||||
UCIS_SYM("look", 0x0CA0, 0x005F, 0x0CA0), // ಠ_ಠ
|
||||
UCIS_SYM("look", 0x0CA0, 0x005F, 0x0CA0) // ಠ_ಠ
|
||||
);
|
||||
```
|
||||
|
||||
|
@@ -77,7 +77,7 @@ Do change the `MANUFACTURER` and `PRODUCT` lines to accurately reflect your keyb
|
||||
#define PRODUCT my_awesome_keyboard
|
||||
```
|
||||
|
||||
?> Windows and macOS will display the `MANUFACTURER` and `PRODUCT` in the list of USB devices. `lsusb` on Linux instead takes these from the list maintained by the [USB ID Repository](http://www.linux-usb.org/usb-ids.html) by default. `lsusb -v` will show the values reported by the device, and they are also present in kernel logs after plugging it in.
|
||||
?> Windows and macOS will display the `MANUFACTURER` and `PRODUCT` in the list of USB devices. `lsusb` on Linux instead prefers the values in the list maintained by the [USB ID Repository](http://www.linux-usb.org/usb-ids.html). By default, it will only use `MANUFACTURER` and `PRODUCT` if the list does not contain that `VENDOR_ID` / `PRODUCT_ID`. `sudo lsusb -v` will show the values reported by the device, and they are also present in kernel logs after plugging it in.
|
||||
|
||||
### Keyboard Matrix Configuration
|
||||
|
||||
|
@@ -103,6 +103,7 @@
|
||||
* [DIP スイッチ](ja/feature_dip_switch.md)
|
||||
* [エンコーダ](ja/feature_encoders.md)
|
||||
* [触覚フィードバック](ja/feature_haptic_feedback.md)
|
||||
* [LED インジケータ](ja/feature_led_indicators.md)
|
||||
* [Proton C 変換](ja/proton_c_conversion.md)
|
||||
* [PS/2 マウス](ja/feature_ps2_mouse.md)
|
||||
* [分割キーボード](ja/feature_split_keyboard.md)
|
||||
|
@@ -1,8 +1,8 @@
|
||||
# キーボードの挙動をカスタマイズする方法
|
||||
|
||||
<!---
|
||||
original document: 0.10.33:docs/custom_quantum_functions.md
|
||||
git diff 0.10.33 HEAD -- docs/custom_quantum_functions.md | cat
|
||||
original document: 0.10.52:docs/custom_quantum_functions.md
|
||||
git diff 0.10.52 HEAD -- docs/custom_quantum_functions.md | cat
|
||||
-->
|
||||
|
||||
多くの人にとって、カスタムキーボードはボタンの押下をコンピュータに送信するだけではありません。単純なボタンの押下やマクロよりも複雑なことを実行できるようにしたいでしょう。QMK にはコードを挿入したり、機能を上書きしたり、様々な状況でキーボードの挙動をカスタマイズできるフックがあります。
|
||||
@@ -93,106 +93,6 @@ keyrecord_t record {
|
||||
}
|
||||
```
|
||||
|
||||
# LED 制御
|
||||
|
||||
QMK は HID 仕様で定義された5つの LED の読み取りメソッドを提供します:
|
||||
|
||||
* Num Lock
|
||||
* Caps Lock
|
||||
* Scroll Lock
|
||||
* Compose
|
||||
* Kana
|
||||
|
||||
ロック LED の状態を取得するには2つの方法があります:
|
||||
|
||||
* `bool led_update_kb(led_t led_state)` あるいは `_user(led_t led_state)` を実装する、または
|
||||
* `led_t host_keyboard_led_state()` を呼び出す
|
||||
|
||||
!> `host_keyboard_led_state()` は `led_update_user()` が呼ばれる前に新しい値を既に反映している場合があります。
|
||||
|
||||
LED の状態を `uint8_t` として提供する2つの非推奨の関数があります:
|
||||
|
||||
* `uint8_t led_set_kb(uint8_t usb_led)` と `_user(uint8_t usb_led)`
|
||||
* `uint8_t host_keyboard_leds()`
|
||||
|
||||
## `led_update_user()`
|
||||
|
||||
この関数はこれら5つの LED のいずれかの状態が変化すると呼ばれます。LED の状態を構造体のパラメータとして受け取ります。
|
||||
|
||||
慣例により、`led_update_kb()` にそのコードを実行するようフックさせるために `led_update_user()` から `true` を返し、`led_update_kb()` でコードを実行したくない場合は `false` を返します。
|
||||
|
||||
以下はいくつかの例です:
|
||||
|
||||
- レイヤー表示のような何かのために LED を使うために LED を上書きする
|
||||
- `_kb()` 関数を実行したくないので、`false` を返します。これはレイヤーの挙動を上書きするためです。
|
||||
- LED がオンあるいはオフになった時に音楽を再生する。
|
||||
- `_kb` 関数を実行したいので、`true` を返します。これはデフォルトの LED の挙動に追加されます。
|
||||
|
||||
?> `led_set_*` 関数は `bool` の代わりに `void` を返すため、キーボードの LED 制御を上書きすることができません。従って、代わりに `led_update_*` を使うことをお勧めします。
|
||||
|
||||
### `led_update_kb()` の実装例
|
||||
|
||||
```c
|
||||
bool led_update_kb(led_t led_state) {
|
||||
bool res = led_update_user(led_state);
|
||||
if(res) {
|
||||
// writePin は 1 でピンを high に、0 で low に設定します。
|
||||
// この例では、ピンは反転していて、
|
||||
// low/0 は LED がオンになり、high/1 は LED がオフになります。
|
||||
// この挙動は、LED がピンと VCC の間にあるか、ピンと GND の間にあるかどうかに依存します。
|
||||
writePin(B0, !led_state.num_lock);
|
||||
writePin(B1, !led_state.caps_lock);
|
||||
writePin(B2, !led_state.scroll_lock);
|
||||
writePin(B3, !led_state.compose);
|
||||
writePin(B4, !led_state.kana);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
```
|
||||
|
||||
### `led_update_user()` の実装例
|
||||
|
||||
この不完全な例は Caps Lock がオンまたはオフになった場合に音を再生します。また LED の状態を保持する必要があるため、`true` を返します。
|
||||
|
||||
```c
|
||||
#ifdef AUDIO_ENABLE
|
||||
float caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
|
||||
float caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND);
|
||||
#endif
|
||||
|
||||
bool led_update_user(led_t led_state) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
static uint8_t caps_state = 0;
|
||||
if (caps_state != led_state.caps_lock) {
|
||||
led_state.caps_lock ? PLAY_SONG(caps_on) : PLAY_SONG(caps_off);
|
||||
caps_state = led_state.caps_lock;
|
||||
}
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
```
|
||||
|
||||
### `led_update_*` 関数のドキュメント
|
||||
|
||||
* キーボード/リビジョン: `bool led_update_kb(led_t led_state)`
|
||||
* キーマップ: `bool led_update_user(led_t led_state)`
|
||||
|
||||
## `host_keyboard_led_state()`
|
||||
|
||||
最後に受信した LED の状態を `led_t` として取得するためにこの関数を呼びます。これは、`led_update_*` の外部から、例えば [`matrix_scan_user()`](#matrix-scanning-code) の中で LED の状態を読み取るのに便利です。
|
||||
|
||||
## 物理的な LED の状態の設定
|
||||
|
||||
一部のキーボードの実装は、物理的な LED の状態を設定するための便利なメソッドを提供しています。
|
||||
|
||||
### Ergodox キーボード
|
||||
|
||||
Ergodox の実装は、個々の LED をオンあるいはオフにするために `ergodox_right_led_1`/`2`/`3_on`/`off()` と、インデックスによってそれらをオンあるいはオフにするために `ergodox_right_led_on`/`off(uint8_t led)` を提供します。
|
||||
|
||||
さらに、LED の明度を指定することができます。全ての LED に同じ明度を指定するなら `ergodox_led_all_set(uint8_t n)` を使い、個別の LED の明度を指定するなら `ergodox_right_led_1`/`2`/`3_set(uint8_t n)` を使い、LED のインデックスを指定して明度を指定するには `ergodox_right_led_set(uint8_t led, uint8_t n)` を使います。
|
||||
|
||||
Ergodox キーボードは、最低の明度として `LED_BRIGHTNESS_LO` を、最高の輝度(これはデフォルトです)として `LED_BRIGHTNESS_HI` も定義しています。
|
||||
|
||||
# キーボードの初期化コード
|
||||
|
||||
キーボードの初期化プロセスには幾つかのステップがあります。何をしたいかによって、どの関数を使うべきかに影響します。
|
||||
@@ -347,7 +247,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
}
|
||||
```
|
||||
|
||||
特定のレイヤーの状態を確認するには、 `IS_LAYER_ON_STATE(state, layer)` と `IS_LAYER_OFF_STATE(state, layer)` マクロを使います。
|
||||
特定のレイヤーの状態を確認するには、`IS_LAYER_ON_STATE(state, layer)` と `IS_LAYER_OFF_STATE(state, layer)` マクロを使います。
|
||||
|
||||
`layer_state_set_*` 関数の外では、グローバルなレイヤー状態を確認するために `IS_LAYER_ON(layer)` と `IS_LAYER_OFF(layer)` マクロを使えます。
|
||||
|
||||
|
119
docs/ja/feature_led_indicators.md
Normal file
119
docs/ja/feature_led_indicators.md
Normal file
@@ -0,0 +1,119 @@
|
||||
# LED インジケータ
|
||||
|
||||
<!---
|
||||
original document: 0.10.52:docs/feature_led_indicators.md
|
||||
git diff 0.10.52 HEAD -- docs/feature_led_indicators.md | cat
|
||||
-->
|
||||
|
||||
QMK は HID 仕様で定義された5つの LED の読み取りメソッドを提供します:
|
||||
|
||||
* Num Lock
|
||||
* Caps Lock
|
||||
* Scroll Lock
|
||||
* Compose
|
||||
* Kana
|
||||
|
||||
ロック LED の状態を取得するには3つの方法があります:
|
||||
* `config.h` で設定オプションを指定する
|
||||
* `bool led_update_kb(led_t led_state)` あるいは `_user(led_t led_state)` を実装する、または
|
||||
* `led_t host_keyboard_led_state()` を呼び出す
|
||||
|
||||
!> `host_keyboard_led_state()` は `led_update_user()` が呼ばれる前に新しい値を既に反映している場合があります。
|
||||
|
||||
LED の状態を `uint8_t` として提供する2つの非推奨の関数があります:
|
||||
|
||||
* `uint8_t led_set_kb(uint8_t usb_led)` と `_user(uint8_t usb_led)`
|
||||
* `uint8_t host_keyboard_leds()`
|
||||
|
||||
## 設定オプション
|
||||
|
||||
インジケータを設定するには、`config.h` で以下の `#define` をします:
|
||||
|
||||
| 定義 | 既定値 | 説明 |
|
||||
|-----------------------|------------|----------------------------------|
|
||||
| `LED_NUM_LOCK_PIN` | *定義なし* | `Num Lock` LED を制御するピン |
|
||||
| `LED_CAPS_LOCK_PIN` | *定義なし* | `Caps Lock` LED を制御するピン |
|
||||
| `LED_SCROLL_LOCK_PIN` | *定義なし* | `Scroll Lock` LED を制御するピン |
|
||||
| `LED_COMPOSE_PIN` | *定義なし* | `Compose` LED を制御するピン |
|
||||
| `LED_KANA_PIN` | *定義なし* | `Kana` LED を制御するピン |
|
||||
| `LED_PIN_ON_STATE` | `1` | LED が "オン" の時のインジケータピンの状態 - high の場合は`1`、low の場合は`0` |
|
||||
|
||||
独自のキーボードを設計しているわけではない限り、通常は上記の設定オプションを変更する必要はありません。
|
||||
|
||||
## `led_update_*()`
|
||||
|
||||
設定オプションが十分な柔軟性を提供しない場合は、提供される API フックにより LED の挙動の独自の制御ができます。これらの関数はこれら5つの LED のいずれかの状態が変化すると呼ばれます。LED の状態を構造体のパラメータとして受け取ります。
|
||||
|
||||
慣例により、`led_update_kb()` にそのコードを実行するようフックさせるために `led_update_user()` から `true` を返し、`led_update_kb()` でコードを実行したくない場合は `false` を返します。
|
||||
|
||||
以下はいくつかの例です:
|
||||
|
||||
- レイヤー表示のような何かのために LED を使うために LED を上書きする
|
||||
- `_kb()` 関数を実行したくないので、`false` を返します。これはレイヤーの挙動を上書きするためです。
|
||||
- LED がオンあるいはオフになった時に音楽を再生する。
|
||||
- `_kb` 関数を実行したいので、`true` を返します。これはデフォルトの LED の挙動に追加されます。
|
||||
|
||||
?> `led_set_*` 関数は `bool` の代わりに `void` を返すため、キーボードの LED 制御を上書きすることができません。従って、代わりに `led_update_*` を使うことをお勧めします。
|
||||
|
||||
### `led_update_kb()` の実装例
|
||||
|
||||
```c
|
||||
bool led_update_kb(led_t led_state) {
|
||||
bool res = led_update_user(led_state);
|
||||
if(res) {
|
||||
// writePin は 1 でピンを high に、0 で low に設定します。
|
||||
// この例では、ピンは反転していて、
|
||||
// low/0 は LED がオンになり、high/1 は LED がオフになります。
|
||||
// この挙動は、LED がピンと VCC の間にあるか、ピンと GND の間にあるかどうかに依存します。
|
||||
writePin(B0, !led_state.num_lock);
|
||||
writePin(B1, !led_state.caps_lock);
|
||||
writePin(B2, !led_state.scroll_lock);
|
||||
writePin(B3, !led_state.compose);
|
||||
writePin(B4, !led_state.kana);
|
||||
}
|
||||
return res;
|
||||
}
|
||||
```
|
||||
|
||||
### `led_update_user()` の実装例
|
||||
|
||||
この不完全な例は Caps Lock がオンまたはオフになった場合に音を再生します。また LED の状態を保持する必要があるため、`true` を返します。
|
||||
|
||||
```c
|
||||
#ifdef AUDIO_ENABLE
|
||||
float caps_on[][2] = SONG(CAPS_LOCK_ON_SOUND);
|
||||
float caps_off[][2] = SONG(CAPS_LOCK_OFF_SOUND);
|
||||
#endif
|
||||
|
||||
bool led_update_user(led_t led_state) {
|
||||
#ifdef AUDIO_ENABLE
|
||||
static uint8_t caps_state = 0;
|
||||
if (caps_state != led_state.caps_lock) {
|
||||
led_state.caps_lock ? PLAY_SONG(caps_on) : PLAY_SONG(caps_off);
|
||||
caps_state = led_state.caps_lock;
|
||||
}
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
```
|
||||
|
||||
### `led_update_*` 関数のドキュメント
|
||||
|
||||
* キーボード/リビジョン: `bool led_update_kb(led_t led_state)`
|
||||
* キーマップ: `bool led_update_user(led_t led_state)`
|
||||
|
||||
## `host_keyboard_led_state()`
|
||||
|
||||
最後に受信した LED の状態を `led_t` として取得するためにこの関数を呼びます。これは、`led_update_*` の外部から、例えば [`matrix_scan_user()`](#matrix-scanning-code) の中で LED の状態を読み取るのに便利です。
|
||||
|
||||
## 物理的な LED の状態の設定
|
||||
|
||||
一部のキーボードの実装は、物理的な LED の状態を設定するための便利なメソッドを提供しています。
|
||||
|
||||
### Ergodox キーボード
|
||||
|
||||
Ergodox の実装は、個々の LED をオンあるいはオフにするために `ergodox_right_led_1`/`2`/`3_on`/`off()` と、インデックスによってそれらをオンあるいはオフにするために `ergodox_right_led_on`/`off(uint8_t led)` を提供します。
|
||||
|
||||
さらに、LED の明度を指定することができます。全ての LED に同じ明度を指定するなら `ergodox_led_all_set(uint8_t n)` を使い、個別の LED の明度を指定するなら `ergodox_right_led_1`/`2`/`3_set(uint8_t n)` を使い、LED のインデックスを指定して明度を指定するには `ergodox_right_led_set(uint8_t led, uint8_t n)` を使います。
|
||||
|
||||
Ergodox キーボードは、最低の明度として `LED_BRIGHTNESS_LO` を、最高の輝度(これはデフォルトです)として `LED_BRIGHTNESS_HI` も定義しています。
|
74
docs/ja/feature_rawhid.md
Normal file
74
docs/ja/feature_rawhid.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Raw HID
|
||||
|
||||
<!---
|
||||
original document: 0.10.47:docs/feature_rawhid.md
|
||||
git diff 0.10.47 HEAD -- docs/feature_rawhid.md | cat
|
||||
-->
|
||||
|
||||
Raw HID は、HID インタフェースを介して QMK とホストコンピュータ間の双方向通信を可能にします。これには、キーマップをその場で切り替えたり、RGB LED の色とモードを変更したりなど、多くの潜在的な使用方法があります。
|
||||
|
||||
キーボードで raw HID を機能させるには、2つの主要なコンポーネントがあります。
|
||||
|
||||
## キーボードファームウェア
|
||||
|
||||
ファームウェアの実装はとても簡単です。
|
||||
`rules.mk` に以下を追加します:
|
||||
|
||||
```make
|
||||
RAW_ENABLE = yes
|
||||
```
|
||||
|
||||
`keymap.c` に `"raw_hid.h"` を include し、以下を実装します:
|
||||
|
||||
```C
|
||||
void raw_hid_receive(uint8_t *data, uint8_t length) {
|
||||
// ここにコードを書きます。data はホストから受信したパケットです。
|
||||
}
|
||||
```
|
||||
|
||||
`"raw_hid.h"` ヘッダは、キーボードからホストにパケットを送信できる `void raw_hid_send(uint8_t *data, uint8_t length);` も宣言します。例として、全てのデータをホストに返すことで、ホストアプリケーションを構築する時のデバッグに使うこともできます。
|
||||
|
||||
```C
|
||||
void raw_hid_receive(uint8_t *data, uint8_t length) {
|
||||
raw_hid_send(data, length);
|
||||
}
|
||||
```
|
||||
|
||||
`raw_hid_receive` はホストから最大長 `RAW_EPSIZE` の可変サイズのパケットを受信することができます。一方、`raw_hid_send` はパケットを厳密に `RAW_EPSIZE` の長さで送信するため、長さ `RAW_EPSIZE` のデータを使う必要があります。
|
||||
|
||||
ホスト側での作業を進める前に、raw 対応のファームウェアを書き込むようにしてください。
|
||||
|
||||
## ホスト (Windows/macOS/Linux)
|
||||
|
||||
これは幾つかの掘り下げが必要になるため、より複雑な部分です。
|
||||
|
||||
ホストコンピュータを raw HID を使ってキーボードに接続するには、キーボードについての4つの情報が必要です。
|
||||
|
||||
1. Vendor ID
|
||||
2. Product ID
|
||||
3. Usage Page
|
||||
4. Usage
|
||||
|
||||
前半の2つは、キーボードのメインディレクトリにあるキーボードの `config.h` で、`VENDOR_ID` と `PRODUCT_ID` で簡単に見つかります。
|
||||
|
||||
後半の2つは、キーボードのメインディレクトリにあるキーボードの `config.h` で、値を再定義することで上書きすることができます: `#define RAW_USAGE_PAGE 0xFF60` と `#define RAW_USAGE_ID 0x61`。
|
||||
|
||||
デフォルトでは、**Usage Page** は `0xFF60` で、**Usage** は `0x61` です。
|
||||
|
||||
### ホストの構築
|
||||
|
||||
独自に作成したくない場合は、利用可能な HID 実装ライブラリがある任意の言語を使ってホストを構築することができます。人気のある言語でよく使われるライブラリは以下の通りです:
|
||||
|
||||
* Node: [node-hid](https://github.com/node-hid/node-hid)。
|
||||
* C: [hidapi](https://github.com/libusb/hidapi)。
|
||||
* Java: [purejavahidapi](https://github.com/nyholku/purejavahidapi) と [hid4java](https://github.com/gary-rowe/hid4java)。
|
||||
* Python: [pyhidapi](https://pypi.org/project/hid/)。
|
||||
|
||||
これは完全なクロスプラットフォームのリストではありませんが、最初に始めるのに十分なはずです。raw HID を使うための特別な要件は無いため、どの HID ライブラリでも動作するはずです。
|
||||
|
||||
これで、キーボードへの HID インタフェースを開くために必要な4つの情報全てが揃いました。必要なのは、ライブラリの利用可能な関数を使って ID パラメータを使ってデバイスを開くことだけです。
|
||||
|
||||
Vendor ID と Product ID はデバイスを開くために実際には必要ないことに注意してください。それらは接続した多くの HID デバイスから特定のデバイスをフィルターするためだけに使われます。多くのライブラリでは、代わりに製品名と製造元名を使ってデバイスを開くオプションがあります。`node-hid` が代表的な例です。これは USB ハブが組み込まれているデバイスや、同じ製品名または同じ製造元の複数のインタフェースがある特別な HID インタフェースで問題になります。Product ID と Vendor ID を合わせると単一のインタフェースの固有名を作成できるため、この問題を防げます。したがって、ライブラリで必要が無い場合でも、この問題を防ぐためにそれらを使うことをお勧めします。
|
||||
ただし、Vendor ID や Product ID と異なり、Usage Page と Usage は通信を成功させるために必要です。
|
||||
|
||||
言うまでもなく、使っているライブラリに関係なく、終了したらインタフェースを必ず閉じる必要があります。オペレーティングシステムと特定の環境によっては、明示的に接続が閉じられていない場合、後で他のクライアントまたは同じクライアントの他のインスタンスに接続しなおした時に問題が発生する可能性があります。
|
@@ -41,6 +41,19 @@ We've tried to make QMK as easy to set up as possible. You only have to prepare
|
||||
|
||||
### ** Windows **
|
||||
|
||||
QMK maintains a Bundle of MSYS2, the CLI and all necessary dependencies. It also provides a handy `QMK MSYS` terminal shortcut to boot you directly into the correct environment.
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
You will need to install `QMK MSYS`. The latest release is available at https://msys.qmk.fm/.
|
||||
|
||||
Alternatively, if you'd like to manually install msys2, the following section will walk you through the process.
|
||||
|
||||
<details>
|
||||
<summary>Manual Install</summary>
|
||||
|
||||
?> Ignore the following steps if you use `QMK MSYS`.
|
||||
|
||||
#### Prerequisites
|
||||
|
||||
You will need to install MSYS2, Git and Python. Follow the installation instructions on https://www.msys2.org.
|
||||
@@ -59,6 +72,8 @@ Install the QMK CLI by running:
|
||||
|
||||
python3 -m pip install qmk
|
||||
|
||||
</details>
|
||||
|
||||
### ** macOS **
|
||||
|
||||
QMK maintains a Homebrew tap and formula which will automatically install the CLI and all necessary dependencies.
|
||||
@@ -101,9 +116,9 @@ On Arch-based distros you can install the CLI from the official repositories (NO
|
||||
|
||||
sudo pacman -S qmk
|
||||
|
||||
You can also try the `qmk` package from AUR:
|
||||
You can also try the `qmk-git` package from AUR:
|
||||
|
||||
yay -S qmk
|
||||
yay -S qmk-git
|
||||
|
||||
### ** FreeBSD **
|
||||
|
||||
|
@@ -33,10 +33,11 @@ The default setting is 280 µs, which should work for most cases, but this can b
|
||||
Some variants of the WS2812 may have their color components in a different physical or logical order. For example, the WS2812B-2020 has physically swapped red and green LEDs, which causes the wrong color to be displayed, because the default order of the bytes sent over the wire is defined as GRB.
|
||||
In this case, you can change the byte order by defining `WS2812_BYTE_ORDER` as one of the following values:
|
||||
|
||||
| Byte order | Known devices |
|
||||
|-----------------------------------|-------------------------------|
|
||||
| `WS2812_BYTE_ORDER_GRB` (default) | Most WS2812's, SK6812, SK6805 |
|
||||
| `WS2812_BYTE_ORDER_RGB` | WS2812B-2020 |
|
||||
|Byte order |Known devices |
|
||||
|---------------------------------|-----------------------------|
|
||||
|`WS2812_BYTE_ORDER_GRB` (default)|Most WS2812's, SK6812, SK6805|
|
||||
|`WS2812_BYTE_ORDER_RGB` |WS2812B-2020 |
|
||||
|`WS2812_BYTE_ORDER_BGR` |TM1812 |
|
||||
|
||||
|
||||
### Bitbang
|
||||
|
@@ -115,11 +115,17 @@ bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) {
|
||||
return true;
|
||||
}
|
||||
|
||||
spi_status_t spi_write(uint8_t data) { return spi_transmit(&data, 1); }
|
||||
spi_status_t spi_write(uint8_t data) {
|
||||
uint8_t rxData;
|
||||
spiExchange(&SPI_DRIVER, 1, &data, &rxData);
|
||||
|
||||
return rxData;
|
||||
}
|
||||
|
||||
spi_status_t spi_read(void) {
|
||||
uint8_t data = 0;
|
||||
spi_receive(&data, 1);
|
||||
spiReceive(&SPI_DRIVER, 1, &data);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
|
@@ -97,6 +97,10 @@ void ws2812_setleds(LED_TYPE *ledarray, uint16_t leds) {
|
||||
sendByte(ledarray[i].r);
|
||||
sendByte(ledarray[i].g);
|
||||
sendByte(ledarray[i].b);
|
||||
#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR)
|
||||
sendByte(ledarray[i].b);
|
||||
sendByte(ledarray[i].g);
|
||||
sendByte(ledarray[i].r);
|
||||
#endif
|
||||
|
||||
#ifdef RGBW
|
||||
|
@@ -180,6 +180,43 @@
|
||||
* @return The bit index
|
||||
*/
|
||||
# define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 2, (bit))
|
||||
|
||||
#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR)
|
||||
/**
|
||||
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given red bit
|
||||
*
|
||||
* @note The red byte is the middle byte in the color packet
|
||||
*
|
||||
* @param[in] led: The led index [0, @ref RGBLED_NUM)
|
||||
* @param[in] bit: The bit number [0, 7]
|
||||
*
|
||||
* @return The bit index
|
||||
*/
|
||||
# define WS2812_RED_BIT(led, bit) WS2812_BIT((led), 2, (bit))
|
||||
|
||||
/**
|
||||
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given green bit
|
||||
*
|
||||
* @note The red byte is the first byte in the color packet
|
||||
*
|
||||
* @param[in] led: The led index [0, @ref RGBLED_NUM)
|
||||
* @param[in] bit: The bit number [0, 7]
|
||||
*
|
||||
* @return The bit index
|
||||
*/
|
||||
# define WS2812_GREEN_BIT(led, bit) WS2812_BIT((led), 1, (bit))
|
||||
|
||||
/**
|
||||
* @brief Determine the index in @ref ws2812_frame_buffer "the frame buffer" of a given blue bit
|
||||
*
|
||||
* @note The red byte is the last byte in the color packet
|
||||
*
|
||||
* @param[in] led: The led index [0, @ref RGBLED_NUM)
|
||||
* @param[in] bit: The bit index [0, 7]
|
||||
*
|
||||
* @return The bit index
|
||||
*/
|
||||
# define WS2812_BLUE_BIT(led, bit) WS2812_BIT((led), 0, (bit))
|
||||
#endif
|
||||
|
||||
/* --- PRIVATE VARIABLES ---------------------------------------------------- */
|
||||
|
@@ -70,6 +70,10 @@ static void set_led_color_rgb(LED_TYPE color, int pos) {
|
||||
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.r, j);
|
||||
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j);
|
||||
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.b, j);
|
||||
#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR)
|
||||
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + j] = get_protocol_eq(color.b, j);
|
||||
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE + j] = get_protocol_eq(color.g, j);
|
||||
for (int j = 0; j < 4; j++) tx_start[BYTES_FOR_LED * pos + BYTES_FOR_LED_BYTE * 2 + j] = get_protocol_eq(color.r, j);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
17
keyboards/0_sixty/0_sixty.c
Normal file
17
keyboards/0_sixty/0_sixty.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2020 Vinam Arora <vinam@posteo.de>
|
||||
*
|
||||
* 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 "0_sixty.h"
|
97
keyboards/0_sixty/0_sixty.h
Normal file
97
keyboards/0_sixty/0_sixty.h
Normal file
@@ -0,0 +1,97 @@
|
||||
/* Copyright 2020 Vinam Arora <vinam@posteo.de>
|
||||
*
|
||||
* 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 arguements
|
||||
// The second converts the arguments into a two-dimensional array
|
||||
#define LAYOUT_ortho_5x12( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#define LAYOUT_1x2uL( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k45, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k45, k45, k46, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#define LAYOUT_1x2uC( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k46, k47, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k46, k46, k47, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#define LAYOUT_1x2uR( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k44, k45, k46, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k44, k45, k46, k46, k48, k49, k4a, k4b } \
|
||||
}
|
||||
|
||||
#define LAYOUT_2x2uC( \
|
||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, \
|
||||
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, \
|
||||
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, \
|
||||
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, \
|
||||
k40, k41, k42, k43, k45, k46, k48, k49, k4a, k4b \
|
||||
) \
|
||||
{ \
|
||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b }, \
|
||||
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b }, \
|
||||
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b }, \
|
||||
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b }, \
|
||||
{ k40, k41, k42, k43, k45, k45, k46, k46, k48, k49, k4a, k4b } \
|
||||
}
|
68
keyboards/0_sixty/config.h
Normal file
68
keyboards/0_sixty/config.h
Normal file
@@ -0,0 +1,68 @@
|
||||
/* Copyright 2020 Vinam Arora <vinam@posteo.de>
|
||||
*
|
||||
* 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 0x7654
|
||||
#define PRODUCT_ID 0x0060
|
||||
#define DEVICE_VER 0x0001
|
||||
|
||||
#define MANUFACTURER ven0mtr0n
|
||||
#define PRODUCT 0-Sixty
|
||||
|
||||
/* key matrix size */
|
||||
// Rows are doubled-up
|
||||
#define MATRIX_ROWS 5
|
||||
#define MATRIX_COLS 12
|
||||
#define MATRIX_ROW_PINS { B1, F7, F6, F5, F4 }
|
||||
#define MATRIX_COL_PINS { D3, D2, D1, D0, D4, C6, D7, E6, B4, B5, B3, B2 }
|
||||
#define UNUSED_PINS
|
||||
|
||||
/* COL2ROW or ROW2COL */
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
/* indicator leds */
|
||||
#define LED_CAPS_LOCK_PIN B6
|
||||
|
||||
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||
#define LOCKING_SUPPORT_ENABLE
|
||||
/* Locking resynchronize hack */
|
||||
#define LOCKING_RESYNC_ENABLE
|
||||
|
||||
/*
|
||||
* Feature disable options
|
||||
* These options are also useful to firmware size reduction.
|
||||
*/
|
||||
|
||||
/* disable debug print */
|
||||
// #define NO_DEBUG
|
||||
|
||||
/* disable print */
|
||||
// #define NO_PRINT
|
||||
|
||||
/* disable action features */
|
||||
//#define NO_ACTION_LAYER
|
||||
//#define NO_ACTION_TAPPING
|
||||
//#define NO_ACTION_ONESHOT
|
||||
//#define NO_ACTION_MACRO
|
||||
//#define NO_ACTION_FUNCTION
|
344
keyboards/0_sixty/info.json
Normal file
344
keyboards/0_sixty/info.json
Normal file
@@ -0,0 +1,344 @@
|
||||
{
|
||||
"keyboard_name": "0-Sixty",
|
||||
"url": "",
|
||||
"maintainer": "vinamarora8",
|
||||
"width": 12,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_1x2uC": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4},
|
||||
{"x": 5, "y": 4, "w": 2},
|
||||
{"x": 7, "y": 4},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_2x2uC": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4, "w": 2},
|
||||
{"x": 6, "y": 4, "w": 2},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_ortho_5x12": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4},
|
||||
{"x": 5, "y": 4},
|
||||
{"x": 6, "y": 4},
|
||||
{"x": 7, "y": 4},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_1x2uR": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4},
|
||||
{"x": 5, "y": 4},
|
||||
{"x": 6, "y": 4, "w": 2},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
},
|
||||
"LAYOUT_1x2uL": {
|
||||
"layout": [
|
||||
{"x": 0, "y": 0},
|
||||
{"x": 1, "y": 0},
|
||||
{"x": 2, "y": 0},
|
||||
{"x": 3, "y": 0},
|
||||
{"x": 4, "y": 0},
|
||||
{"x": 5, "y": 0},
|
||||
{"x": 6, "y": 0},
|
||||
{"x": 7, "y": 0},
|
||||
{"x": 8, "y": 0},
|
||||
{"x": 9, "y": 0},
|
||||
{"x": 10, "y": 0},
|
||||
{"x": 11, "y": 0},
|
||||
|
||||
{"x": 0, "y": 1},
|
||||
{"x": 1, "y": 1},
|
||||
{"x": 2, "y": 1},
|
||||
{"x": 3, "y": 1},
|
||||
{"x": 4, "y": 1},
|
||||
{"x": 5, "y": 1},
|
||||
{"x": 6, "y": 1},
|
||||
{"x": 7, "y": 1},
|
||||
{"x": 8, "y": 1},
|
||||
{"x": 9, "y": 1},
|
||||
{"x": 10, "y": 1},
|
||||
{"x": 11, "y": 1},
|
||||
|
||||
{"x": 0, "y": 2},
|
||||
{"x": 1, "y": 2},
|
||||
{"x": 2, "y": 2},
|
||||
{"x": 3, "y": 2},
|
||||
{"x": 4, "y": 2},
|
||||
{"x": 5, "y": 2},
|
||||
{"x": 6, "y": 2},
|
||||
{"x": 7, "y": 2},
|
||||
{"x": 8, "y": 2},
|
||||
{"x": 9, "y": 2},
|
||||
{"x": 10, "y": 2},
|
||||
{"x": 11, "y": 2},
|
||||
|
||||
{"x": 0, "y": 3},
|
||||
{"x": 1, "y": 3},
|
||||
{"x": 2, "y": 3},
|
||||
{"x": 3, "y": 3},
|
||||
{"x": 4, "y": 3},
|
||||
{"x": 5, "y": 3},
|
||||
{"x": 6, "y": 3},
|
||||
{"x": 7, "y": 3},
|
||||
{"x": 8, "y": 3},
|
||||
{"x": 9, "y": 3},
|
||||
{"x": 10, "y": 3},
|
||||
{"x": 11, "y": 3},
|
||||
|
||||
{"x": 0, "y": 4},
|
||||
{"x": 1, "y": 4},
|
||||
{"x": 2, "y": 4},
|
||||
{"x": 3, "y": 4},
|
||||
{"x": 4, "y": 4, "w": 2},
|
||||
{"x": 6, "y": 4},
|
||||
{"x": 7, "y": 4},
|
||||
{"x": 8, "y": 4},
|
||||
{"x": 9, "y": 4},
|
||||
{"x": 10, "y": 4},
|
||||
{"x": 11, "y": 4}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
168
keyboards/0_sixty/keymaps/default/keymap.c
Normal file
168
keyboards/0_sixty/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,168 @@
|
||||
/* Copyright 2020 Vinam Arora <vinam@posteo.de>
|
||||
*
|
||||
* 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 zero_sixty_layers {
|
||||
_QWERTY,
|
||||
_COLEMAK,
|
||||
_DVORAK,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST
|
||||
};
|
||||
|
||||
#define QWERTY DF(_QWERTY)
|
||||
#define COLEMAK DF(_COLEMAK)
|
||||
#define DVORAK DF(_DVORAK)
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define ADJUST MO(_ADJUST)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Caps | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_5x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_DEL,
|
||||
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Colemak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | R | S | T | D | H | N | E | I | O | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Caps | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_COLEMAK] = LAYOUT_ortho_5x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL,
|
||||
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Dvorak
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | " | , | . | P | Y | F | G | C | R | L | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | O | E | U | I | D | H | T | N | S | / |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Caps | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_DVORAK] = LAYOUT_ortho_5x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL,
|
||||
KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
|
||||
KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT,
|
||||
KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_5x12(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_5x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Adjust
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | Reset| | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | |Qwerty|Colemk|Dvorak| | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ortho_5x12(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
|
||||
_______, _______, _______, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
|
||||
|
||||
};
|
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
|
||||
}
|
1
keyboards/0_sixty/keymaps/default/readme.md
Normal file
1
keyboards/0_sixty/keymaps/default/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default 0-Sixty layout - largely based on the Preonic's and Planck's
|
59
keyboards/0_sixty/keymaps/ven0mtr0n/keymap.c
Normal file
59
keyboards/0_sixty/keymaps/ven0mtr0n/keymap.c
Normal file
@@ -0,0 +1,59 @@
|
||||
/* Copyright 2020 Vinam Arora <vinam@posteo.de>
|
||||
*
|
||||
* 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 zero_sixty_layers {
|
||||
_DEFAULT,
|
||||
_L1,
|
||||
_L2,
|
||||
_L3,
|
||||
};
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
[_DEFAULT] = LAYOUT_1x2uC( /* qwerty */
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC ,
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_ENT ,
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL ,
|
||||
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_LGUI, MO(_L3), MO(_L2), KC_LALT, MO(_L1), KC_SPC, MO(_L1), KC_RALT, MO(_L2), MO(_L3), KC_RGUI
|
||||
),
|
||||
|
||||
[_L1] = LAYOUT_1x2uC(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
|
||||
_______, KC_LBRC, KC_LT, KC_GT, KC_RBRC, KC_TILD, KC_PIPE, KC_GRV, KC_QUOT, KC_DQUO, KC_PGUP, _______ ,
|
||||
_______, KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_DEL, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PGDN, _______ ,
|
||||
_______, KC_APP, _______, _______, _______, _______, KC_EQL, KC_UNDS, KC_MINS, KC_PLUS, KC_BSLS, _______ ,
|
||||
_______, _______, _______, _______, _______, KC_CAPS, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
[_L2] = LAYOUT_1x2uC(
|
||||
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______ ,
|
||||
_______, _______, _______, _______, _______, KC_VOLU, _______, KC_7, KC_8, KC_9, KC_F11, _______ ,
|
||||
_______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_4, KC_5, KC_6, KC_F12, _______ ,
|
||||
_______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_MUTE, KC_1, KC_2, KC_3, KC_PSCR, _______ ,
|
||||
_______, _______, KC_CAPS, _______, _______, _______, KC_0, _______, KC_CAPS, _______, _______
|
||||
),
|
||||
|
||||
[_L3] = LAYOUT_1x2uC(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_WH_U, KC_MS_U, KC_WH_D, _______, _______ ,
|
||||
_______, _______, KC_ACL2, KC_ACL1, KC_ACL0, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______ ,
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN3, KC_BTN2, _______, _______ ,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
|
||||
};
|
1
keyboards/0_sixty/keymaps/ven0mtr0n/readme.md
Normal file
1
keyboards/0_sixty/keymaps/ven0mtr0n/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# Keymap used by vinam. Keeps changing ofcourse :3
|
1
keyboards/0_sixty/keymaps/ven0mtr0n/rules.mk
Normal file
1
keyboards/0_sixty/keymaps/ven0mtr0n/rules.mk
Normal file
@@ -0,0 +1 @@
|
||||
MOUSEKEY_ENABLE = yes
|
116
keyboards/0_sixty/keymaps/via/keymap.c
Normal file
116
keyboards/0_sixty/keymaps/via/keymap.c
Normal file
@@ -0,0 +1,116 @@
|
||||
/* Copyright 2020 Vinam Arora <vinam@posteo.de>
|
||||
*
|
||||
* 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
|
||||
|
||||
// 4 layers, because that is what VIA can support by default
|
||||
enum zero_sixty_layers {
|
||||
_QWERTY,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
_ADJUST,
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
#define ADJUST MO(_ADJUST)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
/* Qwerty
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Esc | A | S | D | F | G | H | J | K | L | ; | " |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | Caps | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_QWERTY] = LAYOUT_ortho_5x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 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_DEL,
|
||||
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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||
KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
|
||||
),
|
||||
|
||||
/* Lower
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_LOWER] = LAYOUT_ortho_5x12(
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
|
||||
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, ADJUST, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Raise
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | Next | Vol- | Vol+ | Play |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_RAISE] = LAYOUT_ortho_5x12(
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
|
||||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
|
||||
_______, _______, _______, _______, ADJUST, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||
),
|
||||
|
||||
/* Adjust
|
||||
* ,-----------------------------------------------------------------------------------.
|
||||
* | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | Reset| | | | | | | | | | Del |
|
||||
* |------+------+------+------+------+-------------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------|------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | | |
|
||||
* |------+------+------+------+------+------+------+------+------+------+------+------|
|
||||
* | | | | | | | | | | | |
|
||||
* `-----------------------------------------------------------------------------------'
|
||||
*/
|
||||
[_ADJUST] = LAYOUT_ortho_5x12(
|
||||
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||
_______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||
),
|
||||
};
|
1
keyboards/0_sixty/keymaps/via/readme.md
Normal file
1
keyboards/0_sixty/keymaps/via/readme.md
Normal file
@@ -0,0 +1 @@
|
||||
# The default via-supported 0-Sixty layout - largely based on the Preonic's and Planck's
|
2
keyboards/0_sixty/keymaps/via/rules.mk
Normal file
2
keyboards/0_sixty/keymaps/via/rules.mk
Normal file
@@ -0,0 +1,2 @@
|
||||
VIA_ENABLE = yes
|
||||
MOUSEKEY_ENABLE = yes
|
27
keyboards/0_sixty/readme.md
Normal file
27
keyboards/0_sixty/readme.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# 0-Sixty
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
0-Sixty (pronounced "zero to sixty") is a 60 key ortholinear keyboard inspired by the [Discipline](https://github.com/coseyfannitutti/discipline) and the [Preonic](https://drop.com/buy/preonic-mechanical-keyboard). It is designed as a DIY through-hole kit and uses the ProMicro as its controller.
|
||||
|
||||
[More images here](https://imgur.com/a/b0JINqX)
|
||||
|
||||
* Keyboard Maintainer: [vinamarora8](https://github.com/vinamarora8)
|
||||
* Hardware Supported: 0-Sixty PCB
|
||||
* Hardware Availability: Private Group-Buy
|
||||
|
||||
Getting the board into bootloader mode:
|
||||
|
||||
To be able to flash firmware onto this board, you'll need to bring the ProMicro into bootloader mode. Simply tap the small reset button twice. The button is placed to the right of the ProMicro.
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make 0_sixty:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make 0_sixty:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
21
keyboards/0_sixty/rules.mk
Normal file
21
keyboards/0_sixty/rules.mk
Normal file
@@ -0,0 +1,21 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
|
||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 1upkeyboards
|
||||
#define PRODUCT 1up60hse
|
||||
#define DESCRIPTION A custom 60% keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 1upkeyboards
|
||||
#define PRODUCT 1up60hte
|
||||
#define DESCRIPTION A custom 60% keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 1upkeyboards
|
||||
#define PRODUCT 1UP RGB Underglow PCB
|
||||
#define DESCRIPTION 60% keyboard with RGB underglow
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 1upkeyboards
|
||||
#define PRODUCT super16
|
||||
#define DESCRIPTION A 4x4 custom macropad
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
|
@@ -6,7 +6,6 @@
|
||||
#define VENDOR_ID 0x6F75 // OU
|
||||
#define MANUFACTURER 1up Keyboards
|
||||
#define PRODUCT Sweet16
|
||||
#define DESCRIPTION 4x4 grid
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0002
|
||||
#define MANUFACTURER WoodKeys.click
|
||||
#define PRODUCT 2Key2Crawl
|
||||
#define DESCRIPTION ATX Keycrawl 2018
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 2
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0000
|
||||
#define MANUFACTURER 8o7wer
|
||||
#define PRODUCT 30wer
|
||||
#define DESCRIPTION Gherkin style construction 30% staggered pcb kit
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 3
|
||||
|
@@ -24,7 +24,6 @@
|
||||
#define DEVICE_VER 0x0F25
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT The 5x5 Keyboard
|
||||
#define DESCRIPTION A split 50 key keyboard
|
||||
|
||||
#define USE_SERIAL
|
||||
/* serial.c configuration for split keyboard */
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 40percentclub
|
||||
#define PRODUCT 4pack
|
||||
#define DESCRIPTION A 1x4 custom macropad
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 1
|
||||
|
@@ -10,7 +10,6 @@
|
||||
#define DEVICE_VER 0x4444
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT The 4x4 Keyboard
|
||||
#define DESCRIPTION A modular compact keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
|
@@ -10,7 +10,6 @@
|
||||
#define DEVICE_VER 0x05B5
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT The 5x5 Keyboard
|
||||
#define DESCRIPTION A 25 or 50 or 75 key keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -24,7 +24,6 @@
|
||||
#define DEVICE_VER 0x0F61
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT The 6lit Macropad
|
||||
#define DESCRIPTION A split 12 key Macropad
|
||||
|
||||
#define USE_SERIAL
|
||||
|
||||
|
@@ -24,7 +24,6 @@
|
||||
#define DEVICE_VER 0x0F00
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT The foobar Keyboard
|
||||
#define DESCRIPTION A split 30 key keyboard
|
||||
|
||||
#define USE_SERIAL
|
||||
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 40 Percent Club
|
||||
#define PRODUCT Gherkin
|
||||
#define DESCRIPTION A 30 key ortholinear keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -2,6 +2,4 @@
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#undef MANUFACTURER
|
||||
#undef DESCRIPTION
|
||||
#define MANUFACTURER Some Guy
|
||||
#define DESCRIPTION 30 percent disaster
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x4A1F
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT half_n_half
|
||||
#define DESCRIPTION A small split ortholinear custom keyboard with 2 thumb buttons
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4*2
|
||||
|
@@ -24,7 +24,6 @@
|
||||
#define DEVICE_VER 0x0175
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT i75
|
||||
#define DESCRIPTION i75 15x5 ortholinear keyboard
|
||||
|
||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||
#define DEBOUNCE 5
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x1001
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT Luddite
|
||||
#define DESCRIPTION Luddite Keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 8
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0101
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT MF68
|
||||
#define DESCRIPTION Magicforce 68 with programmable PCB replacement
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 8
|
||||
|
@@ -6,10 +6,8 @@
|
||||
#undef DEVICE_VER
|
||||
#undef MANUFACTURER
|
||||
#undef PRODUCT
|
||||
#undef DESCRIPTION
|
||||
#define VENDOR_ID 0xFEED
|
||||
#define PRODUCT_ID 0x0A0C
|
||||
#define DEVICE_VER 0x0068
|
||||
#define MANUFACTURER 68Keys.io
|
||||
#define PRODUCT The 68Keys.io Keyboard
|
||||
#define DESCRIPTION A 68 keys mechanical keyboard
|
||||
|
@@ -21,10 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
/* Overrides for Feather 32u4 Bluefruit */
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#undef DESCRIPTION
|
||||
#define DESCRIPTION Magicforce 68 BLE
|
||||
|
||||
/*
|
||||
* Keyboard Matrix Assignments
|
||||
*
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT Nano
|
||||
#define DESCRIPTION 8 key microswitch board
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 2
|
||||
|
@@ -24,7 +24,6 @@
|
||||
#define DEVICE_VER 0x9999
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT The nein Keyboard
|
||||
#define DESCRIPTION 9 key macropad
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 3
|
||||
|
@@ -24,7 +24,6 @@
|
||||
#define DEVICE_VER 0x0444
|
||||
#define MANUFACTURER di0ib
|
||||
#define PRODUCT The nori Keyboard
|
||||
#define DESCRIPTION A modular compact keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 40 Percent Club
|
||||
#define PRODUCT Tomato
|
||||
#define DESCRIPTION A 30 key ortholinear keyboard with RGB backlighting
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 40percent.club
|
||||
#define PRODUCT ut47
|
||||
#define DESCRIPTION An awesome 40% keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Elias Sjögreen
|
||||
#define PRODUCT 4by3
|
||||
#define DESCRIPTION A small 12 key keypad
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 3
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 4pplet
|
||||
#define PRODUCT AEKISO60 Rev A
|
||||
#define DESCRIPTION A steezy KEEB
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 4pplet
|
||||
#define PRODUCT Steezy60 Rev A
|
||||
#define DESCRIPTION A steezy keeb
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -8,7 +8,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER 4pplet
|
||||
#define PRODUCT waffling60 Rev A
|
||||
#define DESCRIPTION A steezy keeb
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
|
@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER That-Canadian
|
||||
#define PRODUCT 6-Ball
|
||||
#define DESCRIPTION 6-Ball Macropuck
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 1
|
||||
|
@@ -24,7 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0007
|
||||
#define MANUFACTURER Salicylic_Acid
|
||||
#define PRODUCT 7skb
|
||||
#define DESCRIPTION A custom keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 10
|
||||
|
@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Bishop Keyboards
|
||||
#define PRODUCT 9Key
|
||||
#define DESCRIPTION Bishop Keyboards 9Key // Charleston, SC Meetup Handout
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 3
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER nickolaij
|
||||
#define PRODUCT abacus
|
||||
#define DESCRIPTION A first attempt at a custom keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER cfbender
|
||||
#define PRODUCT absinthe
|
||||
#define DESCRIPTION An F-row-less TKL
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 9
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER AbstractKB
|
||||
#define PRODUCT EllipseRev1
|
||||
#define DESCRIPTION The Ellipse Macropad
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 2
|
||||
|
@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER DriftMechanics
|
||||
#define PRODUCT Austin
|
||||
#define DESCRIPTION Austin Keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 6
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Acheron Project
|
||||
#define PRODUCT Elongate
|
||||
#define DESCRIPTION Acheron Project Elongate
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -23,7 +23,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001 // Revision pre-Alpha
|
||||
#define MANUFACTURER AcheronProject
|
||||
#define PRODUCT KeebsPCB
|
||||
#define DESCRIPTION AcheronProject KeebsPCB
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
149
keyboards/acheron/lasgweloth/info.json
Normal file
149
keyboards/acheron/lasgweloth/info.json
Normal file
@@ -0,0 +1,149 @@
|
||||
{
|
||||
"keyboard_name": "Lasgweloth",
|
||||
"url": "",
|
||||
"maintainer": "Gondolindrim",
|
||||
"width": 15,
|
||||
"height": 5,
|
||||
"layouts": {
|
||||
"LAYOUT_60_ansi": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0, "w":2},
|
||||
|
||||
{"x":0, "y":1, "w":1.5},
|
||||
{"x":1.5, "y":1},
|
||||
{"x":2.5, "y":1},
|
||||
{"x":3.5, "y":1},
|
||||
{"x":4.5, "y":1},
|
||||
{"x":5.5, "y":1},
|
||||
{"x":6.5, "y":1},
|
||||
{"x":7.5, "y":1},
|
||||
{"x":8.5, "y":1},
|
||||
{"x":9.5, "y":1},
|
||||
{"x":10.5, "y":1},
|
||||
{"x":11.5, "y":1},
|
||||
{"x":12.5, "y":1},
|
||||
{"x":13.5, "y":1, "w":1.5},
|
||||
|
||||
{"x":0, "y":2, "w":1.75},
|
||||
{"x":1.75, "y":2},
|
||||
{"x":2.75, "y":2},
|
||||
{"x":3.75, "y":2},
|
||||
{"x":4.75, "y":2},
|
||||
{"x":5.75, "y":2},
|
||||
{"x":6.75, "y":2},
|
||||
{"x":7.75, "y":2},
|
||||
{"x":8.75, "y":2},
|
||||
{"x":9.75, "y":2},
|
||||
{"x":10.75, "y":2},
|
||||
{"x":11.75, "y":2},
|
||||
{"x":12.75, "y":2, "w":2.25},
|
||||
|
||||
{"x":0, "y":3, "w":2.25},
|
||||
{"x":2.25, "y":3},
|
||||
{"x":3.25, "y":3},
|
||||
{"x":4.25, "y":3},
|
||||
{"x":5.25, "y":3},
|
||||
{"x":6.25, "y":3},
|
||||
{"x":7.25, "y":3},
|
||||
{"x":8.25, "y":3},
|
||||
{"x":9.25, "y":3},
|
||||
{"x":10.25, "y":3},
|
||||
{"x":11.25, "y":3},
|
||||
{"x":12.25, "y":3, "w":2.75},
|
||||
|
||||
{"x":0, "y":4, "w":1.25},
|
||||
{"x":1.25, "y":4, "w":1.25},
|
||||
{"x":2.5, "y":4, "w":1.25},
|
||||
{"x":3.75, "y":4, "w":6.25},
|
||||
{"x":10, "y":4, "w":1.25},
|
||||
{"x":11.25, "y":4, "w":1.25},
|
||||
{"x":12.5, "y":4, "w":1.25},
|
||||
{"x":13.75, "y":4, "w":1.25}
|
||||
]
|
||||
},
|
||||
"LAYOUT_60_ansi_split_bs_rshift": {
|
||||
"layout": [
|
||||
{"x":0, "y":0},
|
||||
{"x":1, "y":0},
|
||||
{"x":2, "y":0},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0},
|
||||
{"x":5, "y":0},
|
||||
{"x":6, "y":0},
|
||||
{"x":7, "y":0},
|
||||
{"x":8, "y":0},
|
||||
{"x":9, "y":0},
|
||||
{"x":10, "y":0},
|
||||
{"x":11, "y":0},
|
||||
{"x":12, "y":0},
|
||||
{"x":13, "y":0},
|
||||
{"x":14, "y":0},
|
||||
|
||||
{"x":0, "y":1, "w":1.5},
|
||||
{"x":1.5, "y":1},
|
||||
{"x":2.5, "y":1},
|
||||
{"x":3.5, "y":1},
|
||||
{"x":4.5, "y":1},
|
||||
{"x":5.5, "y":1},
|
||||
{"x":6.5, "y":1},
|
||||
{"x":7.5, "y":1},
|
||||
{"x":8.5, "y":1},
|
||||
{"x":9.5, "y":1},
|
||||
{"x":10.5, "y":1},
|
||||
{"x":11.5, "y":1},
|
||||
{"x":12.5, "y":1},
|
||||
{"x":13.5, "y":1, "w":1.5},
|
||||
|
||||
{"x":0, "y":2, "w":1.75},
|
||||
{"x":1.75, "y":2},
|
||||
{"x":2.75, "y":2},
|
||||
{"x":3.75, "y":2},
|
||||
{"x":4.75, "y":2},
|
||||
{"x":5.75, "y":2},
|
||||
{"x":6.75, "y":2},
|
||||
{"x":7.75, "y":2},
|
||||
{"x":8.75, "y":2},
|
||||
{"x":9.75, "y":2},
|
||||
{"x":10.75, "y":2},
|
||||
{"x":11.75, "y":2},
|
||||
{"x":12.75, "y":2, "w":2.25},
|
||||
|
||||
{"x":0, "y":3, "w":2.25},
|
||||
{"x":2.25, "y":3},
|
||||
{"x":3.25, "y":3},
|
||||
{"x":4.25, "y":3},
|
||||
{"x":5.25, "y":3},
|
||||
{"x":6.25, "y":3},
|
||||
{"x":7.25, "y":3},
|
||||
{"x":8.25, "y":3},
|
||||
{"x":9.25, "y":3},
|
||||
{"x":10.25, "y":3},
|
||||
{"x":11.25, "y":3},
|
||||
{"x":12.25, "y":3, "w":1.75},
|
||||
{"x":14, "y":3},
|
||||
|
||||
{"x":0, "y":4, "w":1.25},
|
||||
{"x":1.25, "y":4, "w":1.25},
|
||||
{"x":2.5, "y":4, "w":1.25},
|
||||
{"x":3.75, "y":4, "w":6.25},
|
||||
{"x":10, "y":4, "w":1.25},
|
||||
{"x":11.25, "y":4, "w":1.25},
|
||||
{"x":12.5, "y":4, "w":1.25},
|
||||
{"x":13.75, "y":4, "w":1.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@@ -18,18 +18,18 @@ 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_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC,
|
||||
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_DEL,
|
||||
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) ,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_UP , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
[0] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
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_BSLS,
|
||||
KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
|
||||
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) ,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_UP , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
@@ -18,18 +18,18 @@ 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_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_TILD,
|
||||
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_ENT , KC_DEL,
|
||||
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) ,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_UP , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
[0] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
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_TILD,
|
||||
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_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, MO(1) ,
|
||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL
|
||||
),
|
||||
[1] = LAYOUT_60_ansi_split_bs_rshift(
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, KC_UP , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
)
|
||||
};
|
||||
|
@@ -21,16 +21,33 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
|
||||
K40, K41, K42, K46, K48, K49, K4A, K4B \
|
||||
// equivalent to LAYOUT_all
|
||||
#define LAYOUT_60_ansi_split_bs_rshift( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K2D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, \
|
||||
K40, K41, K42, K46, K48, K49, K4A, K4B \
|
||||
) { \
|
||||
{ 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, K3C, ___ }, \
|
||||
{ K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, ___, ___ } \
|
||||
{ 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, K3C, ___ }, \
|
||||
{ K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, ___, ___ } \
|
||||
}
|
||||
|
||||
#define LAYOUT_60_ansi( \
|
||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, \
|
||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, \
|
||||
K40, K41, K42, K46, K48, K49, K4A, K4B \
|
||||
) { \
|
||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D }, \
|
||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D }, \
|
||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, ___ }, \
|
||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, ___, ___ }, \
|
||||
{ K40, K41, K42, ___, ___, ___, K46, ___, K48, K49, K4A, K4B, ___, ___ } \
|
||||
}
|
||||
|
||||
#define LAYOUT LAYOUT_60_ansi_split_bs_rshift
|
||||
|
@@ -21,3 +21,5 @@ ENCODER_ENABLE = no
|
||||
|
||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE
|
||||
|
||||
LAYOUTS = 60_ansi 60_ansi_split_bs_rshift
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER AcheronProject
|
||||
#define PRODUCT SharkPCB
|
||||
#define DESCRIPTION Ortho 40 PCB
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
|
@@ -9,7 +9,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER MECHKEYS
|
||||
#define PRODUCT ACR60
|
||||
#define DESCRIPTION 60% customizable keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0002
|
||||
#define MANUFACTURER floookay
|
||||
#define PRODUCT adelheid
|
||||
#define DESCRIPTION 75% alice-like keyboard based on the arisu
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 7
|
||||
|
@@ -22,7 +22,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Bit Trade One
|
||||
#define PRODUCT ADKB96
|
||||
#define DESCRIPTION
|
||||
|
||||
/* key matrix size */
|
||||
// Rows are doubled-up
|
||||
|
@@ -24,7 +24,6 @@
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER AEboards
|
||||
#define PRODUCT AEboards Aegis
|
||||
#define DESCRIPTION AEboards Aegis
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 12
|
||||
|
17
keyboards/afternoonlabs/breeze/breeze.c
Normal file
17
keyboards/afternoonlabs/breeze/breeze.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2021 eithanshavit
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "breeze.h"
|
21
keyboards/afternoonlabs/breeze/breeze.h
Normal file
21
keyboards/afternoonlabs/breeze/breeze.h
Normal file
@@ -0,0 +1,21 @@
|
||||
/* Copyright 2021 eithanshavit
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifdef KEYBOARD_afternoonlabs_breeze_rev0
|
||||
# include "rev0.h"
|
||||
#endif
|
@@ -1,4 +1,4 @@
|
||||
/* Copyright 2019
|
||||
/* Copyright 2021 eithanshavit
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -18,6 +18,5 @@
|
||||
|
||||
#include "config_common.h"
|
||||
|
||||
#define MATRIX_COL_PINS { A3 }
|
||||
#define MATRIX_ROW_PINS { A2 }
|
||||
#define UNUSED_PINS
|
||||
#define NO_ACTION_MACRO
|
||||
#define NO_ACTION_FUNCTION
|
71
keyboards/afternoonlabs/breeze/keymaps/default/keymap.c
Normal file
71
keyboards/afternoonlabs/breeze/keymaps/default/keymap.c
Normal file
@@ -0,0 +1,71 @@
|
||||
/* Copyright 2021 eithanshavit
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include QMK_KEYBOARD_H
|
||||
|
||||
enum layer_names {
|
||||
_MAIN,
|
||||
_LOWER,
|
||||
_RAISE,
|
||||
};
|
||||
|
||||
#define LOWER MO(_LOWER)
|
||||
#define RAISE MO(_RAISE)
|
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
||||
[_MAIN] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, LOWER, RAISE, XXXXXXX
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_LOWER] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
_______, _______, _______, _______, _______, _______, _______, _______
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
),
|
||||
|
||||
[_RAISE] = LAYOUT(
|
||||
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______,
|
||||
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
|
||||
_______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______,
|
||||
//└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
|
||||
_______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT
|
||||
// └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
|
||||
)
|
||||
};
|
5
keyboards/afternoonlabs/breeze/keymaps/default/readme.md
Normal file
5
keyboards/afternoonlabs/breeze/keymaps/default/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# Default Breeze Layout
|
||||
|
||||

|
||||
|
||||
This is the default suggested layout for Breeze Split Keyboard.
|
47
keyboards/afternoonlabs/breeze/rev0/config.h
Normal file
47
keyboards/afternoonlabs/breeze/rev0/config.h
Normal file
@@ -0,0 +1,47 @@
|
||||
/* Copyright 2021 eithanshavit
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
/* USB Device descriptor parameter */
|
||||
#define VENDOR_ID 0x616C
|
||||
#define PRODUCT_ID 0x0001
|
||||
#define DEVICE_VER 0x0000
|
||||
#define MANUFACTURER AfternoonLabs
|
||||
#define PRODUCT Breeze
|
||||
|
||||
/* key matrix size */
|
||||
// Rows are doubled-up
|
||||
#define MATRIX_ROWS 10
|
||||
#define MATRIX_COLS 9
|
||||
|
||||
// wiring of each half
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ F4, F5, F6, F7, B1 }
|
||||
#define MATRIX_COL_PINS \
|
||||
{ B2, D1, D0, D4, C6, D7, E6, B4, B5 }
|
||||
|
||||
#define SPLIT_HAND_PIN B3
|
||||
|
||||
/* Set 0 if debouncing isn't needed */
|
||||
#define DEBOUNCE 5
|
||||
|
||||
#define SOFT_SERIAL_PIN D2
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
#define BOOTMAGIC_LITE_ROW 0
|
||||
#define BOOTMAGIC_LITE_COL 5
|
84
keyboards/afternoonlabs/breeze/rev0/info.json
Normal file
84
keyboards/afternoonlabs/breeze/rev0/info.json
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"keyboard_name": "Breeze",
|
||||
"url": "afternoonlabs.com/breeze",
|
||||
"productId": "0x0001",
|
||||
"maintainer": "eithanshavit",
|
||||
"width": 19,
|
||||
"height": 6,
|
||||
"layouts": {
|
||||
"LAYOUT": {
|
||||
"layout": [
|
||||
{"x":0, "y":0.375},
|
||||
{"x":1, "y":0.375},
|
||||
{"x":2, "y":0.125},
|
||||
{"x":3, "y":0},
|
||||
{"x":4, "y":0.125},
|
||||
{"x":5, "y":0.25},
|
||||
{"x":9.75, "y":0.25},
|
||||
{"x":10.75, "y":0.125},
|
||||
{"x":11.75, "y":0},
|
||||
{"x":12.75, "y":0.125},
|
||||
{"x":13.75, "y":0.375},
|
||||
{"x":14.75, "y":0.375},
|
||||
{"x":16, "y":0.375},
|
||||
{"x":17, "y":0.375},
|
||||
{"x":18, "y":0.375},
|
||||
|
||||
{"x":0, "y":1.375},
|
||||
{"x":1, "y":1.375},
|
||||
{"x":2, "y":1.125},
|
||||
{"x":3, "y":1},
|
||||
{"x":4, "y":1.125},
|
||||
{"x":5, "y":1.25},
|
||||
{"x":9.75, "y":1.25},
|
||||
{"x":10.75, "y":1.125},
|
||||
{"x":11.75, "y":1},
|
||||
{"x":12.75, "y":1.125},
|
||||
{"x":13.75, "y":1.375},
|
||||
{"x":14.75, "y":1.375},
|
||||
{"x":16, "y":1.375},
|
||||
{"x":17, "y":1.375},
|
||||
{"x":18, "y":1.375},
|
||||
|
||||
{"x":0, "y":2.375},
|
||||
{"x":1, "y":2.375},
|
||||
{"x":2, "y":2.125},
|
||||
{"x":3, "y":2},
|
||||
{"x":4, "y":2.125},
|
||||
{"x":5, "y":2.25},
|
||||
{"x":9.75, "y":2.25},
|
||||
{"x":10.75, "y":2.125},
|
||||
{"x":11.75, "y":2},
|
||||
{"x":12.75, "y":2.125},
|
||||
{"x":13.75, "y":2.375},
|
||||
{"x":14.75, "y":2.375},
|
||||
{"x":17, "y":2.375},
|
||||
|
||||
{"x":0, "y":3.375},
|
||||
{"x":1, "y":3.375},
|
||||
{"x":2, "y":3.125},
|
||||
{"x":3, "y":3},
|
||||
{"x":4, "y":3.125},
|
||||
{"x":5, "y":3.25},
|
||||
{"x":9.75, "y":3.25},
|
||||
{"x":10.75, "y":3.125},
|
||||
{"x":11.75, "y":3},
|
||||
{"x":12.75, "y":3.125},
|
||||
{"x":13.75, "y":3.375},
|
||||
{"x":14.75, "y":3.375},
|
||||
{"x":16, "y":3.375},
|
||||
{"x":17, "y":3.375},
|
||||
{"x":18, "y":3.375},
|
||||
|
||||
{"x":2.5, "y":4.25},
|
||||
{"x":3.5, "y":4.25},
|
||||
{"x":4.5, "y":4.5},
|
||||
{"x":6.25, "y":3.75, "h":2, "r":30},
|
||||
{"x":8.5, "y":3.75, "h":2, "r":-30},
|
||||
{"x":10.25, "y":4.5},
|
||||
{"x":11.25, "y":4.25},
|
||||
{"x":12.25, "y":4.25}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
15
keyboards/afternoonlabs/breeze/rev0/readme.md
Normal file
15
keyboards/afternoonlabs/breeze/rev0/readme.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Breeze
|
||||
|
||||

|
||||
|
||||
Split ergonomics meets productivity. Breeze Rev0 is a split keyboard with 6×4 keys, 4 key thumb cluster, arrow keys, and a 6 key macro cluster, with ortholinear column-staggered.
|
||||
|
||||
* Keyboard Maintainer: [Eithan Shavit](https://github.com/eithanshavit)
|
||||
* Hardware Supported: Breeze Rev0 PCB
|
||||
* Hardware Availability: Coming soon
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make afternoonlabs/breeze/rev0: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).
|
17
keyboards/afternoonlabs/breeze/rev0/rev0.c
Normal file
17
keyboards/afternoonlabs/breeze/rev0/rev0.c
Normal file
@@ -0,0 +1,17 @@
|
||||
/* Copyright 2021 eithanshavit
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "breeze.h"
|
41
keyboards/afternoonlabs/breeze/rev0/rev0.h
Normal file
41
keyboards/afternoonlabs/breeze/rev0/rev0.h
Normal file
@@ -0,0 +1,41 @@
|
||||
/* Copyright 2021 eithanshavit
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "breeze.h"
|
||||
|
||||
#include "quantum.h"
|
||||
|
||||
#define LAYOUT( \
|
||||
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, MC0, MC1, MC2, \
|
||||
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, MC3, MC4, MC5, \
|
||||
L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, AUP, \
|
||||
L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35, ALT, ADN, ART, \
|
||||
LT0, LT1, LT2, LT3, RT0, RT1, RT2, RT3 \
|
||||
) \
|
||||
{ \
|
||||
{ L05, L04, L03, L02, L01, L00, KC_NO, KC_NO, KC_NO }, \
|
||||
{ L15, L14, L13, L12, L11, L10, KC_NO, KC_NO, KC_NO }, \
|
||||
{ L25, L24, L23, L22, L21, L20, KC_NO, KC_NO, KC_NO }, \
|
||||
{ L35, L34, L33, L32, L31, L30, KC_NO, KC_NO, KC_NO }, \
|
||||
{ LT3, LT2, LT1, LT0, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
{ R00, R01, R02, R03, R04, R05, MC0, MC1, MC2 }, \
|
||||
{ R10, R11, R12, R13, R14, R15, MC3, MC4, MC5 }, \
|
||||
{ R20, R21, R22, R23, R24, R25, KC_NO, AUP, KC_NO }, \
|
||||
{ R30, R31, R32, R33, R34, R35, ALT, ADN, ART }, \
|
||||
{ RT0, RT1, RT2, RT3, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
|
||||
}
|
23
keyboards/afternoonlabs/breeze/rev0/rules.mk
Normal file
23
keyboards/afternoonlabs/breeze/rev0/rules.mk
Normal file
@@ -0,0 +1,23 @@
|
||||
# MCU name
|
||||
MCU = atmega32u4
|
||||
|
||||
# Bootloader selection
|
||||
BOOTLOADER = caterina
|
||||
|
||||
# Build Options
|
||||
# change yes to no to disable
|
||||
#
|
||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||
MOUSEKEY_ENABLE = no # Mouse keys
|
||||
EXTRAKEY_ENABLE = no # Audio control and System control
|
||||
CONSOLE_ENABLE = yes # Console for debug
|
||||
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||
NKRO_ENABLE = no # USB Nkey Rollover
|
||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||
AUDIO_ENABLE = no # Audio output
|
||||
SPLIT_KEYBOARD = yes
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER ai03 Design Studio
|
||||
#define PRODUCT Equinox
|
||||
#define DESCRIPTION Compact PCB-mount keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Switchplate Peripherals
|
||||
#define PRODUCT Lunar
|
||||
#define DESCRIPTION 65% AEK keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0003
|
||||
#define MANUFACTURER ai03 Keyboard Designs
|
||||
#define PRODUCT Orbit
|
||||
#define DESCRIPTION Split ergonomic keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 10 // Double rows for split keyboards. Orbit has 5, so define 10
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER ai03 Design Studio
|
||||
#define PRODUCT OrbitX
|
||||
#define DESCRIPTION High-end compact ergonomic keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 8 // Double the rows for split
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER ai03 Design Studio
|
||||
#define PRODUCT Polaris
|
||||
#define DESCRIPTION Basic 60% keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Ryota Goto
|
||||
#define PRODUCT Quasar
|
||||
#define DESCRIPTION SSK Controller
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 8
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Elliot Powell
|
||||
#define PRODUCT eb46
|
||||
#define DESCRIPTION eb46 running qmk
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 4
|
||||
#define MATRIX_COLS 13
|
||||
|
@@ -24,7 +24,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER AKB
|
||||
#define PRODUCT Raine
|
||||
#define DESCRIPTION Raine
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -26,7 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0104
|
||||
#define MANUFACTURER Alsoran
|
||||
#define PRODUCT AL1
|
||||
#define DESCRIPTION A custom keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 7
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Alf
|
||||
#define PRODUCT dc60
|
||||
#define DESCRIPTION custom 60% keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 5
|
||||
|
@@ -25,7 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define DEVICE_VER 0x0001
|
||||
#define MANUFACTURER Alf
|
||||
#define PRODUCT x11
|
||||
#define DESCRIPTION A TKL custom keyboard
|
||||
|
||||
/* key matrix size */
|
||||
#define MATRIX_ROWS 7
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user