Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
90e57b7b0a | ||
|
|
29df3ce83b | ||
|
|
7ab4902543 | ||
|
|
50a312b635 | ||
|
|
873658a76d | ||
|
|
745f5f6532 | ||
|
|
eb2886369d | ||
|
|
438eee96e8 | ||
|
|
0624698d33 | ||
|
|
88e53ad9ca | ||
|
|
dc39d90270 | ||
|
|
050457818c | ||
|
|
1f4e20cfda | ||
|
|
c835d2e71d | ||
|
|
7e832e46de | ||
|
|
d456963177 | ||
|
|
4dddcb4f03 | ||
|
|
11f66c317a | ||
|
|
6dfe915e26 | ||
|
|
4379afca28 | ||
|
|
939ce6a486 | ||
|
|
dfcefc2d5d | ||
|
|
8de028f188 | ||
|
|
8694e2d3f0 | ||
|
|
7fefe128cc | ||
|
|
feaf972eb7 | ||
|
|
6e132884b3 | ||
|
|
18554d1134 | ||
|
|
9e9e9b3898 | ||
|
|
8e607851fb | ||
|
|
f81cd4696e | ||
|
|
e7ddbc394b | ||
|
|
89c01970e3 |
No files matched your search
@@ -59,8 +59,11 @@
|
|||||||
'cmm_studio/saka68': {
|
'cmm_studio/saka68': {
|
||||||
target: 'cmm_studio/saka68/solder'
|
target: 'cmm_studio/saka68/solder'
|
||||||
},
|
},
|
||||||
'crkbd/rev1': {
|
'crkbd/rev1/legacy': {
|
||||||
target: 'crkbd/rev1/legacy'
|
target: 'crkbd/rev1'
|
||||||
|
},
|
||||||
|
'crkbd/rev1/common': {
|
||||||
|
target: 'crkbd/rev1'
|
||||||
},
|
},
|
||||||
'doro67/multi': {
|
'doro67/multi': {
|
||||||
layouts: {
|
layouts: {
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ This happens immediately after the previous `develop` branch is merged.
|
|||||||
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
|
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
|
||||||
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
|
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
|
||||||
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
|
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
|
||||||
* [ ] `git push origin develop`
|
* [ ] `git push upstream develop`
|
||||||
* [ ] `git push --tags`
|
* [ ] `git push --tags`
|
||||||
|
|
||||||
## 4 Weeks Before Merge
|
## 4 Weeks Before Merge
|
||||||
@@ -86,13 +86,17 @@ This happens immediately after the previous `develop` branch is merged.
|
|||||||
* `qmk_firmware` git commands
|
* `qmk_firmware` git commands
|
||||||
* [ ] `git checkout develop`
|
* [ ] `git checkout develop`
|
||||||
* [ ] `git pull --ff-only`
|
* [ ] `git pull --ff-only`
|
||||||
* [ ] `git rebase origin/master`
|
|
||||||
* [ ] Edit `readme.md`
|
* [ ] Edit `readme.md`
|
||||||
* [ ] Remove the notes about `develop`
|
* [ ] Remove the notes about `develop`
|
||||||
* [ ] Roll up the ChangeLog into one file.
|
* [ ] Roll up the ChangeLog into one file.
|
||||||
* [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
|
* [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
|
||||||
* [ ] `git push origin develop`
|
* [ ] `git push upstream develop`
|
||||||
* GitHub Actions
|
* GitHub Actions
|
||||||
* [ ] Create a PR for `develop`
|
* [ ] Create a PR for `develop`
|
||||||
* [ ] Make sure travis comes back clean
|
* [ ] Make sure travis comes back clean
|
||||||
* [ ] Merge `develop` PR
|
* [ ] **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing
|
||||||
|
* `qmk_firmware` git commands
|
||||||
|
* [ ] `git checkout master`
|
||||||
|
* [ ] `git pull --ff-only`
|
||||||
|
* [ ] `git merge --no-ff develop`
|
||||||
|
* [ ] `git push upstream master`
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# 触覚フィードバック
|
# 触覚フィードバック
|
||||||
|
|
||||||
<!---
|
<!---
|
||||||
original document: 0.8.123:docs/feature_haptic_feedback.md
|
original document: 0.12.41:docs/feature_haptic_feedback.md
|
||||||
git diff 0.8.123 HEAD -- docs/feature_haptic_feedback.md | cat
|
git diff 0.12.41 HEAD -- docs/feature_haptic_feedback.md | cat
|
||||||
-->
|
-->
|
||||||
|
|
||||||
## 触覚フィードバック の rules.mk オプション
|
## 触覚フィードバック の rules.mk オプション
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
| `HPT_TOG` | 触覚フィードバックのオン/オフを切り替え |
|
| `HPT_TOG` | 触覚フィードバックのオン/オフを切り替え |
|
||||||
| `HPT_RST` | 触覚フィードバック設定をデフォルトに戻す |
|
| `HPT_RST` | 触覚フィードバック設定をデフォルトに戻す |
|
||||||
| `HPT_FBK` | キー押下またはリリースまたはその両方でフィードバックを切り替え |
|
| `HPT_FBK` | キー押下またはリリースまたはその両方でフィードバックを切り替え |
|
||||||
| `HPT_BUZ` | ソレノイドの振動のオン/オフを切り替え |
|
| `HPT_BUZ` | ソレノイドのブザー音のオン/オフを切り替え |
|
||||||
| `HPT_MODI` | 次の DRV2605L 波形に移動 |
|
| `HPT_MODI` | 次の DRV2605L 波形に移動 |
|
||||||
| `HPT_MODD` | 前の DRV2605L 波形に移動 |
|
| `HPT_MODD` | 前の DRV2605L 波形に移動 |
|
||||||
| `HPT_CONT` | 連続触覚モードのオン/オフを切り替え |
|
| `HPT_CONT` | 連続触覚モードのオン/オフを切り替え |
|
||||||
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
ほとんどの MCU はソレノイドのコイルを駆動するために必要な電流を供給できないため、最初に MOSFET を介してソレノイドを駆動する回路を構築する必要があります。
|
ほとんどの MCU はソレノイドのコイルを駆動するために必要な電流を供給できないため、最初に MOSFET を介してソレノイドを駆動する回路を構築する必要があります。
|
||||||
|
|
||||||
[Adafruit が提供する配線図](https://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf)
|
[Adafruit が提供する配線図](https://cdn-shop.adafruit.com/product-files/412/412_solenoid_driver.pdf)
|
||||||
|
|
||||||
|
|
||||||
| 設定 | デフォルト | 説明 |
|
| 設定 | デフォルト | 説明 |
|
||||||
@@ -53,8 +53,15 @@
|
|||||||
| `SOLENOID_DEFAULT_DWELL` | `12` ms | ソレノイドのデフォルトの滞留時間を設定する。 |
|
| `SOLENOID_DEFAULT_DWELL` | `12` ms | ソレノイドのデフォルトの滞留時間を設定する。 |
|
||||||
| `SOLENOID_MIN_DWELL` | `4` ms | 滞留時間の下限を設定する。 |
|
| `SOLENOID_MIN_DWELL` | `4` ms | 滞留時間の下限を設定する。 |
|
||||||
| `SOLENOID_MAX_DWELL` | `100` ms | 滞留時間の上限を設定する。 |
|
| `SOLENOID_MAX_DWELL` | `100` ms | 滞留時間の上限を設定する。 |
|
||||||
|
| `SOLENOID_DWELL_STEP_SIZE` | `1` ms | `HPT_DWL*` キーコードが送信される時に使われるステップサイズ |
|
||||||
|
| `SOLENOID_DEFAULT_BUZZ` | `0` (無効) | HPT_RST では、この値が "1" の場合、ブザー音が "on" に設定されます |
|
||||||
|
| `SOLENOID_BUZZ_ACTUATED` | `SOLENOID_MIN_DWELL` | ソレノイドがブザー音モードの場合の動作時間 |
|
||||||
|
| `SOLENOID_BUZZ_NONACTUATED` | `SOLENOID_MIN_DWELL` | ソレノイドがブザー音モードの場合の非動作時間 |
|
||||||
|
|
||||||
?> 滞留時間とは、「プランジャー」が作動したままになる時間です。滞留時間により、ソレノイドの音が変わります。
|
* ソレノイドのブザー音がオフの場合、滞留時間は「プランジャー」が作動したままになる時間です。滞留時間により、ソレノイドの音が変わります。
|
||||||
|
* ソレノイドのブザー音がオンの場合、滞留時間は振動の長さを設定しますが、`SOLENOID_BUZZ_ACTUATED` と `SOLENOID_BUZZ_NONACTUATED` はブザー音の間の(非)動作時間を設定します。
|
||||||
|
* 現在の実装では、上記の時間設定のいずれについても、設定の精度はキーボードがマトリックスをスキャンできる速度によって影響を受ける可能性があります。
|
||||||
|
したがって、キーボードのスキャンルーチンが遅い場合は、`SOLENOID_DWELL_STEP_SIZE` をキーボードのスキャンに掛かる時間よりもわずかに小さい値に設定することをお勧めします。
|
||||||
|
|
||||||
ブートローダ実行中に一部のピンが給電されているかもしれず (例えば、STM32F303 チップ上の A13)、そうすると書き込みプロセスの間ずっとソレノイドがオン状態になることに注意してください。これはソレノイドを加熱し損傷を与えるかもしれません。ソレノイドが接続されているピンがブートローダ/DFU 実行中にソレノイドをオンにしていることが分かった場合は、他のピンを選択してください。
|
ブートローダ実行中に一部のピンが給電されているかもしれず (例えば、STM32F303 チップ上の A13)、そうすると書き込みプロセスの間ずっとソレノイドがオン状態になることに注意してください。これはソレノイドを加熱し損傷を与えるかもしれません。ソレノイドが接続されているピンがブートローダ/DFU 実行中にソレノイドをオンにしていることが分かった場合は、他のピンを選択してください。
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,31 @@
|
|||||||
|
|
||||||
<!---
|
<!---
|
||||||
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
|
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
|
||||||
original document: 0.10.33:docs/hardware_keyboard_guidelines.md
|
original document: 0.12.41:docs/hardware_keyboard_guidelines.md
|
||||||
git diff 0.10.33 HEAD -- docs/hardware_keyboard_guidelines.md | cat
|
git diff 0.12.41 HEAD -- docs/hardware_keyboard_guidelines.md | cat
|
||||||
-->
|
-->
|
||||||
|
|
||||||
QMK は開始以来、コミュニティにおけるキーボードの作成や保守に貢献しているあなたのような人たちのおかげで飛躍的に成長しました。私たちが成長するにつれて、うまくやるためのいくつかのパターンを発見しました。他の人たちがあなたの苦労の恩恵を受けやすくするため、それにあわせてもらえるようお願いします。
|
QMK は開始以来、コミュニティにおけるキーボードの作成や保守に貢献しているあなたのような人たちのおかげで飛躍的に成長しました。私たちが成長するにつれて、うまくやるためのいくつかのパターンを発見しました。他の人たちがあなたの苦労の恩恵を受けやすくするため、それにあわせてもらえるようお願いします。
|
||||||
|
|
||||||
|
## QMK Lint を使う
|
||||||
|
|
||||||
|
キーボードの問題をチェックできるツール、`qmk lint` を提供しています。キーボードとキーマップで作業をしている間は、頻繁に使うことをお勧めします。
|
||||||
|
|
||||||
|
チェックに合格した例:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ qmk lint -kb rominronin/katana60/rev2
|
||||||
|
Ψ Lint check passed!
|
||||||
|
```
|
||||||
|
|
||||||
|
チェックに失敗した例:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ qmk lint -kb clueboard/66/rev3
|
||||||
|
☒ Missing keyboards/clueboard/66/rev3/readme.md
|
||||||
|
☒ Lint check failed!
|
||||||
|
```
|
||||||
|
|
||||||
## あなたのキーボード/プロジェクトの名前を決める
|
## あなたのキーボード/プロジェクトの名前を決める
|
||||||
|
|
||||||
キーボードの名前は全て小文字で、アルファベット、数字、アンダースコア(`_`)のみで構成されています。アンダースコア(`_`)で始めてはいけません。スラッシュ(`/`)はサブフォルダの区切り文字として使用されます。
|
キーボードの名前は全て小文字で、アルファベット、数字、アンダースコア(`_`)のみで構成されています。アンダースコア(`_`)で始めてはいけません。スラッシュ(`/`)はサブフォルダの区切り文字として使用されます。
|
||||||
|
|||||||
+24
-6
@@ -1,8 +1,8 @@
|
|||||||
# タップホールド設定オプション
|
# タップホールド設定オプション
|
||||||
|
|
||||||
<!---
|
<!---
|
||||||
original document: 0.10.33:docs/tap_hold.md
|
original document: 0.12.41:docs/tap_hold.md
|
||||||
git diff 0.10.33 HEAD -- docs/tap_hold.md | cat
|
git diff 0.12.41 HEAD -- docs/tap_hold.md | cat
|
||||||
-->
|
-->
|
||||||
|
|
||||||
タップホールドオプションは素晴らしいものですが、問題が無いわけではありません。デフォルト設定を適切なものにしようとしましたが、一部の人にとってまだ問題を引き起こすかもしれません。
|
タップホールドオプションは素晴らしいものですが、問題が無いわけではありません。デフォルト設定を適切なものにしようとしましたが、一部の人にとってまだ問題を引き起こすかもしれません。
|
||||||
@@ -92,7 +92,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
|
|||||||
#define IGNORE_MOD_TAP_INTERRUPT
|
#define IGNORE_MOD_TAP_INTERRUPT
|
||||||
```
|
```
|
||||||
|
|
||||||
許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、通常は両方のキーのタッピング機能が出力されます。これはローリングコンボキーには望ましくないかもしれません。
|
許容ホールドと同様に、これは高速なタイピストのためのファームウェアの処理方法を変更します。モッドタップキーを押し、他のキーを押し、モッドタップキーを放し、通常のキーを放すと、`TAPPING_TERM` 内で押された場合でも、通常はモッドと通常のキーが出力されます。これは、ローリングコンボキーや、頻繁に使用するキー(例えば、`RCTL_T(KC_QUOT)`)にモッドタップを使う高速なタイピストには望ましくない場合があります。
|
||||||
|
|
||||||
`モッドタップ割り込みの無視`を設定するには、両方のキーを `TAPPING_TERM` の間ホールドすると、(その修飾キーの)ホールド機能を実行する必要があります。
|
`モッドタップ割り込みの無視`を設定するには、両方のキーを `TAPPING_TERM` の間ホールドすると、(その修飾キーの)ホールド機能を実行する必要があります。
|
||||||
|
|
||||||
@@ -103,7 +103,7 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
|
|||||||
- `SFT_T(KC_A)` を放す
|
- `SFT_T(KC_A)` を放す
|
||||||
- `KC_X` を放す
|
- `KC_X` を放す
|
||||||
|
|
||||||
通常、これは `X` (`SHIFT`+`x`) を送信します。`モッドタップ割り込みの無視` を有効にすると、ホールドアクションを登録するには、両方のキーを `TAPPING_TERM` の間ホールドする必要があります。この場合、素早いタップは `ax` を送信しますが、両方をホールドすると、`X` (`SHIFT`+`x`) を出力します。
|
通常、これは大文字の `X` (`SHIFT`+`x`)、またはモッド + キーを送信します。`モッドタップ割り込みの無視` を有効にすると、ホールドアクションを登録するには、両方のキーを `TAPPING_TERM` の間ホールドする必要があります。この場合、素早いタップは `ax` を送信しますが、両方をホールドすると、大文字の `X` (`SHIFT`+`x`) を出力します。
|
||||||
|
|
||||||
|
|
||||||
?> __注意__: これはモディファイアにのみ関係し、レイヤー切り替えキーには関係しません。
|
?> __注意__: これはモディファイアにのみ関係し、レイヤー切り替えキーには関係しません。
|
||||||
@@ -137,8 +137,7 @@ bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) {
|
|||||||
#define TAPPING_FORCE_HOLD
|
#define TAPPING_FORCE_HOLD
|
||||||
```
|
```
|
||||||
|
|
||||||
タップの後でユーザがキーをホールドすると、ホールド機能がアクティブになるのではなく、デフォルトでタッピング機能が繰り返されます。これにより、デュアルロールキーのタッピング機能を自動繰り返しする機能を維持することができます。
|
タップの後でユーザがキーをホールドすると、ホールド機能がアクティブになるのではなく、デフォルトでタッピング機能が繰り返されます。これにより、デュアルロールキーのタッピング機能を自動繰り返しする機能を維持することができます。`TAPPING_FORCE_HOLD` は、デュアルロールキーをタップした後ホールドした場合、ユーザがホールド機能をアクティブにする機能を削除します。
|
||||||
`TAPPING_FORCE_HOLD` は、デュアルロールキーをタップした後ホールドした場合、ユーザがホールド機能をアクティブにする機能を削除します。
|
|
||||||
|
|
||||||
例:
|
例:
|
||||||
|
|
||||||
@@ -185,6 +184,25 @@ bool get_tapping_force_hold(uint16_t keycode, keyrecord_t *record) {
|
|||||||
|
|
||||||
例えば、他のキーを押すことなく `LT(2, KC_SPACE)` を押したり放したりしても何も起こりません。これを有効にすると、代わりに `KC_SPACE` を送信します。
|
例えば、他のキーを押すことなく `LT(2, KC_SPACE)` を押したり放したりしても何も起こりません。これを有効にすると、代わりに `KC_SPACE` を送信します。
|
||||||
|
|
||||||
|
この機能をより細かく制御するために、以下を `config.h` に追加することができます:
|
||||||
|
|
||||||
|
```c
|
||||||
|
#define RETRO_TAPPING_PER_KEY
|
||||||
|
```
|
||||||
|
|
||||||
|
そして、以下の関数をキーマップに追加します:
|
||||||
|
|
||||||
|
```c
|
||||||
|
bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case LT(2, KC_SPACE):
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## キー別の関数にキーレコードを含めるのはなぜですか?
|
## キー別の関数にキーレコードを含めるのはなぜですか?
|
||||||
|
|
||||||
「キー別」の関数全てにキーレコードを含んでいることに気付いたかもしれません。そしてなぜそうしたのか不思議に思っているかもしれません。
|
「キー別」の関数全てにキーレコードを含んでいることに気付いたかもしれません。そしてなぜそうしたのか不思議に思っているかもしれません。
|
||||||
|
|||||||
+27
-21
@@ -381,26 +381,29 @@ See also: [Mouse Keys](feature_mouse_keys.md)
|
|||||||
|
|
||||||
See also: [Modifier Keys](feature_advanced_keycodes.md#modifier-keys)
|
See also: [Modifier Keys](feature_advanced_keycodes.md#modifier-keys)
|
||||||
|
|
||||||
|Key |Aliases |Description |
|
|Key |Aliases |Description |
|
||||||
|----------|-------------------------------|------------------------------------------------------|
|
|----------|----------------------------------|------------------------------------------------------|
|
||||||
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|
|`LCTL(kc)`|`C(kc)` |Hold Left Control and press `kc` |
|
||||||
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|
|`LSFT(kc)`|`S(kc)` |Hold Left Shift and press `kc` |
|
||||||
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|
|`LALT(kc)`|`A(kc)`, `LOPT(kc)` |Hold Left Alt and press `kc` |
|
||||||
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)`|Hold Left GUI and press `kc` |
|
|`LGUI(kc)`|`G(kc)`, `LCMD(kc)`, `LWIN(kc)` |Hold Left GUI and press `kc` |
|
||||||
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|
||||||
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|
||||||
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt (AltGr) and press `kc` |
|
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt (AltGr) and press `kc` |
|
||||||
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|
|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
|
||||||
|`SGUI(kc)`|`SCMD(kc)`, `SWIN(kc)` |Hold Left Shift and GUI and press `kc` |
|
|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and Left GUI and press `kc` |
|
||||||
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|
|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` |
|
||||||
|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|
|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` |
|
||||||
|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|
|`RAG(kc)` | |Hold Right Alt and Right GUI and press `kc` |
|
||||||
|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|
|`LCA(kc)` | |Hold Left Control and Alt and press `kc` |
|
||||||
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|
|`LSA(kc)` | |Hold Left Shift and Left Alt and press `kc` |
|
||||||
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|
|`RSA(kc)` |`SAGR(kc)` |Hold Right Shift and Right Alt (AltGr) and press `kc` |
|
||||||
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
|
|`RCS(kc)` | |Hold Right Control and Right Shift and press `kc` |
|
||||||
|`KC_MEH` | |Left Control, Shift and Alt |
|
|`LCAG(kc)`| |Hold Left Control, Alt and GUI and press `kc` |
|
||||||
|`KC_HYPR` | |Left Control, Shift, Alt and GUI |
|
|`MEH(kc)` | |Hold Left Control, Shift and Alt and press `kc` |
|
||||||
|
|`HYPR(kc)`| |Hold Left Control, Shift, Alt and GUI and press `kc` |
|
||||||
|
|`KC_MEH` | |Left Control, Shift and Alt |
|
||||||
|
|`KC_HYPR` | |Left Control, Shift, Alt and GUI |
|
||||||
|
|
||||||
## Mod-Tap Keys :id=mod-tap-keys
|
## Mod-Tap Keys :id=mod-tap-keys
|
||||||
|
|
||||||
@@ -417,7 +420,10 @@ See also: [Mod-Tap](mod_tap.md)
|
|||||||
|`RSFT_T(kc)` | |Right Shift when held, `kc` when tapped |
|
|`RSFT_T(kc)` | |Right Shift when held, `kc` when tapped |
|
||||||
|`RALT_T(kc)` |`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt (AltGr) when held, `kc` when tapped |
|
|`RALT_T(kc)` |`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt (AltGr) when held, `kc` when tapped |
|
||||||
|`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|
|`RGUI_T(kc)` |`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|
||||||
|`SGUI_T(kc)` |`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|
|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|
||||||
|
|`LAG_T(kc)` | |Left Alt and GUI when held, `kc` when tapped |
|
||||||
|
|`RSG_T(kc)` | |Right Shift and GUI when held, `kc` when tapped |
|
||||||
|
|`RAG_T(kc)` | |Right Alt and GUI when held, `kc` when tapped |
|
||||||
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|
||||||
|`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped |
|
|`LSA_T(kc)` | |Left Shift and Left Alt when held, `kc` when tapped |
|
||||||
|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped |
|
|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped |
|
||||||
|
|||||||
+4
-1
@@ -37,7 +37,10 @@ For convenience, QMK includes some Mod-Tap shortcuts to make common combinations
|
|||||||
|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|
|`RSFT_T(kc)`| |Right Shift when held, `kc` when tapped |
|
||||||
|`RALT_T(kc)`|`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|
|`RALT_T(kc)`|`ROPT_T(kc)`, `ALGR_T(kc)` |Right Alt when held, `kc` when tapped |
|
||||||
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|
|`RGUI_T(kc)`|`RCMD_T(kc)`, `RWIN_T(kc)` |Right GUI when held, `kc` when tapped |
|
||||||
|`SGUI_T(kc)`|`SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|
|`LSG_T(kc)` |`SGUI_T(kc)`, `SCMD_T(kc)`, `SWIN_T(kc)` |Left Shift and GUI when held, `kc` when tapped |
|
||||||
|
|`LAG_T(kc)` | |Left Alt and GUI when held, `kc` when tapped |
|
||||||
|
|`RSG_T(kc)` | |Right Shift and GUI when held, `kc` when tapped |
|
||||||
|
|`RAG_T(kc)` | |Right Alt and GUI when held, `kc` when tapped |
|
||||||
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|
|`LCA_T(kc)` | |Left Control and Alt when held, `kc` when tapped |
|
||||||
|`LSA_T(kc)` | |Left Shift and Alt when held, `kc` when tapped |
|
|`LSA_T(kc)` | |Left Shift and Alt when held, `kc` when tapped |
|
||||||
|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped |
|
|`RSA_T(kc)` |`SAGR_T(kc)` |Right Shift and Right Alt (AltGr) when held, `kc` when tapped |
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
// Online editor: http://teripom.x0.com/
|
// Online editor: http://teripom.x0.com/
|
||||||
|
|
||||||
static const unsigned char font[] PROGMEM = {
|
static const unsigned char font[] PROGMEM = {
|
||||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
|
0x07, 0x08, 0x7F, 0x08, 0x07, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
|
||||||
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
|
0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
|
||||||
0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
|
0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
|
||||||
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
|
0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
/* Copyright 2018 Jason Williams (Wilba)
|
/* Copyright 2018 Jason Williams (Wilba)
|
||||||
|
* Copyright 2021 Harrison Chan (Xelus)
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -16,4 +17,4 @@
|
|||||||
|
|
||||||
// Nothing to see here, move along... ;-)
|
// Nothing to see here, move along... ;-)
|
||||||
|
|
||||||
#include "constellation.h"
|
#include "constellation.h"
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
/* Copyright 2018 Jason Williams (Wilba)
|
/* Copyright 2018 Jason Williams (Wilba)
|
||||||
|
* Copyright 2021 Harrison Chan (Xelus)
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -18,18 +19,8 @@
|
|||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
#define ____ KC_NO
|
#if defined(KEYBOARD_aeboards_constellation_rev1)
|
||||||
|
#include "rev1.h"
|
||||||
#define LAYOUT_all( \
|
#elif defined(KEYBOARD_aeboards_constellation_rev2)
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, \
|
#include "rev2.h"
|
||||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
#endif
|
||||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \
|
|
||||||
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
|
|
||||||
K400, K401, K402, K408, K409, K410, K412, K413, K414 \
|
|
||||||
) { \
|
|
||||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
|
|
||||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
|
||||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
|
|
||||||
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
|
|
||||||
{ K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \
|
|
||||||
}
|
|
||||||
+2
-1
@@ -1,4 +1,5 @@
|
|||||||
/* Copyright 2018 Jason Williams (Wilba)
|
/* Copyright 2018 Jason Williams (Wilba)
|
||||||
|
* Copyright 2021 Harrison Chan (Xelus)
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -23,7 +24,7 @@
|
|||||||
#define PRODUCT_ID 0x065C // 65 - Constellation
|
#define PRODUCT_ID 0x065C // 65 - Constellation
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER AEBoards
|
#define MANUFACTURER AEBoards
|
||||||
#define PRODUCT AEBoards Constellation
|
#define PRODUCT AEBoards Constellation Rev1
|
||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 5
|
#define MATRIX_ROWS 5
|
||||||
File renamed without changes.
+20
@@ -0,0 +1,20 @@
|
|||||||
|
# CONSTELLATION REV1
|
||||||
|
|
||||||
|
A gasket 65% keyboard by [aeboards](https://aeboards.com/)
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
|
||||||
|
* Hardware Supported: CONSTELLATION
|
||||||
|
* Hardware Availability: Custom keyboard group buys
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make aeboards/constellation/rev1:default
|
||||||
|
|
||||||
|
Reset your keyboard in 3 ways:
|
||||||
|
<ol>
|
||||||
|
<li>Software reset on Fn + Backspace</li>
|
||||||
|
<li>Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard</li>
|
||||||
|
<li>Physical reset: on the back of the PCB, there is a ISP header which you should short the RST and GND together</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
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).
|
||||||
Executable
+18
@@ -0,0 +1,18 @@
|
|||||||
|
/* Copyright 2018 Jason Williams (Wilba)
|
||||||
|
* Copyright 2021 Harrison Chan (Xelus)
|
||||||
|
*
|
||||||
|
* 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 "rev1.h"
|
||||||
Executable
+36
@@ -0,0 +1,36 @@
|
|||||||
|
/* Copyright 2018 Jason Williams (Wilba)
|
||||||
|
* Copyright 2021 Harrison Chan (Xelus)
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define ____ KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \
|
||||||
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
|
||||||
|
K400, K401, K402, K408, K409, K410, K412, K413, K414 \
|
||||||
|
) { \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
|
||||||
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
|
||||||
|
{ K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \
|
||||||
|
}
|
||||||
+22
@@ -0,0 +1,22 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = yes # Console for debug
|
||||||
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
LTO_ENABLE = yes
|
||||||
+61
@@ -0,0 +1,61 @@
|
|||||||
|
/* Copyright 2021 Harrison Chan (Xelus)
|
||||||
|
*
|
||||||
|
* 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 0x4145 // AE
|
||||||
|
#define PRODUCT_ID 0x065C // 65 - Constellation
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER AEBoards
|
||||||
|
#define PRODUCT AEBoards Constellation Rev2
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 15
|
||||||
|
|
||||||
|
/* key matrix pins */
|
||||||
|
#define MATRIX_ROW_PINS { B15, A14, A2, B13, B14 }
|
||||||
|
#define MATRIX_COL_PINS { B12, H0, C15, C14, B11, B10, B2, B1, B0, A7, A6, A5, A4, A3 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW or ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* Set 0 if debouncing isn't needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
// I2C setup
|
||||||
|
#define I2C1_SCL 8
|
||||||
|
#define I2C1_SDA 9
|
||||||
|
#define I2C1_SCL_PAL_MODE 4
|
||||||
|
#define I2C1_SDA_PAL_MODE 4
|
||||||
|
#define I2C1_TIMINGR_PRESC 0U
|
||||||
|
#define I2C1_TIMINGR_SCLDEL 11U
|
||||||
|
#define I2C1_TIMINGR_SDADEL 0U
|
||||||
|
#define I2C1_TIMINGR_SCLH 14U
|
||||||
|
#define I2C1_TIMINGR_SCLL 42U
|
||||||
|
|
||||||
|
// I2C EEPROM
|
||||||
|
#define EEPROM_I2C_24LC64
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright 2020 QMK
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file was auto-generated by:
|
||||||
|
* `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/halconf.h -r platforms/chibios/common/configs/halconf.h`
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_I2C TRUE
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
||||||
|
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "Constellation",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "Xelus22",
|
||||||
|
"width": 16,
|
||||||
|
"height": 5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"layout": [
|
||||||
|
{"x":0, "y":0},
|
||||||
|
{"x":1, "y":0},
|
||||||
|
{"x":2, "y":0},
|
||||||
|
{"x":3, "y":0},
|
||||||
|
{"x":4, "y":0},
|
||||||
|
{"x":5, "y":0},
|
||||||
|
{"x":6, "y":0},
|
||||||
|
{"x":7, "y":0},
|
||||||
|
{"x":8, "y":0},
|
||||||
|
{"x":9, "y":0},
|
||||||
|
{"x":10, "y":0},
|
||||||
|
{"x":11, "y":0},
|
||||||
|
{"x":12, "y":0},
|
||||||
|
{"x":13, "y":0},
|
||||||
|
{"x":14, "y":0},
|
||||||
|
{"x":15, "y":0},
|
||||||
|
|
||||||
|
{"x":0, "y":1, "w":1.5},
|
||||||
|
{"x":1.5, "y":1},
|
||||||
|
{"x":2.5, "y":1},
|
||||||
|
{"x":3.5, "y":1},
|
||||||
|
{"x":4.5, "y":1},
|
||||||
|
{"x":5.5, "y":1},
|
||||||
|
{"x":6.5, "y":1},
|
||||||
|
{"x":7.5, "y":1},
|
||||||
|
{"x":8.5, "y":1},
|
||||||
|
{"x":9.5, "y":1},
|
||||||
|
{"x":10.5, "y":1},
|
||||||
|
{"x":11.5, "y":1},
|
||||||
|
{"x":12.5, "y":1},
|
||||||
|
{"x":13.5, "y":1, "w":1.5},
|
||||||
|
{"x":15, "y":1},
|
||||||
|
|
||||||
|
{"x":0, "y":2, "w":1.75},
|
||||||
|
{"x":1.75, "y":2},
|
||||||
|
{"x":2.75, "y":2},
|
||||||
|
{"x":3.75, "y":2},
|
||||||
|
{"x":4.75, "y":2},
|
||||||
|
{"x":5.75, "y":2},
|
||||||
|
{"x":6.75, "y":2},
|
||||||
|
{"x":7.75, "y":2},
|
||||||
|
{"x":8.75, "y":2},
|
||||||
|
{"x":9.75, "y":2},
|
||||||
|
{"x":10.75, "y":2},
|
||||||
|
{"label":"\"", "x":11.75, "y":2},
|
||||||
|
{"x":12.75, "y":2, "w":2.25},
|
||||||
|
{"x":15, "y":2},
|
||||||
|
|
||||||
|
{"x":0, "y":3, "w":2.25},
|
||||||
|
{"x":2.25, "y":3},
|
||||||
|
{"x":3.25, "y":3},
|
||||||
|
{"x":4.25, "y":3},
|
||||||
|
{"x":5.25, "y":3},
|
||||||
|
{"x":6.25, "y":3},
|
||||||
|
{"x":7.25, "y":3},
|
||||||
|
{"x":8.25, "y":3},
|
||||||
|
{"x":9.25, "y":3},
|
||||||
|
{"x":10.25, "y":3},
|
||||||
|
{"x":11.25, "y":3},
|
||||||
|
{"x":12.25, "y":3, "w":1.75},
|
||||||
|
{"x":14, "y":3},
|
||||||
|
{"x":15, "y":3},
|
||||||
|
|
||||||
|
{"x":0, "y":4, "w":1.25},
|
||||||
|
{"x":1.25, "y":4, "w":1.25},
|
||||||
|
{"x":2.5, "y":4, "w":1.25},
|
||||||
|
{"x":3.75, "y":4, "w":6.25},
|
||||||
|
{"x":10, "y":4, "w":1.5},
|
||||||
|
{"x":11.5, "y":4, "w":1.5},
|
||||||
|
{"x":13, "y":4},
|
||||||
|
{"x":14, "y":4},
|
||||||
|
{"x":15, "y":4}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/* Copyright 2020 QMK
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file was auto-generated by:
|
||||||
|
* `qmk chibios-confmigrate -i keyboards/aeboards/ext65/rev2/mcuconf.h -r platforms/chibios/GENERIC_STM32_F072XB/configs/mcuconf.h`
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include_next <mcuconf.h>
|
||||||
|
|
||||||
|
#undef STM32_I2C_USE_I2C1
|
||||||
|
#define STM32_I2C_USE_I2C1 TRUE
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
# CONSTELLATION REV2
|
||||||
|
|
||||||
|
A gasket 65% keyboard by [aeboards](https://aeboards.com/)
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
|
||||||
|
* Hardware Supported: CONSTELLATION
|
||||||
|
* Hardware Availability: Custom keyboard group buys
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make aeboards/constellation/rev2:default
|
||||||
|
|
||||||
|
Reset your keyboard in 3 ways:
|
||||||
|
<ol>
|
||||||
|
<li>Software reset on Fn + Backspace</li>
|
||||||
|
<li>Bootmagic reset: hold down the top left key (usually escape) and plugin the keyboard</li>
|
||||||
|
<li>Physical reset button: on the back of the PCB, there are 2 open pins which you can short, labelled RESET</li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
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).
|
||||||
Executable
+21
@@ -0,0 +1,21 @@
|
|||||||
|
/* Copyright 2021 Harrison Chan (Xelus)
|
||||||
|
*
|
||||||
|
* 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 "rev2.h"
|
||||||
|
|
||||||
|
void matrix_io_delay(void) {
|
||||||
|
__asm__ volatile("nop\nnop\nnop\n");
|
||||||
|
}
|
||||||
Executable
+35
@@ -0,0 +1,35 @@
|
|||||||
|
/* Copyright 2021 Harrison Chan (Xelus)
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define ____ KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K213, K014, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, \
|
||||||
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
|
||||||
|
K400, K401, K402, K408, K409, K410, K412, K413, K414 \
|
||||||
|
) { \
|
||||||
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214 }, \
|
||||||
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, ____, K312, K313, K314 }, \
|
||||||
|
{ K400, K401, K402, ____, ____, ____, ____, ____, K408, K409, K410, ____, K412, K413, K414 } \
|
||||||
|
}
|
||||||
+20
@@ -0,0 +1,20 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = STM32L433
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = yes # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
|
||||||
|
EEPROM_DRIVER = i2c
|
||||||
@@ -1,22 +1 @@
|
|||||||
# MCU name
|
DEFAULT_FOLDER = aeboards/constellation/rev1
|
||||||
MCU = atmega32u4
|
|
||||||
|
|
||||||
# Bootloader selection
|
|
||||||
BOOTLOADER = atmel-dfu
|
|
||||||
|
|
||||||
# Build Options
|
|
||||||
# change yes to no to disable
|
|
||||||
#
|
|
||||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
|
||||||
CONSOLE_ENABLE = yes # Console for debug
|
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
|
||||||
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
|
||||||
AUDIO_ENABLE = no # Audio output
|
|
||||||
LTO_ENABLE = yes
|
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
#define LAYOUT( \
|
#define LAYOUT_60_ansi_arrow( \
|
||||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, \
|
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, \
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, \
|
||||||
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
K20, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, \
|
||||||
|
|||||||
@@ -4,9 +4,11 @@
|
|||||||
"maintainer": "qmk",
|
"maintainer": "qmk",
|
||||||
"width": 15,
|
"width": 15,
|
||||||
"height": 5,
|
"height": 5,
|
||||||
|
"layout_aliases": {
|
||||||
|
"LAYOUT": "LAYOUT_60_ansi_arrow"
|
||||||
|
},
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT_60_iso_arrow": {
|
"LAYOUT_60_ansi_arrow": {
|
||||||
"key_count": 63,
|
|
||||||
"layout": [
|
"layout": [
|
||||||
{"label":"K00 (B0,D0)", "x":0, "y":0},
|
{"label":"K00 (B0,D0)", "x":0, "y":0},
|
||||||
{"label":"K01 (B0,D1)", "x":1, "y":0},
|
{"label":"K01 (B0,D1)", "x":1, "y":0},
|
||||||
|
|||||||
@@ -16,14 +16,14 @@
|
|||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[0] = LAYOUT(
|
[0] = LAYOUT_60_ansi_arrow(
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
KC_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_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_RSFT, KC_UP, KC_SLSH,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT(
|
[1] = LAYOUT_60_ansi_arrow(
|
||||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
|
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
|
||||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
|
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
|||||||
@@ -16,28 +16,28 @@
|
|||||||
#include QMK_KEYBOARD_H
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[0] = LAYOUT(
|
[0] = LAYOUT_60_ansi_arrow(
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
KC_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_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_RSFT, KC_UP, KC_SLSH,
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT, KC_UP, KC_SLSH,
|
||||||
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
),
|
),
|
||||||
[1] = LAYOUT(
|
[1] = LAYOUT_60_ansi_arrow(
|
||||||
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
|
RESET, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
|
||||||
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
|
_______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
[2] = LAYOUT(
|
[2] = LAYOUT_60_ansi_arrow(
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
),
|
),
|
||||||
[3] = LAYOUT(
|
[3] = LAYOUT_60_ansi_arrow(
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
|||||||
@@ -33,5 +33,7 @@ RGB_MATRIX_ENABLE = yes
|
|||||||
RGB_MATRIX_DRIVER = WS2812
|
RGB_MATRIX_DRIVER = WS2812
|
||||||
LTO_ENABLE = yes
|
LTO_ENABLE = yes
|
||||||
|
|
||||||
|
LAYOUTS = 60_ansi_arrow
|
||||||
|
|
||||||
# partially generated by KBFirmware JSON to QMK Parser
|
# partially generated by KBFirmware JSON to QMK Parser
|
||||||
# https://noroadsleft.github.io/kbf_qmk_converter/
|
# https://noroadsleft.github.io/kbf_qmk_converter/
|
||||||
@@ -1,3 +1,18 @@
|
|||||||
|
/* Copyright 2021 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
#pragma once
|
||||||
|
|
||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
@@ -1,117 +1,17 @@
|
|||||||
|
/* Copyright 2021 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* 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 "dz65rgb.h"
|
#include "dz65rgb.h"
|
||||||
|
|
||||||
#ifdef RGB_MATRIX_ENABLE
|
|
||||||
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
|
|
||||||
{ 0, C8_8, C7_8, C6_8 },
|
|
||||||
{ 0, C9_8, C7_7, C6_7 },
|
|
||||||
{ 0, C9_7, C8_7, C6_6 },
|
|
||||||
{ 0, C9_6, C8_6, C7_6 },
|
|
||||||
{ 0, C9_5, C8_5, C7_5 },
|
|
||||||
{ 0, C9_4, C8_4, C7_4 },
|
|
||||||
{ 0, C9_3, C8_3, C7_3 },
|
|
||||||
{ 0, C9_2, C8_2, C7_2 },
|
|
||||||
{ 0, C9_1, C8_1, C7_1 },
|
|
||||||
{ 0, C2_9, C3_9, C4_9 },
|
|
||||||
{ 0, C1_9, C3_10, C4_10 },
|
|
||||||
{ 0, C1_10, C2_10, C4_11 },
|
|
||||||
{ 0, C1_11, C2_11, C3_11 },
|
|
||||||
{ 0, C1_13, C2_13, C3_13 },
|
|
||||||
{ 0, C1_14, C2_14, C3_14 },
|
|
||||||
|
|
||||||
{ 0, C1_7, C2_7, C3_7 },
|
|
||||||
{ 0, C1_6, C2_6, C3_6 },
|
|
||||||
{ 0, C1_5, C2_5, C3_5 },
|
|
||||||
{ 0, C1_4, C2_4, C3_4 },
|
|
||||||
{ 0, C1_3, C2_3, C3_3 },
|
|
||||||
{ 0, C1_2, C2_2, C4_3 },
|
|
||||||
{ 0, C1_1, C3_2, C4_2 },
|
|
||||||
{ 0, C2_1, C3_1, C4_1 },
|
|
||||||
{ 0, C9_9, C8_9, C7_9 },
|
|
||||||
{ 0, C9_10, C8_10, C7_10 },
|
|
||||||
{ 0, C9_11, C8_11, C7_11 },
|
|
||||||
{ 0, C9_12, C8_12, C7_12 },
|
|
||||||
{ 0, C9_13, C8_13, C7_13 },
|
|
||||||
{ 0, C9_14, C8_14, C7_14 },
|
|
||||||
{ 0, C1_15, C2_15, C3_15 },
|
|
||||||
|
|
||||||
{ 0, C1_8, C2_8, C3_8 },
|
|
||||||
{ 1, C9_6, C8_6, C7_6 },
|
|
||||||
{ 1, C9_5, C8_5, C7_5 },
|
|
||||||
{ 1, C9_4, C8_4, C7_4 },
|
|
||||||
{ 1, C9_3, C8_3, C7_3 },
|
|
||||||
{ 1, C9_2, C8_2, C7_2 },
|
|
||||||
{ 1, C9_1, C8_1, C7_1 },
|
|
||||||
{ 1, C2_9, C3_9, C4_9 },
|
|
||||||
{ 1, C1_9, C3_10, C4_10 },
|
|
||||||
{ 1, C1_10, C2_10, C4_11 },
|
|
||||||
{ 1, C1_11, C2_11, C3_11 },
|
|
||||||
{ 1, C1_12, C2_12, C3_12 },
|
|
||||||
{ 1, C1_13, C2_13, C3_13 },
|
|
||||||
{ 0, C1_16, C2_16, C3_16 },
|
|
||||||
|
|
||||||
{ 1, C9_8, C7_7, C6_7 },
|
|
||||||
{ 1, C1_5, C2_5, C3_5 },
|
|
||||||
{ 1, C1_4, C2_4, C3_4 },
|
|
||||||
{ 1, C1_3, C2_3, C3_3 },
|
|
||||||
{ 1, C1_2, C2_2, C4_3 },
|
|
||||||
{ 1, C1_1, C3_2, C4_2 },
|
|
||||||
{ 1, C9_9, C8_9, C7_9 },
|
|
||||||
{ 1, C9_10, C8_10, C7_10 },
|
|
||||||
{ 1, C9_11, C8_11, C7_11 },
|
|
||||||
{ 1, C9_12, C8_12, C7_12 },
|
|
||||||
{ 1, C1_14, C2_14, C3_14 },
|
|
||||||
{ 1, C1_15, C2_15, C3_15 },
|
|
||||||
{ 1, C1_16, C2_16, C3_16 },
|
|
||||||
{ 0, C9_15, C8_15, C6_14 },
|
|
||||||
|
|
||||||
{ 1, C8_8, C7_8, C6_8 },
|
|
||||||
{ 1, C1_8, C2_8, C3_8 },
|
|
||||||
{ 1, C1_7, C2_7, C3_7 },
|
|
||||||
{ 1, C2_1, C3_1, C4_1 },
|
|
||||||
{ 1, C9_14, C8_14, C7_14 },
|
|
||||||
{ 1, C9_15, C8_15, C6_14 },
|
|
||||||
{ 1, C9_16, C7_15, C6_15 },
|
|
||||||
{ 1, C8_16, C7_16, C6_16 },
|
|
||||||
{ 0, C8_16, C7_16, C6_16 },
|
|
||||||
{ 0, C9_16, C7_15, C6_15 }
|
|
||||||
};
|
|
||||||
|
|
||||||
led_config_t g_led_config = {
|
|
||||||
{
|
|
||||||
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
|
||||||
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
|
|
||||||
{ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 },
|
|
||||||
{ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 },
|
|
||||||
{ 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, NO_LED, 66, 67 }
|
|
||||||
}, {
|
|
||||||
{ 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 },
|
|
||||||
{ 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 },
|
|
||||||
{ 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 201, 32 }, { 224, 32 },
|
|
||||||
{ 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 },
|
|
||||||
{ 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }
|
|
||||||
}, {
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
|
||||||
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
void suspend_power_down_kb(void) {
|
|
||||||
rgb_matrix_set_suspend_state(true);
|
|
||||||
suspend_power_down_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
void suspend_wakeup_init_kb(void) {
|
|
||||||
rgb_matrix_set_suspend_state(false);
|
|
||||||
suspend_wakeup_init_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void rgb_matrix_indicators_user(void) {
|
|
||||||
if (host_keyboard_led_state().caps_lock) {
|
|
||||||
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
@@ -1,19 +1,28 @@
|
|||||||
|
/* Copyright 2021 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
#pragma once
|
||||||
|
|
||||||
|
#ifdef KEYBOARD_dztech_dz65rgb_v1
|
||||||
|
#include "v1.h"
|
||||||
|
#endif
|
||||||
|
#ifdef KEYBOARD_dztech_dz65rgb_v2
|
||||||
|
#include "v2.h"
|
||||||
|
#endif
|
||||||
|
#ifdef KEYBOARD_dztech_dz65rgb_v3
|
||||||
|
#include "v3.h"
|
||||||
|
#endif
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
#define XXX KC_NO
|
|
||||||
|
|
||||||
#define LAYOUT_65_ansi( \
|
|
||||||
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
|
||||||
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
|
||||||
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
|
|
||||||
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
|
|
||||||
K40, K41, K42, K45, K48, K49, K4A, K4B, K4D, K4E \
|
|
||||||
) { \
|
|
||||||
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
|
||||||
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
|
||||||
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \
|
|
||||||
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \
|
|
||||||
{ K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D, K4E } \
|
|
||||||
}
|
|
||||||
@@ -3,17 +3,25 @@
|
|||||||
A customizable 65% RGB keyboard.
|
A customizable 65% RGB keyboard.
|
||||||
|
|
||||||
* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
|
* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
|
||||||
* Hardware Supported: DZ65RGB V1 and V2
|
* Hardware Supported: DZ65RGB V1,V2 and V3
|
||||||
* Hardware Availability: [KBDfans](https://kbdfans.com/)
|
* Hardware Availability: [KBDfans](https://kbdfans.com/)
|
||||||
|
|
||||||
There are two versions of the DZ65RGB. Please use the appropriate firmware for your board.
|
There are three versions of the DZ65RGB. Please use the appropriate firmware for your board.
|
||||||
|
|
||||||
* V1: STM32F303 (Arm), takes .bin files
|
* V1: STM32F303 (Arm), takes .bin files
|
||||||
* V2: ATmega32U4 (AVR), takes .hex files
|
* V2: ATmega32U4 (AVR), takes .hex files, is31fl3731 rgbmatrix driver
|
||||||
|
* V3: ATmega32U4 (AVR), takes .bin files, is31fl3741 rgbmatrix driver
|
||||||
|
|
||||||
|
## Bootloader mode
|
||||||
|
|
||||||
|
To put in bootloader mode, hold the `Esc` key while plugging in the USB cable. or use reset key behind the pcb.
|
||||||
|
|
||||||
|
## Making firmware
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make dztech/dz65rgb/v1:default # Arm (STM32F303)
|
make dztech/dz65rgb/v1:default # Arm (STM32F303)
|
||||||
make dztech/dz65rgb/v2:default # AVR (ATmega32U4)
|
make dztech/dz65rgb/v2:default # AVR (ATmega32U4)
|
||||||
|
make dztech/dz65rgb/v3:default # AVR (ATmega32U4)
|
||||||
|
|
||||||
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).
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
@@ -1,3 +1,18 @@
|
|||||||
|
/* Copyright 2019 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
#pragma once
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
# DZ65RGB V1
|
||||||
|
|
||||||
|
A customizable 65% RGB keyboard.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
|
||||||
|
* Hardware Supported: DZ65RGB V1
|
||||||
|
* Hardware Availability: [KBDfans](https://kbdfans.com/)
|
||||||
|
|
||||||
|
## Making firmware
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make dztech/dz65rgb/v1:default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
/* Copyright 2019 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* 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 "v1.h"
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||||
|
{ 0, C8_8, C7_8, C6_8 },
|
||||||
|
{ 0, C9_8, C7_7, C6_7 },
|
||||||
|
{ 0, C9_7, C8_7, C6_6 },
|
||||||
|
{ 0, C9_6, C8_6, C7_6 },
|
||||||
|
{ 0, C9_5, C8_5, C7_5 },
|
||||||
|
{ 0, C9_4, C8_4, C7_4 },
|
||||||
|
{ 0, C9_3, C8_3, C7_3 },
|
||||||
|
{ 0, C9_2, C8_2, C7_2 },
|
||||||
|
{ 0, C9_1, C8_1, C7_1 },
|
||||||
|
{ 0, C2_9, C3_9, C4_9 },
|
||||||
|
{ 0, C1_9, C3_10, C4_10 },
|
||||||
|
{ 0, C1_10, C2_10, C4_11 },
|
||||||
|
{ 0, C1_11, C2_11, C3_11 },
|
||||||
|
{ 0, C1_13, C2_13, C3_13 },
|
||||||
|
{ 0, C1_14, C2_14, C3_14 },
|
||||||
|
|
||||||
|
{ 0, C1_7, C2_7, C3_7 },
|
||||||
|
{ 0, C1_6, C2_6, C3_6 },
|
||||||
|
{ 0, C1_5, C2_5, C3_5 },
|
||||||
|
{ 0, C1_4, C2_4, C3_4 },
|
||||||
|
{ 0, C1_3, C2_3, C3_3 },
|
||||||
|
{ 0, C1_2, C2_2, C4_3 },
|
||||||
|
{ 0, C1_1, C3_2, C4_2 },
|
||||||
|
{ 0, C2_1, C3_1, C4_1 },
|
||||||
|
{ 0, C9_9, C8_9, C7_9 },
|
||||||
|
{ 0, C9_10, C8_10, C7_10 },
|
||||||
|
{ 0, C9_11, C8_11, C7_11 },
|
||||||
|
{ 0, C9_12, C8_12, C7_12 },
|
||||||
|
{ 0, C9_13, C8_13, C7_13 },
|
||||||
|
{ 0, C9_14, C8_14, C7_14 },
|
||||||
|
{ 0, C1_15, C2_15, C3_15 },
|
||||||
|
|
||||||
|
{ 0, C1_8, C2_8, C3_8 },
|
||||||
|
{ 1, C9_6, C8_6, C7_6 },
|
||||||
|
{ 1, C9_5, C8_5, C7_5 },
|
||||||
|
{ 1, C9_4, C8_4, C7_4 },
|
||||||
|
{ 1, C9_3, C8_3, C7_3 },
|
||||||
|
{ 1, C9_2, C8_2, C7_2 },
|
||||||
|
{ 1, C9_1, C8_1, C7_1 },
|
||||||
|
{ 1, C2_9, C3_9, C4_9 },
|
||||||
|
{ 1, C1_9, C3_10, C4_10 },
|
||||||
|
{ 1, C1_10, C2_10, C4_11 },
|
||||||
|
{ 1, C1_11, C2_11, C3_11 },
|
||||||
|
{ 1, C1_12, C2_12, C3_12 },
|
||||||
|
{ 1, C1_13, C2_13, C3_13 },
|
||||||
|
{ 0, C1_16, C2_16, C3_16 },
|
||||||
|
|
||||||
|
{ 1, C9_8, C7_7, C6_7 },
|
||||||
|
{ 1, C1_5, C2_5, C3_5 },
|
||||||
|
{ 1, C1_4, C2_4, C3_4 },
|
||||||
|
{ 1, C1_3, C2_3, C3_3 },
|
||||||
|
{ 1, C1_2, C2_2, C4_3 },
|
||||||
|
{ 1, C1_1, C3_2, C4_2 },
|
||||||
|
{ 1, C9_9, C8_9, C7_9 },
|
||||||
|
{ 1, C9_10, C8_10, C7_10 },
|
||||||
|
{ 1, C9_11, C8_11, C7_11 },
|
||||||
|
{ 1, C9_12, C8_12, C7_12 },
|
||||||
|
{ 1, C1_14, C2_14, C3_14 },
|
||||||
|
{ 1, C1_15, C2_15, C3_15 },
|
||||||
|
{ 1, C1_16, C2_16, C3_16 },
|
||||||
|
{ 0, C9_15, C8_15, C6_14 },
|
||||||
|
|
||||||
|
{ 1, C8_8, C7_8, C6_8 },
|
||||||
|
{ 1, C1_8, C2_8, C3_8 },
|
||||||
|
{ 1, C1_7, C2_7, C3_7 },
|
||||||
|
{ 1, C2_1, C3_1, C4_1 },
|
||||||
|
{ 1, C9_14, C8_14, C7_14 },
|
||||||
|
{ 1, C9_15, C8_15, C6_14 },
|
||||||
|
{ 1, C9_16, C7_15, C6_15 },
|
||||||
|
{ 1, C8_16, C7_16, C6_16 },
|
||||||
|
{ 0, C8_16, C7_16, C6_16 },
|
||||||
|
{ 0, C9_16, C7_15, C6_15 }
|
||||||
|
};
|
||||||
|
|
||||||
|
led_config_t g_led_config = {
|
||||||
|
{
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
||||||
|
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
|
||||||
|
{ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 },
|
||||||
|
{ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 },
|
||||||
|
{ 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, NO_LED, 66, 67 }
|
||||||
|
}, {
|
||||||
|
{ 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 },
|
||||||
|
{ 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 },
|
||||||
|
{ 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 201, 32 }, { 224, 32 },
|
||||||
|
{ 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 },
|
||||||
|
{ 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }
|
||||||
|
}, {
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
__attribute__ ((weak))
|
||||||
|
void rgb_matrix_indicators_user(void) {
|
||||||
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
|
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
/* Copyright 2019 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define XXX KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT_65_ansi( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
|
||||||
|
K40, K41, K42, K45, K48, K49, K4A, K4B, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D, K4E } \
|
||||||
|
}
|
||||||
@@ -1,3 +1,18 @@
|
|||||||
|
/* Copyright 2020 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* 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
|
#pragma once
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
# DZ65RGB V2
|
||||||
|
|
||||||
|
A customizable 65% RGB keyboard.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
|
||||||
|
* Hardware Supported: DZ65RGB V2
|
||||||
|
* Hardware Availability: [KBDfans](https://kbdfans.com/)
|
||||||
|
|
||||||
|
## Making firmware
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make dztech/dz65rgb/v2:default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
|
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
/* Copyright 2020 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* 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 "v2.h"
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||||
|
{ 0, C8_8, C7_8, C6_8 },
|
||||||
|
{ 0, C9_8, C7_7, C6_7 },
|
||||||
|
{ 0, C9_7, C8_7, C6_6 },
|
||||||
|
{ 0, C9_6, C8_6, C7_6 },
|
||||||
|
{ 0, C9_5, C8_5, C7_5 },
|
||||||
|
{ 0, C9_4, C8_4, C7_4 },
|
||||||
|
{ 0, C9_3, C8_3, C7_3 },
|
||||||
|
{ 0, C9_2, C8_2, C7_2 },
|
||||||
|
{ 0, C9_1, C8_1, C7_1 },
|
||||||
|
{ 0, C2_9, C3_9, C4_9 },
|
||||||
|
{ 0, C1_9, C3_10, C4_10 },
|
||||||
|
{ 0, C1_10, C2_10, C4_11 },
|
||||||
|
{ 0, C1_11, C2_11, C3_11 },
|
||||||
|
{ 0, C1_13, C2_13, C3_13 },
|
||||||
|
{ 0, C1_14, C2_14, C3_14 },
|
||||||
|
|
||||||
|
{ 0, C1_7, C2_7, C3_7 },
|
||||||
|
{ 0, C1_6, C2_6, C3_6 },
|
||||||
|
{ 0, C1_5, C2_5, C3_5 },
|
||||||
|
{ 0, C1_4, C2_4, C3_4 },
|
||||||
|
{ 0, C1_3, C2_3, C3_3 },
|
||||||
|
{ 0, C1_2, C2_2, C4_3 },
|
||||||
|
{ 0, C1_1, C3_2, C4_2 },
|
||||||
|
{ 0, C2_1, C3_1, C4_1 },
|
||||||
|
{ 0, C9_9, C8_9, C7_9 },
|
||||||
|
{ 0, C9_10, C8_10, C7_10 },
|
||||||
|
{ 0, C9_11, C8_11, C7_11 },
|
||||||
|
{ 0, C9_12, C8_12, C7_12 },
|
||||||
|
{ 0, C9_13, C8_13, C7_13 },
|
||||||
|
{ 0, C9_14, C8_14, C7_14 },
|
||||||
|
{ 0, C1_15, C2_15, C3_15 },
|
||||||
|
|
||||||
|
{ 0, C1_8, C2_8, C3_8 },
|
||||||
|
{ 1, C9_6, C8_6, C7_6 },
|
||||||
|
{ 1, C9_5, C8_5, C7_5 },
|
||||||
|
{ 1, C9_4, C8_4, C7_4 },
|
||||||
|
{ 1, C9_3, C8_3, C7_3 },
|
||||||
|
{ 1, C9_2, C8_2, C7_2 },
|
||||||
|
{ 1, C9_1, C8_1, C7_1 },
|
||||||
|
{ 1, C2_9, C3_9, C4_9 },
|
||||||
|
{ 1, C1_9, C3_10, C4_10 },
|
||||||
|
{ 1, C1_10, C2_10, C4_11 },
|
||||||
|
{ 1, C1_11, C2_11, C3_11 },
|
||||||
|
{ 1, C1_12, C2_12, C3_12 },
|
||||||
|
{ 1, C1_13, C2_13, C3_13 },
|
||||||
|
{ 0, C1_16, C2_16, C3_16 },
|
||||||
|
|
||||||
|
{ 1, C9_8, C7_7, C6_7 },
|
||||||
|
{ 1, C1_5, C2_5, C3_5 },
|
||||||
|
{ 1, C1_4, C2_4, C3_4 },
|
||||||
|
{ 1, C1_3, C2_3, C3_3 },
|
||||||
|
{ 1, C1_2, C2_2, C4_3 },
|
||||||
|
{ 1, C1_1, C3_2, C4_2 },
|
||||||
|
{ 1, C9_9, C8_9, C7_9 },
|
||||||
|
{ 1, C9_10, C8_10, C7_10 },
|
||||||
|
{ 1, C9_11, C8_11, C7_11 },
|
||||||
|
{ 1, C9_12, C8_12, C7_12 },
|
||||||
|
{ 1, C1_14, C2_14, C3_14 },
|
||||||
|
{ 1, C1_15, C2_15, C3_15 },
|
||||||
|
{ 1, C1_16, C2_16, C3_16 },
|
||||||
|
{ 0, C9_15, C8_15, C6_14 },
|
||||||
|
|
||||||
|
{ 1, C8_8, C7_8, C6_8 },
|
||||||
|
{ 1, C1_8, C2_8, C3_8 },
|
||||||
|
{ 1, C1_7, C2_7, C3_7 },
|
||||||
|
{ 1, C2_1, C3_1, C4_1 },
|
||||||
|
{ 1, C9_14, C8_14, C7_14 },
|
||||||
|
{ 1, C9_15, C8_15, C6_14 },
|
||||||
|
{ 1, C9_16, C7_15, C6_15 },
|
||||||
|
{ 1, C8_16, C7_16, C6_16 },
|
||||||
|
{ 0, C8_16, C7_16, C6_16 },
|
||||||
|
{ 0, C9_16, C7_15, C6_15 }
|
||||||
|
};
|
||||||
|
|
||||||
|
led_config_t g_led_config = {
|
||||||
|
{
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
||||||
|
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
|
||||||
|
{ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED, 42, 43 },
|
||||||
|
{ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, NO_LED, 56, 57 },
|
||||||
|
{ 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, 62, 63, 64, 65, NO_LED, 66, 67 }
|
||||||
|
}, {
|
||||||
|
{ 0, 0 }, { 15, 0 }, { 30, 0 }, { 45, 0 }, { 60, 0 }, { 75, 0 }, { 90, 0 }, { 105, 0 }, { 120, 0 }, { 135, 0 }, { 150, 0 }, { 165, 0 }, { 180, 0 }, { 203, 0 }, { 224, 0 },
|
||||||
|
{ 4, 16 }, { 23, 16 }, { 38, 16 }, { 53, 16 }, { 68, 16 }, { 83, 16 }, { 98, 16 }, { 113, 16 }, { 128, 16 }, { 143, 16 }, { 158, 16 }, { 173, 16 }, { 188, 16 }, { 206, 16 }, { 224, 16 },
|
||||||
|
{ 6, 32 }, { 26, 32 }, { 41, 32 }, { 56, 32 }, { 71, 32 }, { 86, 32 }, { 101, 32 }, { 116, 32 }, { 131, 32 }, { 146, 32 }, { 161, 32 }, { 176, 32 }, { 201, 32 }, { 224, 32 },
|
||||||
|
{ 9, 48 }, { 34, 48 }, { 49, 48 }, { 64, 48 }, { 79, 48 }, { 94, 48 }, { 109, 48 }, { 124, 48 }, { 139, 48 }, { 154, 48 }, { 169, 48 }, { 189, 48 }, { 210, 48 }, { 224, 48 },
|
||||||
|
{ 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }
|
||||||
|
}, {
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
__attribute__ ((weak))
|
||||||
|
void rgb_matrix_indicators_user(void) {
|
||||||
|
if (host_keyboard_led_state().caps_lock) {
|
||||||
|
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
/* Copyright 2020 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define XXX KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT_65_ansi( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, \
|
||||||
|
K40, K41, K42, K45, K48, K49, K4A, K4B, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, XXX, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, XXX, XXX, K45, XXX, XXX, K48, K49, K4A, K4B, XXX, K4D, K4E } \
|
||||||
|
}
|
||||||
Executable
+57
@@ -0,0 +1,57 @@
|
|||||||
|
/* Copyright 2021 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* 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 0x445A
|
||||||
|
#define PRODUCT_ID 0x1424
|
||||||
|
#define DEVICE_VER 0x0003
|
||||||
|
#define MANUFACTURER DZTECH
|
||||||
|
#define PRODUCT DZ65RGBV3
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 15
|
||||||
|
#define MATRIX_ROW_PINS { F0, F1, F4, E6, C6 }
|
||||||
|
#define MATRIX_COL_PINS { F7, F6, F5, C7, B0, B1, B2, B3, B4, D7, D6, D4, D5, D3, D2}
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
/* disable these deprecated features by default */
|
||||||
|
#define NO_ACTION_MACRO
|
||||||
|
#define NO_ACTION_FUNCTION
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
#define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
|
||||||
|
#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
|
||||||
|
#define USB_SUSPEND_WAKEUP_DELAY 5000
|
||||||
|
#define RGB_MATRIX_KEYPRESSES
|
||||||
|
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
|
||||||
|
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
|
||||||
|
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
|
||||||
|
#define DRIVER_ADDR_1 0b0110000
|
||||||
|
#define DRIVER_ADDR_2 0b0110000 // this is here for compliancy reasons.
|
||||||
|
#define DRIVER_COUNT 1
|
||||||
|
#define DRIVER_1_LED_TOTAL 68
|
||||||
|
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
|
||||||
|
#define DRIVER_INDICATOR_LED_TOTAL 0
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# DZ65RGB V3
|
||||||
|
|
||||||
|
A customizable 65% RGB keyboard.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681)
|
||||||
|
* Hardware Supported: DZ65RGB V3
|
||||||
|
* Hardware Availability: [KBDfans](https://kbdfans.com/)
|
||||||
|
|
||||||
|
## Bootloader mode
|
||||||
|
|
||||||
|
To put in bootloader mode, hold the `Esc` key while plugging in the USB cable. or use reset key behind the pcb.
|
||||||
|
|
||||||
|
## Making firmware
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make dztech/dz65rgb/v3: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).
|
||||||
Executable
+25
@@ -0,0 +1,25 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = lufa-ms
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = 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
|
||||||
|
RGB_MATRIX_ENABLE = yes # Use RGB matrix
|
||||||
|
RGB_MATRIX_DRIVER = IS31FL3741
|
||||||
|
LTO_ENABLE = yes
|
||||||
Executable
+125
@@ -0,0 +1,125 @@
|
|||||||
|
/* Copyright 2021 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* 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 "v3.h"
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
|
||||||
|
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||||
|
{0, CS21_SW1, CS20_SW1, CS19_SW1},
|
||||||
|
{0, CS21_SW2, CS20_SW2, CS19_SW2},
|
||||||
|
{0, CS21_SW3, CS20_SW3, CS19_SW3},
|
||||||
|
{0, CS21_SW4, CS20_SW4, CS19_SW4},
|
||||||
|
{0, CS21_SW5, CS20_SW5, CS19_SW5},
|
||||||
|
{0, CS21_SW6, CS20_SW6, CS19_SW6},
|
||||||
|
{0, CS21_SW7, CS20_SW7, CS19_SW7},
|
||||||
|
{0, CS21_SW8, CS20_SW8, CS19_SW8},
|
||||||
|
{0, CS24_SW1, CS23_SW1, CS22_SW1},
|
||||||
|
{0, CS24_SW2, CS23_SW2, CS22_SW2},
|
||||||
|
{0, CS24_SW3, CS23_SW3, CS22_SW3},
|
||||||
|
{0, CS24_SW4, CS23_SW4, CS22_SW4},
|
||||||
|
{0, CS24_SW5, CS23_SW5, CS22_SW5},
|
||||||
|
{0, CS24_SW6, CS23_SW6, CS22_SW6},
|
||||||
|
{0, CS24_SW7, CS23_SW7, CS22_SW7},
|
||||||
|
|
||||||
|
{0, CS15_SW1, CS14_SW1, CS13_SW1},
|
||||||
|
{0, CS15_SW2, CS14_SW2, CS13_SW2},
|
||||||
|
{0, CS15_SW3, CS14_SW3, CS13_SW3},
|
||||||
|
{0, CS15_SW4, CS14_SW4, CS13_SW4},
|
||||||
|
{0, CS15_SW5, CS14_SW5, CS13_SW5},
|
||||||
|
{0, CS15_SW6, CS14_SW6, CS13_SW6},
|
||||||
|
{0, CS15_SW7, CS14_SW7, CS13_SW7},
|
||||||
|
{0, CS15_SW8, CS14_SW8, CS13_SW8},
|
||||||
|
{0, CS30_SW1, CS29_SW1, CS28_SW1},
|
||||||
|
{0, CS30_SW2, CS29_SW2, CS28_SW2},
|
||||||
|
{0, CS30_SW3, CS29_SW3, CS28_SW3},
|
||||||
|
{0, CS30_SW4, CS29_SW4, CS28_SW4},
|
||||||
|
{0, CS30_SW5, CS29_SW5, CS28_SW5},
|
||||||
|
{0, CS30_SW6, CS29_SW6, CS28_SW6},
|
||||||
|
{0, CS30_SW7, CS29_SW7, CS28_SW7},
|
||||||
|
|
||||||
|
{0, CS12_SW1, CS11_SW1, CS10_SW1},
|
||||||
|
{0, CS12_SW2, CS11_SW2, CS10_SW2},
|
||||||
|
{0, CS12_SW3, CS11_SW3, CS10_SW3},
|
||||||
|
{0, CS12_SW4, CS11_SW4, CS10_SW4},
|
||||||
|
{0, CS12_SW5, CS11_SW5, CS10_SW5},
|
||||||
|
{0, CS12_SW6, CS11_SW6, CS10_SW6},
|
||||||
|
{0, CS12_SW7, CS11_SW7, CS10_SW7},
|
||||||
|
{0, CS12_SW8, CS11_SW8, CS10_SW8},
|
||||||
|
{0, CS33_SW1, CS32_SW1, CS31_SW1},
|
||||||
|
{0, CS33_SW2, CS32_SW2, CS31_SW2},
|
||||||
|
{0, CS33_SW3, CS32_SW3, CS31_SW3},
|
||||||
|
{0, CS33_SW4, CS32_SW4, CS31_SW4},
|
||||||
|
{0, CS33_SW5, CS32_SW5, CS31_SW5},
|
||||||
|
{0, CS33_SW7, CS32_SW7, CS31_SW7},
|
||||||
|
|
||||||
|
{0, CS9_SW1, CS8_SW1, CS7_SW1},
|
||||||
|
{0, CS9_SW2, CS8_SW2, CS7_SW2},
|
||||||
|
{0, CS9_SW3, CS8_SW3, CS7_SW3},
|
||||||
|
{0, CS9_SW4, CS8_SW4, CS7_SW4},
|
||||||
|
{0, CS9_SW5, CS8_SW5, CS7_SW5},
|
||||||
|
{0, CS9_SW6, CS8_SW6, CS7_SW6},
|
||||||
|
{0, CS9_SW7, CS8_SW7, CS7_SW7},
|
||||||
|
{0, CS9_SW8, CS8_SW8, CS7_SW8},
|
||||||
|
{0, CS36_SW1, CS35_SW1, CS34_SW1},
|
||||||
|
{0, CS36_SW2, CS35_SW2, CS34_SW2},
|
||||||
|
{0, CS36_SW3, CS35_SW3, CS34_SW3},
|
||||||
|
{0, CS36_SW4, CS35_SW4, CS34_SW4},
|
||||||
|
{0, CS36_SW5, CS35_SW5, CS34_SW5},
|
||||||
|
{0, CS36_SW7, CS35_SW7, CS34_SW7},
|
||||||
|
|
||||||
|
{0, CS3_SW1, CS2_SW1, CS1_SW1},
|
||||||
|
{0, CS3_SW2, CS2_SW2, CS1_SW2},
|
||||||
|
{0, CS3_SW3, CS2_SW3, CS1_SW3},
|
||||||
|
{0, CS3_SW6, CS2_SW6, CS1_SW6},
|
||||||
|
{0, CS39_SW1, CS38_SW1, CS37_SW1},
|
||||||
|
{0, CS39_SW2, CS38_SW2, CS37_SW2},
|
||||||
|
{0, CS39_SW3, CS38_SW3, CS37_SW3},
|
||||||
|
{0, CS39_SW4, CS38_SW4, CS37_SW4},
|
||||||
|
{0, CS39_SW5, CS38_SW5, CS37_SW5},
|
||||||
|
{0, CS39_SW7, CS38_SW7, CS37_SW7}
|
||||||
|
|
||||||
|
};
|
||||||
|
led_config_t g_led_config = { {
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 },
|
||||||
|
{ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 },
|
||||||
|
{ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, NO_LED,42, 43 },
|
||||||
|
{ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, NO_LED,55, 56, 57 },
|
||||||
|
{ 58, 59, 60, NO_LED, NO_LED, 61, NO_LED, NO_LED, NO_LED, 62, 63, 64, 65, 66, 67 }
|
||||||
|
}, {
|
||||||
|
{0,0},{15,0},{30,0},{45,0},{60,0},{75,0},{90,0},{105,0},{120,0},{135,0},{150,0},{165,0},{180,0},{203,0},{224,0},
|
||||||
|
{4,16},{23,16},{38,16},{53,16},{68,16},{83,16},{98,16},{113,16},{128,16},{143,16},{158,16},{173,16},{188,16},{206,16},{224,16},
|
||||||
|
{6,32},{26,32},{41,32},{56,32},{71,32},{86,32},{101,32},{116,32},{131,32},{146,32},{161,32},{176,32},{201,32},{224,32},
|
||||||
|
{9,48},{34,48},{49,48},{64,48},{79,48},{94,48},{109,48},{124,48},{139,48},{154,48},{169,48},{189,48},{210,48},{224,48},
|
||||||
|
{ 2, 64 }, { 21, 64 }, { 39, 64 }, { 96, 64 }, { 150, 64 }, { 165, 64 }, { 180, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }
|
||||||
|
}, {
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
|
||||||
|
1, 1, 1, 4, 1, 1, 1, 1, 1, 1
|
||||||
|
} };
|
||||||
|
|
||||||
|
|
||||||
|
__attribute__ ((weak))
|
||||||
|
void rgb_matrix_indicators_user(void)
|
||||||
|
{
|
||||||
|
if (host_keyboard_led_state().caps_lock)
|
||||||
|
{
|
||||||
|
rgb_matrix_set_color(30, 0xFF, 0xFF, 0xFF);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
Executable
+35
@@ -0,0 +1,35 @@
|
|||||||
|
/* Copyright 2021 DZTECH <[email protected]>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define XXX KC_NO
|
||||||
|
|
||||||
|
#define LAYOUT_65_ansi( \
|
||||||
|
K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \
|
||||||
|
K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \
|
||||||
|
K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \
|
||||||
|
K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3C, K3D, K3E, \
|
||||||
|
K40, K41, K42, K45, K49, K4A, K4B, K4C, K4D, K4E \
|
||||||
|
) { \
|
||||||
|
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \
|
||||||
|
{ K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \
|
||||||
|
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \
|
||||||
|
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, XXX, K3C, K3D, K3E }, \
|
||||||
|
{ K40, K41, K42, XXX, XXX, K45, XXX, XXX, XXX, K49, K4A, K4B, K4C, K4D, K4E } \
|
||||||
|
}
|
||||||
@@ -0,0 +1,163 @@
|
|||||||
|
/* Copyright 2021 jurassic73
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "config_common.h"
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xFEED
|
||||||
|
#define PRODUCT_ID 0x0000
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER jurassic73
|
||||||
|
#define PRODUCT split89
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keyboard Matrix Assignments
|
||||||
|
*
|
||||||
|
* Change this to how you wired your keyboard
|
||||||
|
* COLS: AVR pins used for columns, left to right
|
||||||
|
* ROWS: AVR pins used for rows, top to bottom
|
||||||
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* key matrix size
|
||||||
|
ROWS = total count of rows for both sides - this is broken out accordingly in split.h
|
||||||
|
COLS = number of cols per side which curently needs to be equal so there are blank columns for the left side in the split89.h file
|
||||||
|
*/
|
||||||
|
#define MATRIX_ROWS 12
|
||||||
|
#define MATRIX_COLS 10
|
||||||
|
|
||||||
|
/* Left side matrix */
|
||||||
|
#define MATRIX_ROW_PINS { F6, F7, B1, B3, B2, B6 }
|
||||||
|
#define MATRIX_COL_PINS { F5, F4, B5, B4, E6, D7, C6, D4, D2, D3 }
|
||||||
|
/* Right side matrix */
|
||||||
|
#define MATRIX_ROW_PINS_RIGHT { F6, F7, B1, B3, B2, B6 }
|
||||||
|
#define MATRIX_COL_PINS_RIGHT { F5, F4, B5, B4, E6, D7, C6, D4, D2, D3 }
|
||||||
|
|
||||||
|
/* this will be tied to high (VCC with a 2k to 10k resistor) on the left keyboard half and tied to low (GND using a wire jumper only) on the right keyboard half. This allows a user to plug in a USB cable to either side and function correctly with or without a TRS/TRRS cable with a single hex file. */
|
||||||
|
#define SPLIT_HAND_PIN D1
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL */
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
/* handedness */
|
||||||
|
/*
|
||||||
|
* Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
|
||||||
|
*/
|
||||||
|
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
|
||||||
|
#define USE_SERIAL
|
||||||
|
|
||||||
|
//#define LED_NUM_LOCK_PIN B0
|
||||||
|
//#define LED_CAPS_LOCK_PIN B1
|
||||||
|
//#define LED_SCROLL_LOCK_PIN B2
|
||||||
|
//#define LED_COMPOSE_PIN B3
|
||||||
|
//#define LED_KANA_PIN B4
|
||||||
|
|
||||||
|
//#define BACKLIGHT_PIN B7
|
||||||
|
//#define BACKLIGHT_LEVELS 3
|
||||||
|
//#define BACKLIGHT_BREATHING
|
||||||
|
|
||||||
|
//#define RGB_DI_PIN E2
|
||||||
|
//#ifdef RGB_DI_PIN
|
||||||
|
//# define RGBLED_NUM 16
|
||||||
|
//# define RGBLIGHT_HUE_STEP 8
|
||||||
|
//# define RGBLIGHT_SAT_STEP 8
|
||||||
|
//# define RGBLIGHT_VAL_STEP 8
|
||||||
|
//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
||||||
|
//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
||||||
|
/*== all animations enable ==*/
|
||||||
|
//# define RGBLIGHT_ANIMATIONS
|
||||||
|
/*== or choose animations ==*/
|
||||||
|
//# define RGBLIGHT_EFFECT_BREATHING
|
||||||
|
//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
||||||
|
//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
||||||
|
//# define RGBLIGHT_EFFECT_SNAKE
|
||||||
|
//# define RGBLIGHT_EFFECT_KNIGHT
|
||||||
|
//# define RGBLIGHT_EFFECT_CHRISTMAS
|
||||||
|
//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
||||||
|
//# define RGBLIGHT_EFFECT_RGB_TEST
|
||||||
|
//# define RGBLIGHT_EFFECT_ALTERNATING
|
||||||
|
/*== customize breathing effect ==*/
|
||||||
|
/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
||||||
|
//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
||||||
|
/*==== use exp() and sin() ====*/
|
||||||
|
//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
||||||
|
//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
||||||
|
//#endif
|
||||||
|
|
||||||
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
|
#define DEBOUNCE 5
|
||||||
|
|
||||||
|
/* define if matrix has ghost (lacks anti-ghosting diodes) */
|
||||||
|
//#define MATRIX_HAS_GHOST
|
||||||
|
|
||||||
|
/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
|
||||||
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
|
/* Locking resynchronize hack */
|
||||||
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
|
||||||
|
* This is useful for the Windows task manager shortcut (ctrl+shift+esc).
|
||||||
|
*/
|
||||||
|
//#define GRAVE_ESC_CTRL_OVERRIDE
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Force NKRO
|
||||||
|
*
|
||||||
|
* Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
|
||||||
|
* state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
|
||||||
|
* makefile for this to work.)
|
||||||
|
*
|
||||||
|
* If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
|
||||||
|
* until the next keyboard reset.
|
||||||
|
*
|
||||||
|
* NKRO may prevent your keystrokes from being detected in the BIOS, but it is
|
||||||
|
* fully operational during normal computer usage.
|
||||||
|
*
|
||||||
|
* For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
|
||||||
|
* or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
|
||||||
|
* bootmagic, NKRO mode will always be enabled until it is toggled again during a
|
||||||
|
* power-up.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//#define FORCE_NKRO
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Feature disable options
|
||||||
|
* These options are also useful to firmware size reduction.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* disable debug print */
|
||||||
|
//#define NO_DEBUG
|
||||||
|
|
||||||
|
/* disable print */
|
||||||
|
//#define NO_PRINT
|
||||||
|
|
||||||
|
/* disable action features */
|
||||||
|
//#define NO_ACTION_LAYER
|
||||||
|
//#define NO_ACTION_TAPPING
|
||||||
|
//#define NO_ACTION_ONESHOT
|
||||||
|
|
||||||
|
/* disable these deprecated features by default */
|
||||||
|
#define NO_ACTION_MACRO
|
||||||
|
#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
|
/* Bootmagic Lite key configuration */
|
||||||
|
//#define BOOTMAGIC_LITE_ROW 0
|
||||||
|
//#define BOOTMAGIC_LITE_COLUMN 0
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "split89",
|
||||||
|
"maintainer": "jurassic73",
|
||||||
|
"url": "https://github.com/jurassic73/split89",
|
||||||
|
"width": 21,
|
||||||
|
"height": 6.5,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"F1", "x":2, "y":0}, {"label":"F2", "x":3, "y":0}, {"label":"F3", "x":4, "y":0}, {"label":"F4", "x":5, "y":0}, {"label":"F5", "x":6, "y":0}, {"label":"F6", "x":10.25, "y":0}, {"label":"F7", "x":11.25, "y":0}, {"label":"F8", "x":12.25, "y":0}, {"label":"F9", "x":13.75, "y":0}, {"label":"F10", "x":14.75, "y":0}, {"label":"F11", "x":15.75, "y":0}, {"label":"F12", "x":16.75, "y":0}, {"label":"PrtSc", "x":18, "y":0}, {"label":"Scroll Lock", "x":19, "y":0}, {"label":"Pause", "x":20, "y":0}, {"label":"~", "x":0, "y":1.5}, {"label":"!", "x":1, "y":1.5}, {"label":"@", "x":2, "y":1.5}, {"label":"#", "x":3, "y":1.5}, {"label":"$", "x":4, "y":1.5}, {"label":"%", "x":5, "y":1.5}, {"label":"^", "x":6, "y":1.5}, {"label":"&", "x":9.75, "y":1.5}, {"label":"*", "x":10.75, "y":1.5}, {"label":"(", "x":11.75, "y":1.5}, {"label":")", "x":12.75, "y":1.5}, {"label":"_", "x":13.75, "y":1.5}, {"label":"+", "x":14.75, "y":1.5}, {"label":"Backspace", "x":15.75, "y":1.5, "w":2}, {"label":"Insert", "x":18, "y":1.5}, {"label":"Home", "x":19, "y":1.5}, {"label":"PgUp", "x":20, "y":1.5}, {"label":"Tab", "x":0, "y":2.5, "w":1.5}, {"label":"Q", "x":1.5, "y":2.5}, {"label":"W", "x":2.5, "y":2.5}, {"label":"E", "x":3.5, "y":2.5}, {"label":"R", "x":4.5, "y":2.5}, {"label":"T", "x":5.5, "y":2.5}, {"label":"Y", "x":9.25, "y":2.5}, {"label":"U", "x":10.25, "y":2.5}, {"label":"I", "x":11.25, "y":2.5}, {"label":"O", "x":12.25, "y":2.5}, {"label":"P", "x":13.25, "y":2.5}, {"label":"{", "x":14.25, "y":2.5}, {"label":"}", "x":15.25, "y":2.5}, {"label":"|", "x":16.25, "y":2.5, "w":1.5}, {"label":"Delete", "x":18, "y":2.5}, {"label":"End", "x":19, "y":2.5}, {"label":"PgDn", "x":20, "y":2.5}, {"label":"Caps Lock", "x":0, "y":3.5, "w":1.75}, {"label":"A", "x":1.75, "y":3.5}, {"label":"S", "x":2.75, "y":3.5}, {"label":"D", "x":3.75, "y":3.5}, {"label":"F", "x":4.75, "y":3.5}, {"label":"G", "x":5.75, "y":3.5}, {"label":"H", "x":9.5, "y":3.5}, {"label":"J", "x":10.5, "y":3.5}, {"label":"K", "x":11.5, "y":3.5}, {"label":"L", "x":12.5, "y":3.5}, {"label":":", "x":13.5, "y":3.5}, {"label":"\"", "x":14.5, "y":3.5}, {"label":"Enter", "x":15.5, "y":3.5, "w":2.25}, {"label":"Shift", "x":0, "y":4.5, "w":2.25}, {"label":"Z", "x":2.25, "y":4.5}, {"label":"X", "x":3.25, "y":4.5}, {"label":"C", "x":4.25, "y":4.5}, {"label":"V", "x":5.25, "y":4.5}, {"label":"B", "x":6.25, "y":4.5}, {"label":"N", "x":10, "y":4.5}, {"label":"M", "x":11, "y":4.5}, {"label":"<", "x":12, "y":4.5}, {"label":">", "x":13, "y":4.5}, {"label":"?", "x":14, "y":4.5}, {"label":"Shift", "x":15, "y":4.5, "w":2.75}, {"label":"\u2191", "x":19, "y":4.5}, {"label":"Ctrl", "x":0, "y":5.5, "w":1.25}, {"label":"Fn", "x":1.25, "y":5.5, "w":1.25}, {"label":"Win", "x":2.5, "y":5.5, "w":1.25}, {"label":"Alt", "x":3.75, "y":5.5, "w":1.25}, {"x":5, "y":5.5, "w":2.25}, {"x":10, "y":5.5, "w":2.75}, {"label":"Alt", "x":12.75, "y":5.5, "w":1.25}, {"label":"Win", "x":14, "y":5.5, "w":1.25}, {"label":"Menu", "x":15.25, "y":5.5, "w":1.25}, {"label":"Ctrl", "x":16.5, "y":5.5, "w":1.25}, {"label":"\u2190", "x":18, "y":5.5}, {"label":"\u2193", "x":19, "y":5.5}, {"label":"\u2192", "x":20, "y":5.5}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
/* Copyright 2021 jurassic73
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// Defines names for use in layer keycodes and the keymap
|
||||||
|
enum layer_names {
|
||||||
|
BASE,
|
||||||
|
AUD,
|
||||||
|
};
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
/* Base */
|
||||||
|
[0] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS,
|
||||||
|
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_Y, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
|
||||||
|
KC_CAPS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_H, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSHIFT, KC_UP,
|
||||||
|
KC_LSFT, KC_LCTL,MO(1),KC_LGUI,KC_LALT,KC_SPACE, KC_N, KC_SPACE, KC_RALT,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
/* Volume */
|
||||||
|
[1] = LAYOUT(
|
||||||
|
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
|
||||||
|
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_VOLU,
|
||||||
|
KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_MEDIA_PLAY_PAUSE, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
|
||||||
|
),
|
||||||
|
};
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# The default keymap for split89
|
||||||
|
|
||||||
|
A 2nd layer is configured and activated while holding down the Aud key.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
# split89
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
An 89-key split TKL with 3d printed case and powered with Pro Micro controllers.
|
||||||
|
|
||||||
|
* Full build documented here: [https://github.com/jurassic73/split89](https://github.com/jurassic73/split89)
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [jurassic73](https://github.com/jurassic73)
|
||||||
|
* Hardware Supported: ATmega32U4 Pro Micro
|
||||||
|
* Hardware Availability: see [Bill of Materials](https://github.com/jurassic73/split89#bill-of-materials).
|
||||||
|
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make handwired/split89:default
|
||||||
|
|
||||||
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = caterina
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
|
||||||
|
SPLIT_KEYBOARD = yes
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright 2021 Harrison Chan (Xelus)
|
/* Copyright 2021 jurassic73
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -13,5 +13,5 @@
|
|||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config_common.h"
|
#include "split89.h"
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
/* Copyright 2021 jurassic73
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
/* This is a shortcut to help you visually see your layout.
|
||||||
|
*
|
||||||
|
* The first section contains all of the arguments representing the physical
|
||||||
|
* layout of the board and position of the keys minus blanks in the matrix.
|
||||||
|
*
|
||||||
|
* The second converts the arguments into a two-dimensional array which
|
||||||
|
* represents the switch matrix which includes blanks in the wired out matrix.
|
||||||
|
*/
|
||||||
|
#define LAYOUT( \
|
||||||
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, k15, \
|
||||||
|
k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k30, k31, \
|
||||||
|
k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47, \
|
||||||
|
k48, k49, k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k60, \
|
||||||
|
k61, k62, k63, k64, k65, k66, k67, k68, k69, k70, k71, k72, k73, \
|
||||||
|
k74, k75, k76, k77, k78, k79, k80, k81, k82, k83, k84, k85, k86, k87, k88 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, k00, k01, k02, k03, k04, k05 }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, k16, k17, k18, k19, k20, k21 }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, k32, k33, k34, k35, k36, k37 }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, k48, k49, k50, k51, k52, k53 }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, k61, k62, k63, k64, k65, k66, }, \
|
||||||
|
{ KC_NO, KC_NO, KC_NO, KC_NO, k74, k75, k76, k77, k78, k79, }, \
|
||||||
|
{ k06, k07, k08, k09, k10, k11, k12, k13, k14, k15 }, \
|
||||||
|
{ k22, k23, k24, k25, k26, k27, k28, k29, k30, k31 }, \
|
||||||
|
{ k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
||||||
|
{ k54, k55, k56, k57, k58, k59, k60, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
{ k67, k68, k69, k70, k71, KC_NO, k72, KC_NO, k73, KC_NO }, \
|
||||||
|
{ k80, k81, KC_NO, k82, k83, k84, k85, k86, k87, k88 } \
|
||||||
|
}
|
||||||
+52
-24
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright 2020 joshajohnson
|
Copyright 2020 joshajohnson
|
||||||
|
Copyright 2021 peepeetee
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@@ -41,29 +42,56 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
#define RGB_DI_PIN B15
|
#define RGB_DI_PIN B15
|
||||||
#define RGBLED_NUM 27
|
#define RGBLED_NUM 27
|
||||||
#define RGBLIGHT_HUE_STEP 8
|
|
||||||
#define RGBLIGHT_SAT_STEP 8
|
#define DRIVER_LED_TOTAL 27
|
||||||
#define RGBLIGHT_VAL_STEP 8
|
#ifdef RGB_DI_PIN
|
||||||
#define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
|
#define RGBLED_NUM 27
|
||||||
#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
|
#endif
|
||||||
// /*== all animations enable ==*/
|
|
||||||
#define RGBLIGHT_ANIMATIONS
|
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||||
// /*== or choose animations ==*/
|
#define RGB_MATRIX_KEYPRESSES
|
||||||
// #define RGBLIGHT_EFFECT_BREATHING
|
|
||||||
// #define RGBLIGHT_EFFECT_RAINBOW_MOOD
|
// This list in in the correct mode order. Next mode is the following line, previous mode is previous line. Loops around.
|
||||||
// #define RGBLIGHT_EFFECT_RAINBOW_SWIRL
|
// #define DISABLE_RGB_MATRIX_SOLID_COLOR // Static single hue, no speed support
|
||||||
// #define RGBLIGHT_EFFECT_SNAKE
|
#define DISABLE_RGB_MATRIX_ALPHAS_MODS // Static dual hue, speed is hue for secondary hue
|
||||||
// #define RGBLIGHT_EFFECT_KNIGHT
|
//#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN // Static gradient top to bottom, speed controls how much gradient changes
|
||||||
// #define RGBLIGHT_EFFECT_CHRISTMAS
|
//#define DISABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT // Static gradient top to bottom, speed controls how much gradient changes
|
||||||
// #define RGBLIGHT_EFFECT_STATIC_GRADIENT
|
//#define DISABLE_RGB_MATRIX_BREATHING // Single hue brightness cycling animation
|
||||||
// #define RGBLIGHT_EFFECT_RGB_TEST
|
#define DISABLE_RGB_MATRIX_BAND_SAT // Single hue band fading saturation scrolling left to right
|
||||||
// #define RGBLIGHT_EFFECT_ALTERNATING
|
#define DISABLE_RGB_MATRIX_BAND_VAL // Single hue band fading brightness scrolling left to right
|
||||||
// /*== customize breathing effect ==*/
|
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT // Single hue 3 blade spinning pinwheel fades saturation
|
||||||
// /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
|
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_VAL // Single hue 3 blade spinning pinwheel fades brightness
|
||||||
// #define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
|
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT // Single hue spinning spiral fades saturation
|
||||||
// /*==== use exp() and sin() ====*/
|
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_VAL // Single hue spinning spiral fades brightness
|
||||||
// #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
|
#define DISABLE_RGB_MATRIX_CYCLE_ALL // Full keyboard solid hue cycling through full gradient
|
||||||
// #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
|
//#define DISABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT // Full gradient scrolling left to right
|
||||||
|
//#define DISABLE_RGB_MATRIX_CYCLE_UP_DOWN // Full gradient scrolling top to bottom
|
||||||
|
#define DISABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON // Full gradent Chevron shapped scrolling left to right
|
||||||
|
#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN // Full gradient scrolling out to in
|
||||||
|
#define DISABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL // Full dual gradients scrolling out to in
|
||||||
|
#define DISABLE_RGB_MATRIX_CYCLE_PINWHEEL // Full gradient spinning pinwheel around center of keyboard
|
||||||
|
#define DISABLE_RGB_MATRIX_CYCLE_SPIRAL // Full gradient spinning spiral around center of keyboard
|
||||||
|
#define DISABLE_RGB_MATRIX_DUAL_BEACON // Full gradient spinning around center of keyboard
|
||||||
|
#define DISABLE_RGB_MATRIX_RAINBOW_BEACON // Full tighter gradient spinning around center of keyboard
|
||||||
|
#define DISABLE_RGB_MATRIX_RAINBOW_PINWHEELS // Full dual gradients spinning two halfs of keyboard
|
||||||
|
//#define DISABLE_RGB_MATRIX_RAINDROPS // Randomly changes a single key's hue
|
||||||
|
//#define DISABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS // Randomly changes a single key's hue and saturation
|
||||||
|
// =================================================== Requires RGB_MATRIX_FRAMEBUFFER_EFFECTS =============================================================
|
||||||
|
// #define DISABLE_RGB_MATRIX_TYPING_HEATMAP // How hot is your WPM!
|
||||||
|
//#define DISABLE_RGB_MATRIX_DIGITAL_RAIN // That famous computer simulation
|
||||||
|
// =================================================== RGB_MATRIX_KEYPRESSES OR RGB_MATRIX_KEYRELEASES =====================================================
|
||||||
|
//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE // Pulses keys hit to hue & value then fades value out
|
||||||
|
//#define DISABLE_RGB_MATRIX_SOLID_REACTIVE // Static single hue, pulses keys hit to shifted hue then fades to current hue
|
||||||
|
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out
|
||||||
|
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE // Hue & value pulse near multiple key hits then fades value out
|
||||||
|
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS // Hue & value pulse the same column and row of a single key hit then fades value out
|
||||||
|
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS // Hue & value pulse the same column and row of multiple key hits then fades value out
|
||||||
|
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS // Hue & value pulse away on the same column and row of a single key hit then fades value out
|
||||||
|
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // Hue & value pulse away on the same column and row of multiple key hits then fades value out
|
||||||
|
#define DISABLE_RGB_MATRIX_SPLASH // Full gradient & value pulse away from a single key hit then fades value out
|
||||||
|
#define DISABLE_RGB_MATRIX_MULTISPLASH // Full gradient & value pulse away from multiple key hits then fades value out
|
||||||
|
#define DISABLE_RGB_MATRIX_SOLID_SPLASH // Hue & value pulse away from a single key hit then fades value out
|
||||||
|
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH // Hue & value pulse away from multiple key hits then fades value out
|
||||||
|
|
||||||
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
|
||||||
#define DEBOUNCE 5
|
#define DEBOUNCE 5
|
||||||
|
|||||||
+154
-1
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright 2020 joshajohnson
|
/* Copyright 2020 joshajohnson 2021 peepeetee
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@@ -16,3 +16,156 @@
|
|||||||
|
|
||||||
#include "hub20.h"
|
#include "hub20.h"
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
led_config_t g_led_config = { {
|
||||||
|
// Key Matrix to LED Index
|
||||||
|
{NO_LED,NO_LED,NO_LED,NO_LED},
|
||||||
|
{ 7, 8, 9, 10},
|
||||||
|
{ 11, 12, 13, 14},
|
||||||
|
{ 15, 16, 17, 18},
|
||||||
|
{ 19, 20, 21, 22},
|
||||||
|
{ 23, 24, 25, 26}
|
||||||
|
//todo: assign leds to keys differently for the different layouts
|
||||||
|
}, {
|
||||||
|
// LED Index to Physical Position
|
||||||
|
{ 190, 50}, { 111, 50}, { 35, 50}, {38, 0}, {38, 35}, {186, 35}, {186, 0}, // UNDERGLOW
|
||||||
|
//todo: underglow location needs to be recalculated. The top row is above row 4, and for now they have the same y value 0
|
||||||
|
{ 0, 0}, {75, 0}, {150, 0}, {225, 0}, // row 4
|
||||||
|
{ 0, 16}, {75, 16}, {150, 16}, {225, 16}, // row 3
|
||||||
|
{ 0, 32}, {75, 32}, {150, 32}, {225, 32}, // row 2
|
||||||
|
{ 0, 48}, {75, 48}, {150, 48}, {225, 48}, // row 1
|
||||||
|
{ 0, 64}, {75, 64}, {150, 64}, {225, 64} // row 0
|
||||||
|
|
||||||
|
}, {
|
||||||
|
// LED Index to Flag
|
||||||
|
LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, LED_FLAG_UNDERGLOW, // UNDERGLOW
|
||||||
|
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 4
|
||||||
|
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 3
|
||||||
|
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 2
|
||||||
|
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, // row 1
|
||||||
|
LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT, LED_FLAG_KEYLIGHT // row 0
|
||||||
|
|
||||||
|
} };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// #if LED_MERGE_NUMPAD_LEFT_HANDED_ENTER && LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO
|
||||||
|
// #error lower left enter conflicts with lower left zero
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
// #if LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER && LED_MERGE_NUMPAD_LEFT_HANDED_ZERO
|
||||||
|
// #error lower right enter conflicts with lower right zero
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
// /* LAYOUT_left_handed
|
||||||
|
|
||||||
|
|
||||||
|
// * ┌───┬───┐
|
||||||
|
// * │01 │02 │
|
||||||
|
// * ┌───┼───┼───┼───┐
|
||||||
|
// * │10 │11 │12 │13 │
|
||||||
|
// * ├───┼───┼───┼───┤
|
||||||
|
// * │ │21 │22 │23 │
|
||||||
|
// * │20 ├───┼───┼───┤
|
||||||
|
// * │ │31 │32 │33 │
|
||||||
|
// * ├───┼───┼───┼───┤
|
||||||
|
// * │ │41 │42 │43 │
|
||||||
|
// * │40 ├───┼───┴───┤
|
||||||
|
// * │ │51 │ 52 │
|
||||||
|
// * └───┴───┴───────┘
|
||||||
|
// */
|
||||||
|
|
||||||
|
// #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_PLUS //key 20
|
||||||
|
// #define LED_MERGE_NUMPAD_LEFT_HANDED_PLUS FALSE
|
||||||
|
// #endif // LED_MERGE_NUMPAD_LEFT_HANDED_PLUS
|
||||||
|
|
||||||
|
// #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_ENTER //key 40
|
||||||
|
// #define LED_MERGE_NUMPAD_LEFT_HANDED_ENTER FALSE
|
||||||
|
// #endif // LED_MERGE_NUMPAD_LEFT_HANDED_ENTER
|
||||||
|
|
||||||
|
// #ifndef LED_MERGE_NUMPAD_LEFT_HANDED_ZERO //key 52
|
||||||
|
// #define LED_MERGE_NUMPAD_LEFT_HANDED_ZERO FALSE
|
||||||
|
// #endif // LED_MERGE_NUMPAD_LEFT_HANDED_ZERO
|
||||||
|
|
||||||
|
|
||||||
|
// /* LAYOUT_right_handed
|
||||||
|
|
||||||
|
|
||||||
|
// * ┌───┬───┐
|
||||||
|
// * │01 │02 │
|
||||||
|
// * ┌───┼───┼───┼───┐
|
||||||
|
// * │10 │11 │12 │13 │
|
||||||
|
// * ├───┼───┼───┼───┤
|
||||||
|
// * │20 │21 │22 │ │
|
||||||
|
// * ├───┼───┼───┤23 │
|
||||||
|
// * │30 │31 │32 │ │
|
||||||
|
// * ├───┼───┼───┼───┤
|
||||||
|
// * │40 │41 │42 │ │
|
||||||
|
// * ├───┴───┼───┤43 │
|
||||||
|
// * │ 50 │52 │ │
|
||||||
|
// * └───────┴───┴───┘
|
||||||
|
// */
|
||||||
|
// //LOCATION OF bottom row 0 NOT TESTED, WAITING ENDORSEMENT FROM MANUFACTURER
|
||||||
|
|
||||||
|
// #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS // key 23
|
||||||
|
// #define LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS FALSE
|
||||||
|
// #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS
|
||||||
|
|
||||||
|
// #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER // key 43
|
||||||
|
// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER FALSE
|
||||||
|
// #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER
|
||||||
|
|
||||||
|
// #ifndef LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO // key 50 (confirm with manufacturer)
|
||||||
|
// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO FALSE
|
||||||
|
// #endif // LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO
|
||||||
|
|
||||||
|
// uint8_t rgb_matrix_map_row_column_to_led_kb(uint8_t row, uint8_t column, uint8_t *led_i) {
|
||||||
|
// // Keys here have 2 leds. Here we add the led that is not bound to the key
|
||||||
|
// // and the default led would be added
|
||||||
|
// // by the default code that runs after this in rgb_matrix_map_row_column_to_led
|
||||||
|
|
||||||
|
// uint8_t counter = 0;
|
||||||
|
|
||||||
|
// #if LED_MERGE_NUMPAD_LEFT_HANDED_PLUS //key 20, leds 7 and 11, 7 already bound
|
||||||
|
|
||||||
|
// if (row == 2 && column == 0) {
|
||||||
|
// led_i[counter] = 11;
|
||||||
|
// counter ++;
|
||||||
|
// }
|
||||||
|
// #endif
|
||||||
|
// #if LED_MERGE_NUMPAD_LEFT_HANDED_ENTER //key 40, leds 19 and 23, 23 already bound
|
||||||
|
// if (row == 4 && column == 0) {
|
||||||
|
// led_i[counter] = 23;
|
||||||
|
// counter ++;
|
||||||
|
// }
|
||||||
|
// #endif
|
||||||
|
// #if LED_MERGE_NUMPAD_LEFT_HANDED_ZERO //key 52, leds 25 and 26, 26 already bound
|
||||||
|
// if (row == 5 && column == 2) {
|
||||||
|
// led_i[counter] = 26;
|
||||||
|
// counter ++;
|
||||||
|
// }
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
// #if LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS // key 23, led 14 and 18, 14 already bound
|
||||||
|
// if (row == 2 && column == 3) {
|
||||||
|
// led_i[counter] = 18;
|
||||||
|
// counter ++;
|
||||||
|
// }
|
||||||
|
// #endif
|
||||||
|
// #if LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER // key 43, led 22 and 26, 22 already bound
|
||||||
|
// if (row == 4 && column == 3) {
|
||||||
|
// led_i[counter] = 26;
|
||||||
|
// counter ++;
|
||||||
|
// }
|
||||||
|
// #endif
|
||||||
|
// #if LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO // key 50 (confirm with manufacturer)
|
||||||
|
// // LED 23 and 24, 23(?) already bound
|
||||||
|
// if (row == 5 && column == 0) {
|
||||||
|
// led_i[counter] = 24;
|
||||||
|
// counter ++;
|
||||||
|
// }
|
||||||
|
// #endif
|
||||||
|
// return counter;
|
||||||
|
// }
|
||||||
@@ -29,6 +29,24 @@
|
|||||||
* represents the switch matrix.
|
* represents the switch matrix.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* LAYOUT_all
|
||||||
|
|
||||||
|
|
||||||
|
* ┌───┬───┐
|
||||||
|
* │01 │02 │
|
||||||
|
* ┌───┼───┼───┼───┐
|
||||||
|
* │10 │11 │12 │13 │
|
||||||
|
* ├───┼───┼───┼───┤
|
||||||
|
* │20 │21 │22 │23 │
|
||||||
|
* ├───┼───┼───┼───┤
|
||||||
|
* │30 │31 │32 │33 │
|
||||||
|
* ├───┼───┼───┼───┤
|
||||||
|
* │40 │41 │42 │43 │
|
||||||
|
* ├───┼───┼───┼───┤
|
||||||
|
* │50 │51 │52 │53 │
|
||||||
|
* └───┴───┴───┴───┘
|
||||||
|
*/
|
||||||
#define LAYOUT_all( \
|
#define LAYOUT_all( \
|
||||||
K01, K02, \
|
K01, K02, \
|
||||||
K10, K11, K12, K13, \
|
K10, K11, K12, K13, \
|
||||||
@@ -45,3 +63,75 @@
|
|||||||
{ K40, K41, K42, K43, }, \
|
{ K40, K41, K42, K43, }, \
|
||||||
{ K50, K51, K52, K53, }, \
|
{ K50, K51, K52, K53, }, \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* LAYOUT_left_handed
|
||||||
|
|
||||||
|
|
||||||
|
* ┌───┬───┐
|
||||||
|
* │01 │02 │
|
||||||
|
* ┌───┼───┼───┼───┐
|
||||||
|
* │10 │11 │12 │13 │
|
||||||
|
* ├───┼───┼───┼───┤
|
||||||
|
* │ │21 │22 │23 │
|
||||||
|
* │20 ├───┼───┼───┤
|
||||||
|
* │ │31 │32 │33 │
|
||||||
|
* ├───┼───┼───┼───┤
|
||||||
|
* │ │41 │42 │43 │
|
||||||
|
* │40 ├───┼───┴───┤
|
||||||
|
* │ │51 │ 52 │
|
||||||
|
* └───┴───┴───────┘
|
||||||
|
*/
|
||||||
|
#define LAYOUT_left_handed( \
|
||||||
|
K01, K02, \
|
||||||
|
K10, K11, K12, K13, \
|
||||||
|
K21, K22, K23, \
|
||||||
|
K20, K31, K32, K33, \
|
||||||
|
K41, K42, K43, \
|
||||||
|
K40, K51, K52 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ ___, K01, K02, ___, }, \
|
||||||
|
{ K10, K11, K12, K13, }, \
|
||||||
|
{ K20, K21, K22, K23, }, \
|
||||||
|
{ ___, K31, K32, K33, }, \
|
||||||
|
{ K40, K41, K42, K43, }, \
|
||||||
|
{ ___, K51, K52, ___, }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* LAYOUT_right_handed
|
||||||
|
|
||||||
|
|
||||||
|
* ┌───┬───┐
|
||||||
|
* │01 │02 │
|
||||||
|
* ┌───┼───┼───┼───┐
|
||||||
|
* │10 │11 │12 │13 │
|
||||||
|
* ├───┼───┼───┼───┤
|
||||||
|
* │20 │21 │22 │ │
|
||||||
|
* ├───┼───┼───┤23 │
|
||||||
|
* │30 │31 │32 │ │
|
||||||
|
* ├───┼───┼───┼───┤
|
||||||
|
* │40 │41 │42 │ │
|
||||||
|
* ├───┴───┼───┤43 │
|
||||||
|
* │ 50(not sure, confirm) │52 │ │
|
||||||
|
* └───────┴───┴───┘
|
||||||
|
*/
|
||||||
|
//NOT TESTED, WAITING ENDORSEMENT FROM MANUFACTURER
|
||||||
|
#define LAYOUT_right_handed( \
|
||||||
|
K01, K02, \
|
||||||
|
K10, K11, K12, K13, \
|
||||||
|
K20, K21, K22, \
|
||||||
|
K30, K31, K32, K23, \
|
||||||
|
K40, K41, K42, \
|
||||||
|
K50, K52, K43 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ ___, K01, K02, ___, }, \
|
||||||
|
{ K10, K11, K12, K13, }, \
|
||||||
|
{ K20, K21, K22, K23, }, \
|
||||||
|
{ K30, K31, K32, ___, }, \
|
||||||
|
{ K40, K41, K42, K43, }, \
|
||||||
|
{ K50, ___, K52, ___, }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -30,6 +30,56 @@
|
|||||||
{"label":"0", "x":2, "y":5},
|
{"label":"0", "x":2, "y":5},
|
||||||
{"label":"0", "x":3, "y":5}
|
{"label":"0", "x":3, "y":5}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_left_handed": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Mute", "x":0.5, "y":0},
|
||||||
|
{"label":"Play / Pause", "x":2.5, "y":0},
|
||||||
|
{"label":"-", "x":0, "y":1},
|
||||||
|
{"label":"*", "x":1, "y":1},
|
||||||
|
{"label":"/", "x":2, "y":1},
|
||||||
|
{"label":"Numlock", "x":3, "y":1},
|
||||||
|
{"label":"7", "x":1, "y":2},
|
||||||
|
{"label":"8", "x":2, "y":2},
|
||||||
|
{"label":"9", "x":3, "y":2},
|
||||||
|
{"label":"+", "x":0, "y":2, "h":2},
|
||||||
|
{"label":"4", "x":1, "y":3},
|
||||||
|
{"label":"5", "x":2, "y":3},
|
||||||
|
{"label":"6", "x":3, "y":3},
|
||||||
|
{"label":"Enter", "x":0, "y":4, "h":2},
|
||||||
|
{"label":"1", "x":1, "y":4},
|
||||||
|
{"label":"2", "x":2, "y":4},
|
||||||
|
{"label":"3", "x":3, "y":4},
|
||||||
|
{"label":".", "x":1, "y":5},
|
||||||
|
{"label":"0", "x":3, "y":5, "w":2}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"LAYOUT_right_handed": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Mute", "x":0.5, "y":0},
|
||||||
|
{"label":"Play / Pause", "x":2.5, "y":0},
|
||||||
|
{"label":"Numlock", "x":0, "y":1},
|
||||||
|
{"label":"/", "x":1, "y":1},
|
||||||
|
{"label":"*", "x":2, "y":1},
|
||||||
|
{"label":"-", "x":3, "y":1},
|
||||||
|
|
||||||
|
{"label":"7", "x":0, "y":2},
|
||||||
|
{"label":"8", "x":1, "y":2},
|
||||||
|
{"label":"9", "x":2, "y":2},
|
||||||
|
|
||||||
|
{"label":"4", "x":0, "y":3},
|
||||||
|
{"label":"5", "x":1, "y":3},
|
||||||
|
{"label":"6", "x":2, "y":3},
|
||||||
|
{"label":"+", "x":3, "y":2, "h":2},
|
||||||
|
|
||||||
|
{"label":"1", "x":0, "y":4},
|
||||||
|
{"label":"2", "x":1, "y":4},
|
||||||
|
{"label":"3", "x":2, "y":4},
|
||||||
|
|
||||||
|
{"label":"0", "x":0, "y":5, "w":2},
|
||||||
|
{"label":".", "x":2, "y":5},
|
||||||
|
{"label":"Enter", "x":3, "y":4, "h":2}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
/* Copyright 2020 joshajohnson 2021 peepeetee
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// #define LED_MERGE_NUMPAD_LEFT_HANDED_PLUS TRUE
|
||||||
|
// #define LED_MERGE_NUMPAD_LEFT_HANDED_ENTER TRUE
|
||||||
|
// #define LED_MERGE_NUMPAD_LEFT_HANDED_ZERO TRUE
|
||||||
|
|
||||||
|
|
||||||
|
#define MO_NLCK LT(1, KC_NLCK) // Numlock on tap, layer change on hold
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_left_handed(
|
||||||
|
KC_MUTE, KC_MPLY,
|
||||||
|
KC_PMNS, KC_PAST, KC_PSLS, MO_NLCK,
|
||||||
|
KC_P7, KC_P8, KC_P9,
|
||||||
|
KC_PPLS, KC_P4, KC_P5, KC_P6,
|
||||||
|
KC_P1, KC_P2, KC_P3,
|
||||||
|
KC_PENT, KC_PDOT, KC_P0
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_left_handed(
|
||||||
|
RESET, _______,
|
||||||
|
RGB_TOG, RGB_RMOD, RGB_MOD, _______,
|
||||||
|
_______, RGB_VAD, RGB_VAI, _______,
|
||||||
|
RGB_HUD, RGB_HUI, _______,
|
||||||
|
_______, RGB_SAD, RGB_SAI, _______,
|
||||||
|
_______, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
|
if (index == 0) { /* Left Encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_VOLU);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_VOLD);
|
||||||
|
}
|
||||||
|
} else if (index == 1) { /* Right Encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_MNXT);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_MPRV);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
/* Copyright 2021 peepeetee
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// #define LED_MERGE_NUMPAD_RIGHT_HANDED_PLUS TRUE
|
||||||
|
// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ENTER TRUE
|
||||||
|
// #define LED_MERGE_NUMPAD_RIGHT_HANDED_ZERO TRUE
|
||||||
|
|
||||||
|
|
||||||
|
#define MO_NLCK LT(1, KC_NLCK) // Numlock on tap, layer change on hold
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
//NOT TESTED, WAITING ENDORSEMENT FROM MANUFACTURER
|
||||||
|
[0] = LAYOUT_right_handed(
|
||||||
|
KC_MUTE, KC_MPLY,
|
||||||
|
MO_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
|
KC_P7, KC_P8, KC_P9,
|
||||||
|
KC_P4, KC_P5, KC_P6, KC_PPLS,
|
||||||
|
KC_P1, KC_P2, KC_P3,
|
||||||
|
KC_P0, KC_PDOT, KC_PENT
|
||||||
|
),
|
||||||
|
[1] = LAYOUT_right_handed(
|
||||||
|
RESET, _______,
|
||||||
|
RGB_TOG, RGB_RMOD, RGB_MOD, _______,
|
||||||
|
_______, RGB_VAD, RGB_VAI,
|
||||||
|
_______, RGB_HUD, RGB_HUI, _______,
|
||||||
|
_______, RGB_SAD, RGB_SAI,
|
||||||
|
_______, _______, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void encoder_update_user(uint8_t index, bool clockwise) {
|
||||||
|
if (index == 0) { /* Left Encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_VOLU);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_VOLD);
|
||||||
|
}
|
||||||
|
} else if (index == 1) { /* Right Encoder */
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_MNXT);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_MPRV);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -10,16 +10,18 @@ BOOTLOADER = stm32-dfu
|
|||||||
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys
|
MOUSEKEY_ENABLE = yes # Mouse keys
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control
|
EXTRAKEY_ENABLE = yes # Audio control and System control
|
||||||
CONSOLE_ENABLE = yes # Console for debug
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
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
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
AUDIO_ENABLE = no # Audio output
|
AUDIO_ENABLE = no # Audio output
|
||||||
|
RGB_MATRIX_ENABLE = yes
|
||||||
|
RGB_MATRIX_DRIVER = WS2812
|
||||||
ENCODER_ENABLE = yes
|
ENCODER_ENABLE = yes
|
||||||
|
|
||||||
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
# Enter lower-power sleep mode when on the ChibiOS idle thread
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
/* Copyright 2021 Stanrc85
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "stanrc85.h"
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QWERTY] = LAYOUT_full_bs(
|
||||||
|
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||||
|
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
MO(_FN2_60), KC_CTLE, 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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LALT, LT_BPCF, KC_LGUI, LT_SPCF, TD_TWIN, KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[_DEFAULT] = LAYOUT_full_bs(
|
||||||
|
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
|
||||||
|
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LALT, KC_SPC, MO(_FN1_60), KC_SPC, MO(_FN2_60), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
[_FN1_60] = LAYOUT_full_bs(
|
||||||
|
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS,
|
||||||
|
_______, _______, _______, _______, _______, _______, KC_VOLU, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PSCR, _______, _______, _______,
|
||||||
|
_______, KC_CAPS, _______, _______, KC_LCTL, KC_LSFT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
|
||||||
|
_______, KC_RDP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
[_FN2_60] = LAYOUT_full_bs(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, RGB_MOD, RGB_VAI,
|
||||||
|
TG(_DEFAULT), _______, _______, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUI
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
switch (get_highest_layer(state)) {
|
||||||
|
case _FN1_60:
|
||||||
|
break;
|
||||||
|
case _FN2_60:
|
||||||
|
rgb_matrix_mode_noeeprom(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
|
||||||
|
break;
|
||||||
|
case _DEFAULT:
|
||||||
|
rgb_matrix_mode_noeeprom(RGB_MATRIX_MULTISPLASH);
|
||||||
|
break;
|
||||||
|
case _QWERTY:
|
||||||
|
rgb_matrix_mode_noeeprom(RGB_MATRIX_TYPING_HEATMAP);
|
||||||
|
break;
|
||||||
|
default: // for any other layers, or the default layer
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return state;
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
USER_NAME := stanrc85
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
/* Copyright 2021 Mats Nilsson
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define EE_HANDS
|
||||||
|
|
||||||
|
#undef RGBLED_NUM
|
||||||
|
#define RGBLIGHT_ANIMATIONS
|
||||||
|
#define RGBLED_NUM 12
|
||||||
|
#define RGBLIGHT_HUE_STEP 8
|
||||||
|
#define RGBLIGHT_SAT_STEP 8
|
||||||
|
#define RGBLIGHT_VAL_STEP 8
|
||||||
|
#define RGBLIGHT_SPLIT \
|
||||||
|
{ 6, 6 }
|
||||||
|
#define RGBLIGHT_SLEEP
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
/* Copyright 2021 Mats Nilsson
|
||||||
|
*
|
||||||
|
* 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 "mnil.h"
|
||||||
|
|
||||||
|
const uint8_t RGBLED_BREATHING_INTERVALS[] PROGMEM = {5, 5, 5, 5};
|
||||||
|
|
||||||
|
#define HSV_DEFAULT 32, 255, 255
|
||||||
|
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
|
state = update_tri_layer_state(state, _SYMBOLS, _NAVIGATION, _NUMPAD);
|
||||||
|
|
||||||
|
switch (get_highest_layer(state)) {
|
||||||
|
case _NUMPAD:
|
||||||
|
rgblight_sethsv_noeeprom(HSV_GREEN);
|
||||||
|
break;
|
||||||
|
case _NAVIGATION:
|
||||||
|
rgblight_sethsv_noeeprom(HSV_MAGENTA);
|
||||||
|
break;
|
||||||
|
case _SYMBOLS:
|
||||||
|
rgblight_sethsv_noeeprom(HSV_AZURE);
|
||||||
|
break;
|
||||||
|
default: // for any other layers, or the default layer
|
||||||
|
rgblight_sethsv_noeeprom(HSV_DEFAULT);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_COLEMAK] = 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_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, TD(OAA), KC_NO,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_LSFT, TD(AAE), KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_NO,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_LCTL, KC_Z, KC_X, KC_C, KC_D, KC_V, _NAV_SPC, _SYM_ENT,KC_K, KC_H, KC_COMM, KC_DOT, SE_MINS, KC_LGUI,
|
||||||
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||||
|
KC_LGUI, SFT_TAB, _NAV_SPC, _SYM_ENT,CTL_BSPC,ALT_DEL),
|
||||||
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||||
|
[_SYMBOLS] = LAYOUT(
|
||||||
|
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||||
|
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_TRNS,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_TRNS, KC_NO, SE_PIPE, SE_LBRC, SE_RBRC, KC_NO, S(KC_5), SE_QUES, SE_AT, SE_EQL, SE_DLR, KC_TRNS,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_TRNS, SE_LCBR, SE_RCBR, SE_LPRN, SE_RPRN, KC_NO, SE_PLUS, S(KC_1), S(KC_2), S(KC_3), SE_AMPR, KC_TRNS,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_TRNS, M_TILD, M_CIRC, SE_LESS, SE_GRTR, KC_NO, KC_TRNS, KC_TRNS, SE_APOS, SE_SLSH, SE_BSLS, SE_ASTR, M_BTCK, KC_TRNS,
|
||||||
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
|
||||||
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||||
|
[_NAVIGATION] = LAYOUT(
|
||||||
|
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_TRNS, KC_NO, CUT, COPY, PASTE, AUTOFILL, KC_NO, KC_HOME, KC_WH_D, KC_WH_U, KC_END, KC_NO,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_TRNS, KC_ACL0, KC_ACL1, KC_BTN2, KC_BTN1, KC_LCTL, KC_WH_L, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_WH_R,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_TRNS, KC_ACL2, KC_BTN4, KC_BTN3, KC_BTN5, KC_NO, KC_TRNS, KC_TRNS, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LCTL,
|
||||||
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
|
||||||
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||||
|
[_NUMPAD] = LAYOUT(
|
||||||
|
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
||||||
|
RGB_TOG, RGB_M_P, RGB_M_B, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RESET,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_TRNS, QUIT, WIN, MVWSL , MVWSR, CRYWS, TERM, KC_7, KC_8, KC_9, KC_COMM, KC_NO,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_TRNS, CS_TAB, C_TAB, PRVWS, NXTWS, I3MOD, OPEN, KC_4, KC_5, KC_6, KC_0, KC_NO,
|
||||||
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
||||||
|
KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, MOVWS, KC_TRNS, KC_TRNS, BROWSER, KC_1, KC_2, KC_3, KC_DOT, KC_NO,
|
||||||
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
|
||||||
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# mnil's iris keymap
|
||||||
|
Read my user settings [here](../../../../../users/mnil/readme.md) for more details.
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
RGBLIGHT_ENABLE = yes
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
/* Copyright 2021 Stanrc85
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define OLED_FADE_OUT
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
/* Copyright 2021 Stanrc85
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "stanrc85.h"
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QWERTY] = LAYOUT_alice(
|
||||||
|
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||||
|
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_PGDN, KC_CTLE, 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_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN2_60),
|
||||||
|
KC_LCTL, KC_LALT, LT_BPCF, KC_LGUI, LT_SPCF, TD_TWIN, TD_TCTL
|
||||||
|
),
|
||||||
|
|
||||||
|
[_DEFAULT] = LAYOUT_alice(
|
||||||
|
KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
|
||||||
|
KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
_______, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN2_60),
|
||||||
|
KC_LCTL, KC_LALT, KC_SPC, MO(_FN1_60), KC_SPC, KC_RALT, KC_RCTL
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN1_60] = LAYOUT_alice(
|
||||||
|
_______, KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
|
||||||
|
_______, _______, _______, CA_QUOT, _______, CA_SCLN, KC_VOLU, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PSCR, _______, _______, KC_INS,
|
||||||
|
_______, KC_CAPS, _______, _______, KC_LCTL, KC_LSFT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
|
||||||
|
_______, _______, KC_RDP, _______, _______, _______, _______, _______, _______, KC_WBAK, KC_WFWD, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN2_60] = LAYOUT_alice(
|
||||||
|
BL_TOGG, RGB_TOG, RGB_MOD, RGB_VAD, RGB_VAI, RGB_SAI, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
BL_INC, VLK_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET,
|
||||||
|
BL_DEC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MAKE,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, TG(_DEFAULT)
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef OLED_DRIVER_ENABLE
|
||||||
|
void oled_task_user(void) {
|
||||||
|
static const char PROGMEM qmk_logo[] = {
|
||||||
|
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, 0x93, 0x94,
|
||||||
|
0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, 0xB4,
|
||||||
|
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
switch (get_highest_layer(layer_state)) {
|
||||||
|
case _QWERTY:
|
||||||
|
oled_write_P(qmk_logo, false);
|
||||||
|
break;
|
||||||
|
case _DEFAULT:
|
||||||
|
oled_write_ln_P(PSTR(" Layer: Game\n\n"), false);
|
||||||
|
break;
|
||||||
|
case _FN1_60:
|
||||||
|
oled_write_ln_P(PSTR(" Layer: FN\n\n"), false);
|
||||||
|
break;
|
||||||
|
case _FN2_60:
|
||||||
|
oled_write_ln_P(PSTR(" Layer: RGB\n\n"), false);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// Or use the write_ln shortcut over adding '\n' to the end of your string
|
||||||
|
oled_write_ln_P(PSTR("Undefined"), false);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Host Keyboard LED Status
|
||||||
|
led_t led_state = host_keyboard_led_state();
|
||||||
|
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
|
||||||
|
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
|
||||||
|
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Backlight timeout feature
|
||||||
|
#define BACKLIGHT_TIMEOUT 20 // in minutes
|
||||||
|
static uint16_t idle_timer = 0;
|
||||||
|
static uint8_t halfmin_counter = 0;
|
||||||
|
static bool led_on = true;
|
||||||
|
static bool rgb_on = true;
|
||||||
|
|
||||||
|
void matrix_scan_user(void) {
|
||||||
|
// idle_timer needs to be set one time
|
||||||
|
if (idle_timer == 0) idle_timer = timer_read();
|
||||||
|
if ( (led_on && timer_elapsed(idle_timer) > 30000) || (rgb_on && timer_elapsed(idle_timer) > 30000)) {
|
||||||
|
halfmin_counter++;
|
||||||
|
idle_timer = timer_read();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( (led_on && halfmin_counter >= BACKLIGHT_TIMEOUT * 2) || (rgb_on && halfmin_counter >= BACKLIGHT_TIMEOUT * 2)) {
|
||||||
|
rgblight_disable_noeeprom();
|
||||||
|
led_on = false;
|
||||||
|
rgb_on = false;
|
||||||
|
halfmin_counter = 0;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
if (record->event.pressed) {
|
||||||
|
if (led_on == false || rgb_on == false ) {
|
||||||
|
rgblight_enable_noeeprom();
|
||||||
|
led_on = true;
|
||||||
|
rgb_on = true;
|
||||||
|
}
|
||||||
|
idle_timer = timer_read();
|
||||||
|
halfmin_counter = 0;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
OLED_DRIVER_ENABLE = yes
|
||||||
+4
-55
@@ -17,6 +17,10 @@
|
|||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#if defined(KEYBOARD_kyria_rev1)
|
||||||
|
# include "rev1.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* This a shortcut to help you visually see your layout.
|
/* This a shortcut to help you visually see your layout.
|
||||||
*
|
*
|
||||||
* The first section contains all of the arguments representing the physical
|
* The first section contains all of the arguments representing the physical
|
||||||
@@ -25,58 +29,3 @@
|
|||||||
* The second converts the arguments into a two-dimensional array which
|
* The second converts the arguments into a two-dimensional array which
|
||||||
* represents the switch matrix.
|
* represents the switch matrix.
|
||||||
*/
|
*/
|
||||||
#define LAYOUT( \
|
|
||||||
L00, L01, L02, L03, L04, L05, R06, R07, R08, R09, R10, R11, \
|
|
||||||
L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \
|
|
||||||
L24, L25, L26, L27, L28, L29, L30, L31, R32, R33, R34, R35, R36, R37, R38, R39, \
|
|
||||||
L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \
|
|
||||||
{ KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \
|
|
||||||
{ L31, L30, L29, L28, L27, L26, L25, L24 }, \
|
|
||||||
{ L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
|
|
||||||
{ KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
|
|
||||||
{ R32, R33, R34, R35, R36, R37, R38, R39 }, \
|
|
||||||
{ R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define LAYOUT_stack( \
|
|
||||||
L00, L01, L02, L03, L04, L05, \
|
|
||||||
L12, L13, L14, L15, L16, L17, \
|
|
||||||
L24, L25, L26, L27, L28, L29, L30, L31, \
|
|
||||||
L40, L41, L42, L43, L44, \
|
|
||||||
\
|
|
||||||
R06, R07, R08, R09, R10, R11, \
|
|
||||||
R18, R19, R20, R21, R22, R23, \
|
|
||||||
R32, R33, R34, R35, R36, R37, R38, R39, \
|
|
||||||
R45, R46, R47, R48, R49 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \
|
|
||||||
{ KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \
|
|
||||||
{ L31, L30, L29, L28, L27, L26, L25, L24 }, \
|
|
||||||
{ L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
|
|
||||||
{ KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
|
|
||||||
{ R32, R33, R34, R35, R36, R37, R38, R39 }, \
|
|
||||||
{ R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define LAYOUT_split_3x6_5( \
|
|
||||||
L00, L01, L02, L03, L04, L05, R06, R07, R08, R09, R10, R11, \
|
|
||||||
L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \
|
|
||||||
L24, L25, L26, L27, L28, L29, R34, R35, R36, R37, R38, R39, \
|
|
||||||
L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \
|
|
||||||
) \
|
|
||||||
{ \
|
|
||||||
{ KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \
|
|
||||||
{ KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \
|
|
||||||
{ KC_NO, KC_NO, L29, L28, L27, L26, L25, L24 }, \
|
|
||||||
{ L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
{ KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
|
|
||||||
{ KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
|
|
||||||
{ KC_NO, KC_NO, R34, R35, R36, R37, R38, R39 }, \
|
|
||||||
{ R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
|
|
||||||
}
|
|
||||||
@@ -41,3 +41,42 @@
|
|||||||
{ R32, R33, R34, R35, R36, R37, R38, R39 }, \
|
{ R32, R33, R34, R35, R36, R37, R38, R39 }, \
|
||||||
{ R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
|
{ R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_stack( \
|
||||||
|
L00, L01, L02, L03, L04, L05, \
|
||||||
|
L12, L13, L14, L15, L16, L17, \
|
||||||
|
L24, L25, L26, L27, L28, L29, L30, L31, \
|
||||||
|
L40, L41, L42, L43, L44, \
|
||||||
|
\
|
||||||
|
R06, R07, R08, R09, R10, R11, \
|
||||||
|
R18, R19, R20, R21, R22, R23, \
|
||||||
|
R32, R33, R34, R35, R36, R37, R38, R39, \
|
||||||
|
R45, R46, R47, R48, R49 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \
|
||||||
|
{ KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \
|
||||||
|
{ L31, L30, L29, L28, L27, L26, L25, L24 }, \
|
||||||
|
{ L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
|
||||||
|
{ KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
|
||||||
|
{ R32, R33, R34, R35, R36, R37, R38, R39 }, \
|
||||||
|
{ R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
}
|
||||||
|
|
||||||
|
#define LAYOUT_split_3x6_5( \
|
||||||
|
L00, L01, L02, L03, L04, L05, R06, R07, R08, R09, R10, R11, \
|
||||||
|
L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \
|
||||||
|
L24, L25, L26, L27, L28, L29, R34, R35, R36, R37, R38, R39, \
|
||||||
|
L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \
|
||||||
|
{ KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \
|
||||||
|
{ KC_NO, KC_NO, L29, L28, L27, L26, L25, L24 }, \
|
||||||
|
{ L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
{ KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \
|
||||||
|
{ KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \
|
||||||
|
{ KC_NO, KC_NO, R34, R35, R36, R37, R38, R39 }, \
|
||||||
|
{ R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \
|
||||||
|
}
|
||||||
@@ -2,13 +2,6 @@
|
|||||||
MCU = atmega32u4
|
MCU = atmega32u4
|
||||||
|
|
||||||
# Bootloader selection
|
# Bootloader selection
|
||||||
# Teensy halfkay
|
|
||||||
# Pro Micro caterina
|
|
||||||
# Atmel DFU atmel-dfu
|
|
||||||
# LUFA DFU lufa-dfu
|
|
||||||
# QMK DFU qmk-dfu
|
|
||||||
# ATmega32A bootloadHID
|
|
||||||
# ATmega328P USBasp
|
|
||||||
BOOTLOADER = atmel-dfu
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define UNUSED_PINS
|
#define UNUSED_PINS
|
||||||
|
|
||||||
/* Encoder pins */
|
/* Encoder pins */
|
||||||
#define ENCODERS_PAD_A { E6 }
|
#define ENCODERS_PAD_A { E6, D2 }
|
||||||
#define ENCODERS_PAD_B { B4 }
|
#define ENCODERS_PAD_B { B4, D3 }
|
||||||
|
|
||||||
/* Encoder resolution */
|
/* Encoder resolution */
|
||||||
#define ENCODER_RESOLUTION 4
|
#define ENCODER_RESOLUTION 4
|
||||||
|
|||||||
@@ -18,8 +18,8 @@
|
|||||||
// Defines names for use in layer keycodes and the keymap
|
// Defines names for use in layer keycodes and the keymap
|
||||||
|
|
||||||
enum layer_names {
|
enum layer_names {
|
||||||
_BASE,
|
_BASE,
|
||||||
_FN1,
|
_FN1,
|
||||||
_FN2,
|
_FN2,
|
||||||
_FN3
|
_FN3
|
||||||
};
|
};
|
||||||
@@ -28,46 +28,46 @@ enum layer_names {
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Base */
|
/* Base */
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
KC_F1, KC_F2, KC_F3, KC_F4,
|
KC_F1, KC_F2, KC_F3, KC_F4,
|
||||||
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
KC_MUTE, KC_P4, KC_P5, KC_P6, KC_NO,
|
KC_MUTE, KC_P4, KC_P5, KC_P6, _______,
|
||||||
MO(_FN1), KC_P1, KC_P2, KC_P3, KC_PENT,
|
MO(_FN1), KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
KC_BSPC, KC_P0, KC_NO, KC_PDOT, KC_NO,
|
KC_BSPC, KC_P0, _______, KC_PDOT, _______,
|
||||||
|
|
||||||
KC_F5, KC_F6, KC_F7
|
KC_F5, KC_F6, KC_F7
|
||||||
|
|
||||||
),
|
),
|
||||||
[_FN1] = LAYOUT(
|
[_FN1] = LAYOUT(
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
RGB_HUD, RGB_SPI, RGB_HUI, _______,
|
RGB_HUD, RGB_SPI, RGB_HUI, _______,
|
||||||
_______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_NO,
|
_______, RGB_RMOD, RGB_TOG, RGB_MOD, _______,
|
||||||
_______, RGB_VAD, RGB_SPD, RGB_VAI, _______,
|
_______, RGB_VAD, RGB_SPD, RGB_VAI, _______,
|
||||||
_______, RGB_SAD, KC_NO, RGB_SAI, KC_NO,
|
_______, RGB_SAD, _______, RGB_SAI, _______,
|
||||||
|
|
||||||
_______, _______, _______
|
_______, _______, _______
|
||||||
|
|
||||||
),
|
),
|
||||||
[_FN2] = LAYOUT(
|
[_FN2] = LAYOUT(
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_NO,
|
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_NO,
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______, _______
|
_______, _______, _______
|
||||||
|
|
||||||
),
|
),
|
||||||
[_FN3] = LAYOUT(
|
[_FN3] = LAYOUT(
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_NO,
|
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_NO,
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______, _______
|
_______, _______, _______
|
||||||
|
|
||||||
)
|
)
|
||||||
@@ -82,6 +82,13 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
|||||||
} else {
|
} else {
|
||||||
tap_code(KC_VOLD);
|
tap_code(KC_VOLD);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_BRIU);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_BRID);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -17,8 +17,8 @@
|
|||||||
|
|
||||||
// Defines names for use in layer keycodes and the keymap
|
// Defines names for use in layer keycodes and the keymap
|
||||||
enum layer_names {
|
enum layer_names {
|
||||||
_BASE,
|
_BASE,
|
||||||
_FN1,
|
_FN1,
|
||||||
_FN2,
|
_FN2,
|
||||||
_FN3
|
_FN3
|
||||||
};
|
};
|
||||||
@@ -26,49 +26,49 @@ enum layer_names {
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
/* Base */
|
/* Base */
|
||||||
[_BASE] = LAYOUT(
|
[_BASE] = LAYOUT(
|
||||||
KC_F1, KC_F2, KC_F3, KC_F4,
|
KC_F1, KC_F2, KC_F3, KC_F4,
|
||||||
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
|
||||||
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
KC_P7, KC_P8, KC_P9, KC_PPLS,
|
||||||
KC_MUTE, KC_P4, KC_P5, KC_P6, KC_NO,
|
KC_MUTE, KC_P4, KC_P5, KC_P6, _______,
|
||||||
MO(_FN1), KC_P1, KC_P2, KC_P3, KC_PENT,
|
MO(_FN1), KC_P1, KC_P2, KC_P3, KC_PENT,
|
||||||
KC_BSPC, KC_P0, KC_NO, KC_PDOT, KC_NO,
|
KC_BSPC, KC_P0, _______, KC_PDOT, _______,
|
||||||
|
|
||||||
_______, _______, _______
|
KC_F5, KC_F6, KC_F7
|
||||||
|
|
||||||
),
|
),
|
||||||
[_FN1] = LAYOUT(
|
[_FN1] = LAYOUT(
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
RGB_HUD, RGB_SPI, RGB_HUI, _______,
|
RGB_HUD, RGB_SPI, RGB_HUI, _______,
|
||||||
_______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_NO,
|
_______, RGB_RMOD, RGB_TOG, RGB_MOD, _______,
|
||||||
_______, RGB_VAD, RGB_SPD, RGB_VAI, _______,
|
_______, RGB_VAD, RGB_SPD, RGB_VAI, _______,
|
||||||
_______, RGB_SAD, KC_NO, RGB_SAI, KC_NO,
|
_______, RGB_SAD, _______, RGB_SAI, _______,
|
||||||
|
|
||||||
|
_______, _______, _______
|
||||||
|
|
||||||
|
),
|
||||||
|
[_FN2] = LAYOUT(
|
||||||
|
_______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
_______, _______, _______
|
_______, _______, _______
|
||||||
|
|
||||||
),
|
),
|
||||||
[_FN2] = LAYOUT(
|
[_FN3] = LAYOUT(
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______,
|
_______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_NO,
|
_______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, _______,
|
_______, _______, _______, _______, _______,
|
||||||
_______, _______, _______, _______, KC_NO,
|
_______, _______, _______, _______, _______,
|
||||||
|
|
||||||
|
_______, _______, _______
|
||||||
|
|
||||||
_______, _______, _______
|
)
|
||||||
|
|
||||||
),
|
|
||||||
[_FN3] = LAYOUT(
|
|
||||||
_______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, KC_NO,
|
|
||||||
_______, _______, _______, _______, _______,
|
|
||||||
_______, _______, _______, _______, KC_NO,
|
|
||||||
|
|
||||||
_______, _______, _______
|
|
||||||
|
|
||||||
)
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef ENCODER_ENABLE
|
#ifdef ENCODER_ENABLE
|
||||||
@@ -80,6 +80,13 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
|||||||
} else {
|
} else {
|
||||||
tap_code(KC_VOLD);
|
tap_code(KC_VOLD);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (clockwise) {
|
||||||
|
tap_code(KC_BRIU);
|
||||||
|
} else {
|
||||||
|
tap_code(KC_BRID);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
A DIY numpad kit with macro row, two additional keys, OLED, RGB Underglow, and encoder.
|
A DIY numpad kit with macro row, two additional keys, OLED, RGB Underglow, and encoder.
|
||||||
|
|
||||||
* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery)
|
* Keyboard Maintainer: [Kyle McCreery](https://github.com/kylemccreery)
|
||||||
* Hardware Supported: MurphPad v2.0
|
* Hardware Supported: MurphPad v3.1
|
||||||
* Hardware Availability: [MurphPad on MechWild](https://mechwild.com/product/murphpad/)
|
* Hardware Availability: [MurphPad on MechWild](https://mechwild.com/product/murphpad/)
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|||||||
@@ -1,12 +1,56 @@
|
|||||||
{
|
{
|
||||||
"keyboard_name": "Karina",
|
"keyboard_name": "Karina",
|
||||||
"url": "https://github.com/autumnisacutie/karina",
|
"url": "https://github.com/autumnisacutie/karina",
|
||||||
"maintainer": "MisonoWorks",
|
"maintainer": "MisonoWorks",
|
||||||
"width": 11,
|
"width": 11,
|
||||||
"height": 5,
|
"height": 5,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"layout": [{"x":0, "y":0}, {"x":10, "y":0}, {"label":"Q", "x":0.5, "y":1}, {"label":"W", "x":1.5, "y":1}, {"label":"E", "x":2.5, "y":1}, {"label":"R", "x":3.5, "y":1}, {"label":"T", "x":4.5, "y":1}, {"label":"Y", "x":5.5, "y":1}, {"label":"U", "x":6.5, "y":1}, {"label":"I", "x":7.5, "y":1}, {"label":"O", "x":8.5, "y":1}, {"label":"P", "x":9.5, "y":1}, {"label":"Tab", "x":0, "y":2}, {"label":"A", "x":1, "y":2}, {"label":"S", "x":2, "y":2}, {"label":"D", "x":3, "y":2}, {"label":"F", "x":4, "y":2}, {"label":"G", "x":5, "y":2}, {"label":"H", "x":6, "y":2}, {"label":"J", "x":7, "y":2}, {"label":"K", "x":8, "y":2}, {"label":"L", "x":9, "y":2}, {"label":"Enter", "x":10, "y":2}, {"label":"Shift", "x":0, "y":3, "w":1.5}, {"label":"Z", "x":1.5, "y":3}, {"label":"X", "x":2.5, "y":3}, {"label":"C", "x":3.5, "y":3}, {"label":"V", "x":4.5, "y":3}, {"label":"B", "x":5.5, "y":3}, {"label":"N", "x":6.5, "y":3}, {"label":"M", "x":7.5, "y":3}, {"label":"<", "x":8.5, "y":3}, {"label":"Shift", "x":9.5, "y":3, "w":1.5}, {"label":"Alt", "x":0, "y":4, "w":1.75}, {"x":1.75, "y":4, "w":1.25}, {"x":3, "y":4, "w":2.75}, {"x":5.75, "y":4, "w":2.25}, {"x":8, "y":4, "w":1.25}, {"label":"Control", "x":9.25, "y":4, "w":1.75}]
|
"layout": [
|
||||||
|
{"label":"Encoder 1", "x":0, "y":0},
|
||||||
|
{"label":"Encoder 2", "x":10, "y":0},
|
||||||
|
|
||||||
|
{"label":"Q", "x":0.5, "y":1},
|
||||||
|
{"label":"W", "x":1.5, "y":1},
|
||||||
|
{"label":"E", "x":2.5, "y":1},
|
||||||
|
{"label":"R", "x":3.5, "y":1},
|
||||||
|
{"label":"T", "x":4.5, "y":1},
|
||||||
|
{"label":"Y", "x":5.5, "y":1},
|
||||||
|
{"label":"U", "x":6.5, "y":1},
|
||||||
|
{"label":"I", "x":7.5, "y":1},
|
||||||
|
{"label":"O", "x":8.5, "y":1},
|
||||||
|
{"label":"P", "x":9.5, "y":1},
|
||||||
|
|
||||||
|
{"label":"Tab", "x":0, "y":2},
|
||||||
|
{"label":"A", "x":1, "y":2},
|
||||||
|
{"label":"S", "x":2, "y":2},
|
||||||
|
{"label":"D", "x":3, "y":2},
|
||||||
|
{"label":"F", "x":4, "y":2},
|
||||||
|
{"label":"G", "x":5, "y":2},
|
||||||
|
{"label":"H", "x":6, "y":2},
|
||||||
|
{"label":"J", "x":7, "y":2},
|
||||||
|
{"label":"K", "x":8, "y":2},
|
||||||
|
{"label":"L", "x":9, "y":2},
|
||||||
|
{"label":"Enter", "x":10, "y":2},
|
||||||
|
|
||||||
|
{"label":"Shift", "x":0, "y":3, "w":1.5},
|
||||||
|
{"label":"Z", "x":1.5, "y":3},
|
||||||
|
{"label":"X", "x":2.5, "y":3},
|
||||||
|
{"label":"C", "x":3.5, "y":3},
|
||||||
|
{"label":"V", "x":4.5, "y":3},
|
||||||
|
{"label":"B", "x":5.5, "y":3},
|
||||||
|
{"label":"N", "x":6.5, "y":3},
|
||||||
|
{"label":"M", "x":7.5, "y":3},
|
||||||
|
{"label":"<", "x":8.5, "y":3},
|
||||||
|
{"label":">", "x":9.5, "y":3, "w":1.5},
|
||||||
|
|
||||||
|
{"label":"Alt", "x":0, "y":4, "w":1.75},
|
||||||
|
{"label":"MO(1)", "x":1.75, "y":4, "w":1.25},
|
||||||
|
{"label":"Space", "x":3, "y":4, "w":2.75},
|
||||||
|
{"label":"Backspace", "x":5.75, "y":4, "w":2.25},
|
||||||
|
{"label":"MO(2)", "x":8, "y":4, "w":1.25},
|
||||||
|
{"label":"Control", "x":9.25, "y":4, "w":1.75}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -20,13 +20,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
|
||||||
#define LAYOUT( \
|
#define LAYOUT( \
|
||||||
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, \
|
K000, K210, \
|
||||||
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \
|
K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, \
|
||||||
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, \
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, \
|
||||||
K300, K301, K303, K306, K308, K309 \
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, \
|
||||||
|
K300, K301, K303, K306, K308, K309 \
|
||||||
) { \
|
) { \
|
||||||
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \
|
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010 }, \
|
||||||
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110 }, \
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110 }, \
|
||||||
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210 }, \
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210 }, \
|
||||||
{ K300, K301, KC_NO, K303, KC_NO, KC_NO, K306, KC_NO, K308, K309, KC_NO } \
|
{ K300, K301, KC_NO, K303, KC_NO, KC_NO, K306, KC_NO, K308, K309, KC_NO } \
|
||||||
}
|
}
|
||||||
@@ -26,22 +26,28 @@ enum layers {
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[DEFAULT] = LAYOUT(
|
[DEFAULT] = LAYOUT(
|
||||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
KC_ESC, KC_MUTE,
|
||||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_MUTE,
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||||
KC_LALT, MO(SUPER), KC_SPC, KC_BSPC, MO(META), KC_LCTL),
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,
|
||||||
|
KC_LALT, MO(SUPER), KC_SPC, KC_BSPC, MO(META), KC_LCTL
|
||||||
|
),
|
||||||
|
|
||||||
[SUPER] = LAYOUT(
|
[SUPER] = LAYOUT(
|
||||||
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
KC_TRNS, KC_TRNS,
|
||||||
KC_MINUS, KC_EQUAL, KC_GRAVE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_SCLN,
|
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||||
KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, KC_BSLS, KC_TRNS,
|
KC_MINS, KC_EQL, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_SCLN,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS),
|
KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, KC_BSLS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
[META] = LAYOUT(
|
[META] = LAYOUT(
|
||||||
KC_NUMLOCK, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
KC_NLCK, KC_TRNS,
|
||||||
KC_F11, KC_F12, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC,
|
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||||
KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_PLUS, KC_P2, KC_P0, KC_P1, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_F11, KC_F12, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC,
|
||||||
RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, KC_TRNS, RGB_MOD)
|
KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PPLS, KC_P2, KC_P0, KC_P1, KC_TRNS, KC_TRNS,
|
||||||
|
RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, KC_TRNS, RGB_MOD
|
||||||
|
)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -26,22 +26,28 @@ enum layers {
|
|||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[DEFAULT] = LAYOUT(
|
[DEFAULT] = LAYOUT(
|
||||||
KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
KC_TRNS, KC_TRNS,
|
||||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
|
||||||
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_TRNS,
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
|
||||||
KC_LALT, MO(SUPER), KC_SPC, KC_BSPC, MO(META), KC_LCTL),
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT,
|
||||||
|
KC_LALT, MO(SUPER), KC_SPC, KC_BSPC, MO(META), KC_LCTL
|
||||||
|
),
|
||||||
|
|
||||||
[SUPER] = LAYOUT(
|
[SUPER] = LAYOUT(
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
KC_ESC, KC_TRNS,
|
||||||
KC_MINUS, KC_EQUAL, KC_GRAVE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_SCLN,
|
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
|
||||||
KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, KC_BSLS, KC_TRNS,
|
KC_MINS, KC_EQL, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_SCLN,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS),
|
KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, KC_BSLS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
[META] = LAYOUT(
|
[META] = LAYOUT(
|
||||||
KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC,
|
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
|
||||||
KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_PLUS, KC_KP_2, KC_KP_0, KC_KP_1, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC,
|
||||||
RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, KC_TRNS, RGB_MOD)
|
KC_LSFT, KC_LEFT, KC_DOWN, KC_RGHT, KC_PPLS, KC_P2, KC_P0, KC_P1, KC_TRNS, KC_TRNS,
|
||||||
|
RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, KC_TRNS, RGB_MOD
|
||||||
|
)
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
35% keyboard with two rotary encoders and an LED bar.
|
35% keyboard with two rotary encoders and an LED bar.
|
||||||
|
|
||||||
* Keyboard Maintainer: [MisonoWorks](https://github.com/autumnisacutie/)
|
* Keyboard Maintainer: [MisonoWorks](https://github.com/misonoworks/)
|
||||||
* Hardware Supported: Karina V1 PCB
|
* Hardware Supported: Karina V1 PCB
|
||||||
* Hardware Availability: [P3D Store](https://p3dstore.com/)
|
* Hardware Availability: [P3D Store](https://p3dstore.com/)
|
||||||
|
|
||||||
@@ -12,4 +12,10 @@ Make example for this keyboard (after setting up your build environment):
|
|||||||
|
|
||||||
make misonoworks/karina:default
|
make misonoworks/karina:default
|
||||||
|
|
||||||
|
Flashing example for this keyboard:
|
||||||
|
|
||||||
|
make misonoworks/karina:default:flash
|
||||||
|
|
||||||
|
To reset the board into bootloader mode, hold Space+B while connecting the USB cable.
|
||||||
|
|
||||||
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).
|
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||||
@@ -20,7 +20,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0xFEED
|
#define VENDOR_ID 0x5255
|
||||||
#define PRODUCT_ID 0xD0C2
|
#define PRODUCT_ID 0xD0C2
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0001
|
||||||
#define MANUFACTURER rate
|
#define MANUFACTURER rate
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
/* Copyright 2020 rate
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "keymap_jp.h"
|
||||||
|
|
||||||
|
|
||||||
|
enum layer_names {
|
||||||
|
_QWERTY = 0,
|
||||||
|
_FN,
|
||||||
|
_NUM
|
||||||
|
};
|
||||||
|
|
||||||
|
enum custom_keycodes {
|
||||||
|
RGB_RST = SAFE_RANGE
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QWERTY] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_0, KC_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_CIRC, JP_YEN, KC_BSPC, KC_DEL,
|
||||||
|
KC_H, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, KC_HOME,
|
||||||
|
KC_U, KC_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_SCLN, JP_COLN, JP_RBRC, KC_ENT, KC_END,
|
||||||
|
KC_VOLU, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_RSFT, KC_PGUP,
|
||||||
|
KC_VOLD, KC_LCTRL, KC_LGUI, KC_LALT, KC_LALT, LT(_NUM, KC_M), KC_SPC, LT(_FN, KC_SPC), KC_MPLY, JP_KANA, KC_UP, KC_DOWN, KC_INS, KC_RCTRL, KC_PGDN
|
||||||
|
),
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
RGB_VAD, _______, _______, _______, _______, KC_UP, _______, _______, KC_HOME, KC_END, _______, KC_PGUP, _______, _______, _______,
|
||||||
|
_______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_PGDN, _______, _______, _______, _______,
|
||||||
|
RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
|
||||||
|
RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD
|
||||||
|
),
|
||||||
|
[_NUM] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PMNS, _______, _______, _______, _______,
|
||||||
|
RGB_VAD, KC_7, KC_8, KC_9, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______,
|
||||||
|
_______, KC_4, KC_5, KC_6, _______, _______, _______, KC_4, KC_5, KC_6, _______, KC_PPLS, KC_PAST, _______, _______, _______,
|
||||||
|
RGB_HUI, KC_1, KC_2, KC_3, KC_0, JP_DOT, _______, KC_1, KC_2, KC_3, _______, KC_PSLS, _______, _______, RGB_SAI,
|
||||||
|
RGB_HUD, _______, _______, _______, _______, _______, _______, KC_0, _______, JP_DOT, _______, _______, _______, _______, RGB_SAD
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case RGB_RST:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
eeconfig_update_rgblight_default();
|
||||||
|
rgblight_enable();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
/* Copyright 2020 rate
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "keymap_jp.h"
|
||||||
|
|
||||||
|
|
||||||
|
enum layer_names {
|
||||||
|
_QWERTY = 0,
|
||||||
|
_FN,
|
||||||
|
_NUM,
|
||||||
|
_RESERVE
|
||||||
|
};
|
||||||
|
|
||||||
|
enum custom_keycodes {
|
||||||
|
RGB_RST = SAFE_RANGE
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_QWERTY] = LAYOUT(
|
||||||
|
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_DEL, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
||||||
|
KC_0, KC_ZKHK, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, JP_MINS, JP_CIRC, JP_YEN, KC_BSPC, KC_DEL,
|
||||||
|
KC_H, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, JP_AT, JP_LBRC, KC_HOME,
|
||||||
|
KC_U, KC_ENT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, JP_SCLN, JP_COLN, JP_RBRC, KC_ENT, KC_END,
|
||||||
|
KC_VOLU, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_RSFT, KC_PGUP,
|
||||||
|
KC_VOLD, KC_LCTRL, KC_LGUI, KC_LALT, KC_LALT, LT(_NUM, KC_M), KC_SPC, LT(_FN, KC_SPC), KC_MPLY, JP_KANA, KC_UP, KC_DOWN, KC_INS, KC_RCTRL, KC_PGDN
|
||||||
|
),
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
RGB_VAD, _______, _______, _______, _______, KC_UP, _______, _______, KC_HOME, KC_END, _______, KC_PGUP, _______, _______, _______,
|
||||||
|
_______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_PGDN, _______, _______, _______, _______,
|
||||||
|
RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
|
||||||
|
RGB_HUD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD
|
||||||
|
),
|
||||||
|
[_NUM] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PMNS, _______, _______, _______, _______,
|
||||||
|
RGB_VAD, KC_7, KC_8, KC_9, _______, _______, _______, KC_7, KC_8, KC_9, _______, _______, _______, _______, _______,
|
||||||
|
_______, KC_4, KC_5, KC_6, _______, _______, _______, KC_4, KC_5, KC_6, _______, KC_PPLS, KC_PAST, _______, _______, _______,
|
||||||
|
RGB_HUI, KC_1, KC_2, KC_3, KC_0, JP_DOT, _______, KC_1, KC_2, KC_3, _______, KC_PSLS, _______, _______, RGB_SAI,
|
||||||
|
RGB_HUD, _______, _______, _______, _______, _______, _______, KC_0, _______, JP_DOT, _______, _______, _______, _______, RGB_SAD
|
||||||
|
),
|
||||||
|
[_RESERVE] = LAYOUT(
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case RGB_RST:
|
||||||
|
if (record->event.pressed) {
|
||||||
|
eeconfig_update_rgblight_default();
|
||||||
|
rgblight_enable();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
||||||
@@ -7,24 +7,30 @@
|
|||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"label":"Encoder", "x":3, "y":0},
|
{"label":"Encoder", "x":3, "y":0},
|
||||||
{"label":"Num Lock", "x":0, "y":1.5},
|
|
||||||
{"label":"/", "x":1, "y":1.5},
|
{"label":"Num Lock", "x":0, "y":1.5},
|
||||||
{"label":"*", "x":2, "y":1.5},
|
{"label":"/", "x":1, "y":1.5},
|
||||||
{"label":"-", "x":3, "y":1.5},
|
{"label":"*", "x":2, "y":1.5},
|
||||||
{"label":"7", "x":0, "y":2.5},
|
{"label":"-", "x":3, "y":1.5},
|
||||||
{"label":"8", "x":1, "y":2.5},
|
|
||||||
{"label":"9", "x":2, "y":2.5},
|
{"label":"7", "x":0, "y":2.5},
|
||||||
{"label":"+", "x":3, "y":2.5, "h":2},
|
{"label":"8", "x":1, "y":2.5},
|
||||||
{"label":"4", "x":0, "y":3.5},
|
{"label":"9", "x":2, "y":2.5},
|
||||||
{"label":"5", "x":1, "y":3.5},
|
|
||||||
{"label":"6", "x":2, "y":3.5},
|
{"label":"4", "x":0, "y":3.5},
|
||||||
{"label":"1", "x":0, "y":4.5},
|
{"label":"5", "x":1, "y":3.5},
|
||||||
{"label":"2", "x":1, "y":4.5},
|
{"label":"6", "x":2, "y":3.5},
|
||||||
{"label":"3", "x":2, "y":4.5},
|
{"label":"+", "x":3, "y":2.5, "h":2},
|
||||||
{"label":"Enter", "x":3, "y":4.5, "h":2},
|
|
||||||
{"label":"0", "x":0, "y":5.5, "w":2},
|
{"label":"1", "x":0, "y":4.5},
|
||||||
{"label":".", "x":2, "y":5.5}]
|
{"label":"2", "x":1, "y":4.5},
|
||||||
|
{"label":"3", "x":2, "y":4.5},
|
||||||
|
|
||||||
|
{"label":"0", "x":0, "y":5.5, "w":2},
|
||||||
|
{"label":".", "x":2, "y":5.5},
|
||||||
|
{"label":"Enter", "x":3, "y":4.5, "h":2}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
/* Copyright 2021 Mats Nilsson
|
||||||
|
*
|
||||||
|
* 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 AUDIO_ENABLE
|
||||||
|
# define STARTUP_SONG SONG(NO_SOUND)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define MIDI_BASIC
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
/* Copyright 2021 Mats Nilsson
|
||||||
|
*
|
||||||
|
* 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 "mnil.h"
|
||||||
|
|
||||||
|
layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _SYMBOLS, _NAVIGATION, _NUMPAD); }
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
|
[_COLEMAK] = LAYOUT_planck_2x2u(
|
||||||
|
KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, TD(OAA), KC_BSPC,
|
||||||
|
KC_TAB, TD(AAE), KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_NO,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, SE_MINS, KC_NO ,
|
||||||
|
KC_LCTL, KC_NO, KC_LGUI, SFT_TAB, _NAV_SPC, _SYM_ENT, CTL_BSPC,ALT_DEL, KC_NO, KC_LGUI
|
||||||
|
),
|
||||||
|
|
||||||
|
[_QWERTY] = LAYOUT_planck_2x2u(
|
||||||
|
KC_TRNS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_AA,
|
||||||
|
KC_TRNS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_OSLH, SE_AE,
|
||||||
|
KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[_SYMBOLS] = LAYOUT_planck_2x2u(
|
||||||
|
KC_TRNS, KC_NO, SE_PIPE, SE_LBRC, SE_RBRC, KC_NO, S(KC_5), SE_QUES, SE_AT, SE_EQL, SE_DLR, KC_BSPC,
|
||||||
|
KC_TRNS, SE_LCBR, SE_RCBR, SE_LPRN, SE_RPRN, KC_NO, SE_PLUS, S(KC_1), S(KC_2), S(KC_3), SE_AMPR, KC_QUOT,
|
||||||
|
KC_TRNS, M_TILD, M_CIRC, SE_LESS, SE_GRTR, KC_NO, SE_APOS, SE_SLSH, SE_BSLS, SE_ASTR, M_BTCK, KC_ENT,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[_NAVIGATION] = LAYOUT_planck_2x2u(
|
||||||
|
KC_TRNS, KC_NO, CUT, COPY, PASTE, AUTOFILL,KC_NO, KC_HOME, KC_WH_D, KC_WH_U, KC_END, KC_NO,
|
||||||
|
KC_TRNS, KC_ACL0, KC_ACL1, KC_BTN2, KC_BTN1, KC_LCTL, KC_WH_L, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_WH_R,
|
||||||
|
KC_TRNS, KC_ACL2, KC_BTN4, KC_BTN3, KC_BTN5, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_LCTL,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
[_NUMPAD] = LAYOUT_planck_2x2u(
|
||||||
|
KC_TRNS, QUIT, WIN, MVWSL, MVWSR, CRYWS, TERM, KC_7, KC_8, KC_9, KC_COMM, RESET,
|
||||||
|
KC_TRNS, CS_TAB, C_TAB, PRVWS, NXTWS, I3MOD, OPEN, KC_4, KC_5, KC_6, KC_0, KC_NO,
|
||||||
|
KC_TRNS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, MOVWS, BROWSER, KC_1, KC_2, KC_3, KC_DOT, KC_NO,
|
||||||
|
QWE_COL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
};
|
||||||
|
// clang-format on
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# mnil's planck keymap
|
||||||
|
Read my user settings [here](../../../../users/mnil/readme.md) for more details.
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
/* Copyright 2020 Peac Design and Basekeys
|
||||||
|
*
|
||||||
|
* 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 0x04D8
|
||||||
|
#define PRODUCT_ID 0xE972
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Peac Design
|
||||||
|
#define PRODUCT PLX
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 15
|
||||||
|
|
||||||
|
/* key matrix pins */
|
||||||
|
|
||||||
|
#define MATRIX_ROW_PINS { B0, B1, B2, B3, B7 }
|
||||||
|
#define MATRIX_COL_PINS { D5, D3, D2, D1, D0, D4, D6, D7, B4, B5, B6, C6, C7, F1, F0 }
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "PLX",
|
||||||
|
"url": "https://peac.design/",
|
||||||
|
"maintainer": "2Moons",
|
||||||
|
"width": 18,
|
||||||
|
"height": 7.25,
|
||||||
|
"layouts": {
|
||||||
|
"LAYOUT": {
|
||||||
|
"layout": [{"label":"Esc", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Del", "x":16, "y":0}, {"label":"Bksp", "x":17, "y":0}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Enter", "x":16.75, "y":1, "w":1.25, "h":2}, {"label":"Caps Lock", "x":0, "y":2, "w":1.25}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"#", "x":15.75, "y":2}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.25}, {"label":"Shift", "x":15.25, "y":3, "w":1.75}, {"label":"Fn", "x":17, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Ctrl", "x":13.5, "y":4, "w":1.5}, {"label":"Caps", "x":0, "y":5.25, "w":1.25}, {"label":"Shift", "x":0, "y":6.25, "w":1.25}, {"x":1.25, "y":6.25}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
/* Copyright 2020 Swiftrax and Basekeys.com
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// Defines names for use in layer keycodes and the keymap
|
||||||
|
enum layer_names {
|
||||||
|
_BASE,
|
||||||
|
_FN,
|
||||||
|
_MEDIA };
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[_BASE] = LAYOUT(
|
||||||
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
|
||||||
|
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_PGUP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
|
||||||
|
),
|
||||||
|
|
||||||
|
[_FN] = LAYOUT(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______
|
||||||
|
),
|
||||||
|
|
||||||
|
[_MEDIA] = LAYOUT(
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______
|
||||||
|
)
|
||||||
|
};
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
/* Copyright 2020 Peac Design and Basekeys
|
||||||
|
*
|
||||||
|
* 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 "plx.h"
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2020 Peac Design and Basekeys
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
#define XXX KC_NO//readabilty
|
||||||
|
|
||||||
|
/* This a shortcut to help you visually see your layout.
|
||||||
|
*
|
||||||
|
* The first section contains all of the arguments representing the physical
|
||||||
|
* layout of the board and position of the keys.
|
||||||
|
*
|
||||||
|
* The second converts the arguments into a two-dimensional array which
|
||||||
|
* represents the switch matrix.
|
||||||
|
*/
|
||||||
|
#define LAYOUT( \
|
||||||
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, \
|
||||||
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, \
|
||||||
|
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, k3D, \
|
||||||
|
k40, k41, k42, k46, k4B, k4C, k4D \
|
||||||
|
) \
|
||||||
|
{ \
|
||||||
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E}, \
|
||||||
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D}, \
|
||||||
|
{ 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, k3D}, \
|
||||||
|
{ k40, k41, k42, XXX, XXX, XXX, k46, XXX, XXX, XXX, XXX, k4B, k4C, k4D} \
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# PLX
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
An 60% gasket mounted board with a Tsangan layout and a 7 degree typing angle.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [2Moons](https://github.com/2Moons-JP)
|
||||||
|
* Hardware Supported: PLX PCB, ATMEGA32U4-AU
|
||||||
|
* Hardware Availability: [Website](https://peac.design)
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make plx:default
|
||||||
|
|
||||||
|
To flash firmware onto this board, you'll need to bring the PCB into bootloader mode. To enter bootloader mode, press the reset button on the back of the PCB once. The reset button is located in the bottom near the space bar.
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
[Build guide](https://peac.design/build-guide)
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
# MCU name
|
||||||
|
MCU = atmega32u4
|
||||||
|
|
||||||
|
# Bootloader selection
|
||||||
|
BOOTLOADER = atmel-dfu
|
||||||
|
|
||||||
|
# Build Options
|
||||||
|
# change yes to no to disable
|
||||||
|
#
|
||||||
|
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
|
||||||
|
MOUSEKEY_ENABLE = no # Mouse keys
|
||||||
|
EXTRAKEY_ENABLE = no # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
||||||
@@ -212,6 +212,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
backlight_step();
|
backlight_step();
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef RGBLIGHT_ENABLE
|
||||||
|
rgblight_step();
|
||||||
|
#endif
|
||||||
#ifdef __AVR__
|
#ifdef __AVR__
|
||||||
writePinLow(E6);
|
writePinLow(E6);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -5,6 +5,63 @@
|
|||||||
"width": 14,
|
"width": 14,
|
||||||
"height": 4,
|
"height": 4,
|
||||||
"layouts": {
|
"layouts": {
|
||||||
|
"LAYOUT_all": {
|
||||||
|
"layout": [
|
||||||
|
{"label":"Esc", "x":0, "y":0},
|
||||||
|
{"label":"Q", "x":1.5, "y":0},
|
||||||
|
{"label":"W", "x":2.5, "y":0},
|
||||||
|
{"label":"E", "x":3.5, "y":0},
|
||||||
|
{"label":"R", "x":4.5, "y":0},
|
||||||
|
{"label":"T", "x":5.5, "y":0},
|
||||||
|
{"label":"Y", "x":6.5, "y":0},
|
||||||
|
{"label":"U", "x":7.5, "y":0},
|
||||||
|
{"label":"I", "x":8.5, "y":0},
|
||||||
|
{"label":"O", "x":9.5, "y":0},
|
||||||
|
{"label":"P", "x":10.5, "y":0},
|
||||||
|
{"label":"-", "x":11.5, "y":0},
|
||||||
|
{"label":"Backspace", "x":12.5, "y":0, "w":1.5},
|
||||||
|
|
||||||
|
{"label":"Ctrl", "x":0, "y":1, "w":1.75},
|
||||||
|
{"label":"A", "x":1.75, "y":1},
|
||||||
|
{"label":"S", "x":2.75, "y":1},
|
||||||
|
{"label":"D", "x":3.75, "y":1},
|
||||||
|
{"label":"F", "x":4.75, "y":1},
|
||||||
|
{"label":"G", "x":5.75, "y":1},
|
||||||
|
{"label":"H", "x":6.75, "y":1},
|
||||||
|
{"label":"J", "x":7.75, "y":1},
|
||||||
|
{"label":"K", "x":8.75, "y":1},
|
||||||
|
{"label":"L", "x":9.75, "y":1},
|
||||||
|
{"label":";", "x":10.75, "y":1},
|
||||||
|
{"label":"'", "x":11.75, "y":1},
|
||||||
|
{"label":"Enter", "x":12.75, "y":1, "w":1.25},
|
||||||
|
|
||||||
|
{"label":"Shift", "x":0, "y":2, "w":1.25},
|
||||||
|
{"label":"\\", "x":1.25, "y":2},
|
||||||
|
{"label":"Z", "x":2.25, "y":2},
|
||||||
|
{"label":"X", "x":3.25, "y":2},
|
||||||
|
{"label":"C", "x":4.25, "y":2},
|
||||||
|
{"label":"V", "x":5.25, "y":2},
|
||||||
|
{"label":"B", "x":6.25, "y":2},
|
||||||
|
{"label":"N", "x":7.25, "y":2},
|
||||||
|
{"label":"M", "x":8.25, "y":2},
|
||||||
|
{"label":",", "x":9.25, "y":2},
|
||||||
|
{"label":".", "x":10.25, "y":2},
|
||||||
|
{"label":"/", "x":11.25, "y":2},
|
||||||
|
{"label":"Shift", "x":12.25, "y":2, "w":1.75},
|
||||||
|
|
||||||
|
{"label":"Ctrl", "x":0, "y":3, "w":1.25},
|
||||||
|
{"label":"GUI", "x":1.25, "y":3, "w":1.25},
|
||||||
|
{"label":"Alt", "x":2.5, "y":3, "w":1.25},
|
||||||
|
{"label":"Fn1 (2.25u)", "x":3.75, "y":3, "w":1.75},
|
||||||
|
{"label":"6.25u Space", "x":5.5, "y":3, "w":1.5},
|
||||||
|
{"label":"Space (2.75u)", "x":7, "y":3, "w":1.75},
|
||||||
|
{"label":"Alt (1.25u)", "x":8.75, "y":3, "w":1.25},
|
||||||
|
{"label":"Left", "x":10, "y":3},
|
||||||
|
{"label":"Down", "x":11, "y":3},
|
||||||
|
{"label":"Up", "x":12, "y":3},
|
||||||
|
{"label":"Right", "x":13, "y":3}
|
||||||
|
]
|
||||||
|
},
|
||||||
"LAYOUT_ansi_47key": {
|
"LAYOUT_ansi_47key": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{"label":"Esc", "x":0, "y":0},
|
{"label":"Esc", "x":0, "y":0},
|
||||||
|
|||||||
Loaded 100 of 164 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user