Merge remote-tracking branch 'upstream/master' into develop
This commit is contained in:
commit
e3030bff5e
@ -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,17 +86,21 @@ 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`
|
||||||
|
|
||||||
## Post-merge operations
|
## Post-merge operations
|
||||||
|
|
||||||
* (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md)
|
* (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md)
|
||||||
|
@ -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!
|
||||||
|
```
|
||||||
|
|
||||||
## あなたのキーボード/プロジェクトの名前を決める
|
## あなたのキーボード/プロジェクトの名前を決める
|
||||||
|
|
||||||
キーボードの名前は全て小文字で、アルファベット、数字、アンダースコア(`_`)のみで構成されています。アンダースコア(`_`)で始めてはいけません。スラッシュ(`/`)はサブフォルダの区切り文字として使用されます。
|
キーボードの名前は全て小文字で、アルファベット、数字、アンダースコア(`_`)のみで構成されています。アンダースコア(`_`)で始めてはいけません。スラッシュ(`/`)はサブフォルダの区切り文字として使用されます。
|
||||||
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## キー別の関数にキーレコードを含めるのはなぜですか?
|
## キー別の関数にキーレコードを含めるのはなぜですか?
|
||||||
|
|
||||||
「キー別」の関数全てにキーレコードを含んでいることに気付いたかもしれません。そしてなぜそうしたのか不思議に思っているかもしれません。
|
「キー別」の関数全てにキーレコードを含んでいることに気付いたかもしれません。そしてなぜそうしたのか不思議に思っているかもしれません。
|
||||||
|
@ -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 <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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 <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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 <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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 <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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 */
|
||||||
|
16
keyboards/dztech/dz65rgb/v1/readme.md
Normal file
16
keyboards/dztech/dz65rgb/v1/readme.md
Normal file
@ -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).
|
||||||
|
|
123
keyboards/dztech/dz65rgb/v1/v1.c
Normal file
123
keyboards/dztech/dz65rgb/v1/v1.c
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
/* Copyright 2019 DZTECH <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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
|
34
keyboards/dztech/dz65rgb/v1/v1.h
Normal file
34
keyboards/dztech/dz65rgb/v1/v1.h
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/* Copyright 2019 DZTECH <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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 <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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 */
|
||||||
|
16
keyboards/dztech/dz65rgb/v2/readme.md
Normal file
16
keyboards/dztech/dz65rgb/v2/readme.md
Normal file
@ -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).
|
||||||
|
|
123
keyboards/dztech/dz65rgb/v2/v2.c
Normal file
123
keyboards/dztech/dz65rgb/v2/v2.c
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
/* Copyright 2020 DZTECH <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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
|
34
keyboards/dztech/dz65rgb/v2/v2.h
Normal file
34
keyboards/dztech/dz65rgb/v2/v2.h
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/* Copyright 2020 DZTECH <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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 } \
|
||||||
|
}
|
57
keyboards/dztech/dz65rgb/v3/config.h
Executable file
57
keyboards/dztech/dz65rgb/v3/config.h
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
/* Copyright 2021 DZTECH <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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
|
19
keyboards/dztech/dz65rgb/v3/readme.md
Normal file
19
keyboards/dztech/dz65rgb/v3/readme.md
Normal file
@ -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).
|
24
keyboards/dztech/dz65rgb/v3/rules.mk
Executable file
24
keyboards/dztech/dz65rgb/v3/rules.mk
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
# 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
|
125
keyboards/dztech/dz65rgb/v3/v3.c
Executable file
125
keyboards/dztech/dz65rgb/v3/v3.c
Executable file
@ -0,0 +1,125 @@
|
|||||||
|
/* Copyright 2021 DZTECH <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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
|
35
keyboards/dztech/dz65rgb/v3/v3.h
Executable file
35
keyboards/dztech/dz65rgb/v3/v3.h
Executable file
@ -0,0 +1,35 @@
|
|||||||
|
/* Copyright 2021 DZTECH <moyi4681@live.cn>
|
||||||
|
*
|
||||||
|
* 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 } \
|
||||||
|
}
|
@ -50,7 +50,7 @@ COLS = number of cols per side which curently needs to be equal so there are bla
|
|||||||
#define MATRIX_ROW_PINS_RIGHT { F6, F7, B1, B3, B2, B6 }
|
#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 }
|
#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.
|
/* 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
|
#define SPLIT_HAND_PIN D1
|
||||||
|
|
||||||
/* COL2ROW, ROW2COL */
|
/* COL2ROW, ROW2COL */
|
||||||
|
29
keyboards/keebio/iris/keymaps/mnil/config.h
Normal file
29
keyboards/keebio/iris/keymaps/mnil/config.h
Normal file
@ -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
|
94
keyboards/keebio/iris/keymaps/mnil/keymap.c
Normal file
94
keyboards/keebio/iris/keymaps/mnil/keymap.c
Normal file
@ -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
|
2
keyboards/keebio/iris/keymaps/mnil/readme.md
Normal file
2
keyboards/keebio/iris/keymaps/mnil/readme.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# mnil's iris keymap
|
||||||
|
Read my user settings [here](../../../../../users/mnil/readme.md) for more details.
|
1
keyboards/keebio/iris/keymaps/mnil/rules.mk
Normal file
1
keyboards/keebio/iris/keymaps/mnil/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
RGBLIGHT_ENABLE = yes
|
@ -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):
|
||||||
|
@ -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
|
||||||
|
69
keyboards/pistachio/keymaps/rate/keymap.c
Normal file
69
keyboards/pistachio/keymaps/rate/keymap.c
Normal file
@ -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;
|
||||||
|
}
|
78
keyboards/pistachio/keymaps/via/keymap.c
Normal file
78
keyboards/pistachio/keymaps/via/keymap.c
Normal file
@ -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;
|
||||||
|
}
|
1
keyboards/pistachio/keymaps/via/rules.mk
Normal file
1
keyboards/pistachio/keymaps/via/rules.mk
Normal file
@ -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}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
23
keyboards/planck/keymaps/mnil/config.h
Normal file
23
keyboards/planck/keymaps/mnil/config.h
Normal file
@ -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
|
60
keyboards/planck/keymaps/mnil/keymap.c
Normal file
60
keyboards/planck/keymaps/mnil/keymap.c
Normal file
@ -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
|
2
keyboards/planck/keymaps/mnil/readme.md
Normal file
2
keyboards/planck/keymaps/mnil/readme.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# mnil's planck keymap
|
||||||
|
Read my user settings [here](../../../../users/mnil/readme.md) for more details.
|
87
keyboards/switchplate/switchplate910/config.h
Normal file
87
keyboards/switchplate/switchplate910/config.h
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021 Stefan Karsch
|
||||||
|
|
||||||
|
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 0x54F3
|
||||||
|
#define PRODUCT_ID 0x2065
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Switchplate Peripherals
|
||||||
|
#define PRODUCT 910
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 5
|
||||||
|
#define MATRIX_COLS 15
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Keyboard Matrix Assignments
|
||||||
|
*
|
||||||
|
* Change this to how you wired your keyboard
|
||||||
|
* COLS: AVR pins used for columns, left to right
|
||||||
|
* ROWS: AVR pins used for rows, top to bottom
|
||||||
|
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
|
||||||
|
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define MATRIX_ROW_PINS { F4, F5, F6, F7, D1 }
|
||||||
|
#define MATRIX_COL_PINS { D2, D3, D5, D4, D6, D7, B4, B5, B6, C6, C7, B3, B2, B0, B1 }
|
||||||
|
#define UNUSED_PINS
|
||||||
|
|
||||||
|
/* COL2ROW, ROW2COL*/
|
||||||
|
#define DIODE_DIRECTION COL2ROW
|
||||||
|
|
||||||
|
#define BACKLIGHT_PIN B7
|
||||||
|
// #define BACKLIGHT_BREATHING
|
||||||
|
#define BACKLIGHT_LEVELS 3
|
||||||
|
|
||||||
|
/* 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
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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
|
297
keyboards/switchplate/switchplate910/info.json
Normal file
297
keyboards/switchplate/switchplate910/info.json
Normal file
@ -0,0 +1,297 @@
|
|||||||
|
{
|
||||||
|
"keyboard_name": "southpaw910",
|
||||||
|
"url": "",
|
||||||
|
"maintainer": "MxBluE",
|
||||||
|
"width": 22.5,
|
||||||
|
"height": 6.25,
|
||||||
|
"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
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 11.25,
|
||||||
|
"y": 4,
|
||||||
|
"w": 1.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 13,
|
||||||
|
"y": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 14,
|
||||||
|
"y": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"x": 15,
|
||||||
|
"y": 4
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
/* Copyright 2021 Stefan Karsch
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// Defines names for use in layer keycodes and the keymap
|
||||||
|
enum layer_names {
|
||||||
|
_BASE,
|
||||||
|
_FN
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
LAYOUT_all( /* Base */
|
||||||
|
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_TRNS,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||||
|
KC_CAPSLOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
LAYOUT_all( /* L1 */
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI,
|
||||||
|
RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, RGB_SAI, RGB_TOG,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI
|
||||||
|
),
|
||||||
|
};
|
@ -0,0 +1,3 @@
|
|||||||
|
# The default keymap for Switchplate910
|
||||||
|
|
||||||
|
Nothing special
|
57
keyboards/switchplate/switchplate910/keymaps/via/keymap.c
Normal file
57
keyboards/switchplate/switchplate910/keymaps/via/keymap.c
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
/* Copyright 2021 Stefan Karsch
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
// Defines names for use in layer keycodes and the keymap
|
||||||
|
enum layer_names {
|
||||||
|
_BASE,
|
||||||
|
_FN
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
LAYOUT_all( /* Base */
|
||||||
|
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_TRNS,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
|
||||||
|
KC_CAPSLOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
|
||||||
|
),
|
||||||
|
|
||||||
|
LAYOUT_all( /* L1 */
|
||||||
|
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI,
|
||||||
|
RESET, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_VOLD, KC_VOLU, KC_TRNS, RGB_MOD, RGB_SAI, RGB_TOG,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_HUI
|
||||||
|
),
|
||||||
|
|
||||||
|
LAYOUT_all( /* L2 */
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
),
|
||||||
|
|
||||||
|
LAYOUT_all( /* L3 */
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
)
|
||||||
|
|
||||||
|
};
|
13
keyboards/switchplate/switchplate910/readme.md
Normal file
13
keyboards/switchplate/switchplate910/readme.md
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# Switchplate910
|
||||||
|
|
||||||
|
Acoustic cut PCB for the TGR 910
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Switchplate Peripherals](https://switchplate.co/)/[ai03](https://github.com/ai03-2725)
|
||||||
|
* Hardware Supported: Switchplate910 PCB
|
||||||
|
* Hardware Availability: GB
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make switchplate/switchplate910: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).
|
22
keyboards/switchplate/switchplate910/rules.mk
Normal file
22
keyboards/switchplate/switchplate910/rules.mk
Normal file
@ -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 = yes # Audio control and System control
|
||||||
|
CONSOLE_ENABLE = no # Console for debug
|
||||||
|
COMMAND_ENABLE = no # Commands for debug and configuration
|
||||||
|
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
||||||
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
|
NKRO_ENABLE = no # USB Nkey Rollover
|
||||||
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
|
AUDIO_ENABLE = no # Audio output
|
@ -1,4 +1,4 @@
|
|||||||
/* Copyright 2021 Harrison Chan (Xelus)
|
/* Copyright 2021 Stefan Karsch
|
||||||
*
|
*
|
||||||
* 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
|
||||||
@ -14,5 +14,5 @@
|
|||||||
* 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 "pachi.h"
|
#include "switchplate910.h"
|
||||||
|
|
43
keyboards/switchplate/switchplate910/switchplate910.h
Normal file
43
keyboards/switchplate/switchplate910/switchplate910.h
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/* Copyright 2021 Stefan Karsch
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "quantum.h"
|
||||||
|
|
||||||
|
/* This is a shortcut to help you visually see your layout.
|
||||||
|
*
|
||||||
|
* The first section contains all of the arguments representing the physical
|
||||||
|
* layout of the board and position of the keys.
|
||||||
|
*
|
||||||
|
* The second converts the arguments into a two-dimensional array which
|
||||||
|
* represents the switch matrix.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LAYOUT_all( \
|
||||||
|
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K213, \
|
||||||
|
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, K311, K312, K314, \
|
||||||
|
K400, K401, K402, K405, K408, K409, K411, K412, 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, K311, K312, KC_NO, K314 }, \
|
||||||
|
{ K400, K401, K402, KC_NO, KC_NO, K405, KC_NO, KC_NO, K408, K409, KC_NO, K411, K412, KC_NO, K414 } \
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Copyright 2012 Jun Wako <wakojun@gmail.com>
|
Copyright 2021
|
||||||
|
|
||||||
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
|
||||||
@ -15,31 +15,44 @@ 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/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_H
|
#pragma once
|
||||||
#define CONFIG_H
|
|
||||||
|
|
||||||
#include "config_common.h"
|
#include "config_common.h"
|
||||||
|
|
||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0xFEED
|
||||||
#define VENDOR_ID 0xFEED
|
#define PRODUCT_ID 0x6060
|
||||||
#define PRODUCT_ID 0x6060
|
#define DEVICE_VER 0x0001
|
||||||
#define DEVICE_VER 0x0001
|
#define MANUFACTURER unknown
|
||||||
#define MANUFACTURER unknown
|
#define PRODUCT Telophase
|
||||||
#define PRODUCT Telophase
|
|
||||||
|
|
||||||
/* key matrix size */
|
/* key matrix size */
|
||||||
#define MATRIX_ROWS 4
|
#define MATRIX_ROWS 4
|
||||||
#define MATRIX_COLS 12
|
#define MATRIX_COLS 12
|
||||||
|
|
||||||
/* define if matrix has ghost */
|
|
||||||
//#define MATRIX_HAS_GHOST
|
|
||||||
|
|
||||||
/* number of backlight levels */
|
|
||||||
//#define BACKLIGHT_LEVELS 3
|
|
||||||
|
|
||||||
#define ONESHOT_TIMEOUT 500
|
#define ONESHOT_TIMEOUT 500
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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
|
* Feature disable options
|
||||||
* These options are also useful to firmware size reduction.
|
* These options are also useful to firmware size reduction.
|
||||||
@ -55,10 +68,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
//#define NO_ACTION_LAYER
|
//#define NO_ACTION_LAYER
|
||||||
//#define NO_ACTION_TAPPING
|
//#define NO_ACTION_TAPPING
|
||||||
//#define NO_ACTION_ONESHOT
|
//#define NO_ACTION_ONESHOT
|
||||||
//#define NO_ACTION_MACRO
|
|
||||||
//#define NO_ACTION_FUNCTION
|
|
||||||
|
|
||||||
//UART settings for communication with the RF microcontroller
|
/* disable these deprecated features by default */
|
||||||
|
#define NO_ACTION_MACRO
|
||||||
|
#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
|
// UART settings for communication with the RF microcontroller
|
||||||
#define SERIAL_UART_BAUD 1000000
|
#define SERIAL_UART_BAUD 1000000
|
||||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||||
#define SERIAL_UART_INIT_CUSTOM \
|
#define SERIAL_UART_INIT_CUSTOM \
|
||||||
@ -66,5 +81,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||||
/* 8-bit data */ \
|
/* 8-bit data */ \
|
||||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@ -1,99 +1,55 @@
|
|||||||
// this is the style you want to emulate.
|
/*
|
||||||
// This is the canonical layout file for the Quantum project. If you want to add another keyboard,
|
Copyright 2021
|
||||||
|
|
||||||
|
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 QMK_KEYBOARD_H
|
||||||
|
|
||||||
// Each layer gets a name for readability, which is then used in the keymap matrix below.
|
enum layer_names {
|
||||||
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
|
_QWERTY,
|
||||||
// Layer names don't all need to be of the same length, obviously, and you can also skip them
|
_LOWER,
|
||||||
// entirely and just use numbers.
|
_RAISE,
|
||||||
enum telophase_layers
|
_ADJUST
|
||||||
{
|
|
||||||
_QWERTY,
|
|
||||||
_LOWER,
|
|
||||||
_RAISE,
|
|
||||||
_ADJUST,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum telophase_keycodes
|
|
||||||
{
|
|
||||||
LOWER = SAFE_RANGE,
|
|
||||||
RAISE,
|
|
||||||
ADJUST
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define LONGPRESS_DELAY 150
|
#define LONGPRESS_DELAY 150
|
||||||
#define LAYER_TOGGLE_DELAY 300
|
#define LAYER_TOGGLE_DELAY 300
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
[_QWERTY] = { /*QWERTY*/
|
[_QWERTY] = LAYOUT_ortho_4x12(
|
||||||
{KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC },
|
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
||||||
{KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT },
|
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
||||||
{KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT },
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
|
||||||
{KC_LCTL, KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT }
|
KC_LCTL, KC_LGUI, KC_LALT, MO(_ADJUST), MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
|
||||||
},
|
),
|
||||||
|
[_LOWER] = LAYOUT_ortho_4x12(
|
||||||
|
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
|
||||||
[_LOWER] = { /*Lower*/
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
|
||||||
{KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL },
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), _______, _______, _______,
|
||||||
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE },
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
{_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______ },
|
),
|
||||||
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY }
|
[_RAISE] = LAYOUT_ortho_4x12(
|
||||||
},
|
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
|
||||||
|
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
|
||||||
|
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
|
||||||
[_RAISE] = { /*Raise*/
|
),
|
||||||
{KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL },
|
[_ADJUST] = LAYOUT_ortho_4x12(
|
||||||
{KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS },
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
{_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______ },
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
{_______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY }
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
|
||||||
|
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
|
||||||
},
|
)
|
||||||
|
|
||||||
|
|
||||||
[_ADJUST] = { /*Adjust*/
|
|
||||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
|
||||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
|
||||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ },
|
|
||||||
{_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ }
|
|
||||||
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
||||||
switch (keycode) {
|
|
||||||
case LOWER:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_LOWER);
|
|
||||||
} else {
|
|
||||||
layer_off(_LOWER);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case RAISE:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_RAISE);
|
|
||||||
} else {
|
|
||||||
layer_off(_RAISE);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ADJUST:
|
|
||||||
if (record->event.pressed) {
|
|
||||||
layer_on(_ADJUST);
|
|
||||||
} else {
|
|
||||||
layer_off(_ADJUST);
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
return;
|
|
||||||
};
|
};
|
||||||
|
@ -15,86 +15,18 @@ GNU General Public License for more details.
|
|||||||
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 <stdint.h>
|
|
||||||
#include <stdbool.h>
|
#include "quantum.h"
|
||||||
#if defined(__AVR__)
|
|
||||||
#include <avr/io.h>
|
|
||||||
#endif
|
|
||||||
#include "wait.h"
|
|
||||||
#include "print.h"
|
|
||||||
#include "debug.h"
|
|
||||||
#include "util.h"
|
|
||||||
#include "matrix.h"
|
#include "matrix.h"
|
||||||
#include "timer.h"
|
|
||||||
#include "protocol/serial.h"
|
#include "protocol/serial.h"
|
||||||
|
|
||||||
#if (MATRIX_COLS <= 8)
|
void matrix_init_custom(void) {
|
||||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse8(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint8_t)1)
|
|
||||||
#elif (MATRIX_COLS <= 16)
|
|
||||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse16(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop16(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint16_t)1)
|
|
||||||
#elif (MATRIX_COLS <= 32)
|
|
||||||
# define print_matrix_header() print("\nr/c 0123456789ABCDEF0123456789ABCDEF\n")
|
|
||||||
# define print_matrix_row(row) print_bin_reverse32(matrix_get_row(row))
|
|
||||||
# define matrix_bitpop(i) bitpop32(matrix[i])
|
|
||||||
# define ROW_SHIFTER ((uint32_t)1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* matrix state(1:on, 0:off) */
|
|
||||||
static matrix_row_t matrix[MATRIX_ROWS];
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_init_quantum(void) {
|
|
||||||
matrix_init_kb();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_quantum(void) {
|
|
||||||
matrix_scan_kb();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_init_kb(void) {
|
|
||||||
matrix_init_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_kb(void) {
|
|
||||||
matrix_scan_user();
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_init_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
__attribute__ ((weak))
|
|
||||||
void matrix_scan_user(void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
uint8_t matrix_rows(void) {
|
|
||||||
return MATRIX_ROWS;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
uint8_t matrix_cols(void) {
|
|
||||||
return MATRIX_COLS;
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_init(void) {
|
|
||||||
|
|
||||||
matrix_init_quantum();
|
|
||||||
serial_init();
|
serial_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t matrix_scan(void)
|
bool matrix_scan_custom(matrix_row_t current_matrix[]) {
|
||||||
{
|
|
||||||
uint32_t timeout = 0;
|
uint32_t timeout = 0;
|
||||||
|
bool changed = false;
|
||||||
|
|
||||||
//the s character requests the RF slave to send the matrix
|
//the s character requests the RF slave to send the matrix
|
||||||
SERIAL_UART_DATA = 's';
|
SERIAL_UART_DATA = 's';
|
||||||
@ -107,9 +39,9 @@ uint8_t matrix_scan(void)
|
|||||||
//wait for the serial data, timeout if it's been too long
|
//wait for the serial data, timeout if it's been too long
|
||||||
//this only happened in testing with a loose wire, but does no
|
//this only happened in testing with a loose wire, but does no
|
||||||
//harm to leave it in here
|
//harm to leave it in here
|
||||||
while(!SERIAL_UART_RXD_PRESENT){
|
while (!SERIAL_UART_RXD_PRESENT) {
|
||||||
timeout++;
|
timeout++;
|
||||||
if (timeout > 10000){
|
if (timeout > 10000) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -118,47 +50,16 @@ uint8_t matrix_scan(void)
|
|||||||
|
|
||||||
//check for the end packet, the key state bytes use the LSBs, so 0xE0
|
//check for the end packet, the key state bytes use the LSBs, so 0xE0
|
||||||
//will only show up here if the correct bytes were recieved
|
//will only show up here if the correct bytes were recieved
|
||||||
if (uart_data[11] == 0xE0)
|
if (uart_data[11] == 0xE0) {
|
||||||
{
|
|
||||||
//shifting and transferring the keystates to the QMK matrix variable
|
//shifting and transferring the keystates to the QMK matrix variable
|
||||||
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
|
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
|
||||||
matrix[i] = (uint16_t) uart_data[i*2] | (uint16_t) uart_data[i*2+1] << 6;
|
matrix_row_t current_row = (uint16_t) uart_data[i * 2] | (uint16_t) uart_data[i * 2 + 1] << 6;
|
||||||
|
if (current_matrix[i] != current_row) {
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
|
current_matrix[i] = current_row;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return changed;
|
||||||
matrix_scan_quantum();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
bool matrix_is_on(uint8_t row, uint8_t col)
|
|
||||||
{
|
|
||||||
return (matrix[row] & ((matrix_row_t)1<<col));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline
|
|
||||||
matrix_row_t matrix_get_row(uint8_t row)
|
|
||||||
{
|
|
||||||
return matrix[row];
|
|
||||||
}
|
|
||||||
|
|
||||||
void matrix_print(void)
|
|
||||||
{
|
|
||||||
print_matrix_header();
|
|
||||||
|
|
||||||
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
|
|
||||||
print_hex8(row); print(": ");
|
|
||||||
print_matrix_row(row);
|
|
||||||
print("\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t matrix_key_count(void)
|
|
||||||
{
|
|
||||||
uint8_t count = 0;
|
|
||||||
for (uint8_t i = 0; i < MATRIX_ROWS; i++) {
|
|
||||||
count += matrix_bitpop(i);
|
|
||||||
}
|
|
||||||
return count;
|
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,13 @@
|
|||||||
Telophase
|
# Telophase
|
||||||
=========
|
|
||||||
|
|
||||||
A wireless split compact keyboard.
|
A wireless split compact keyboard.
|
||||||
|
|
||||||
Hardware Supported: Telophase PCB
|
This keyboard uses a completely different 'matrix scan' system to other keyboards, it relies on an external nRF51822 microcontroller maintaining a matrix of keystates received from the keyboard halves. The matrix.c file contains the code to poll the external microcontroller for the key matrix. As long as this file is not changed, all other QMK features are supported.
|
||||||
|
|
||||||
|
* Hardware Supported: Telophase PCB
|
||||||
|
|
||||||
Make example for this keyboard (after setting up your build environment):
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
make telophase:default
|
make telophase:default
|
||||||
|
|
||||||
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.
|
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).
|
||||||
|
|
||||||
## Mitosis Notes
|
|
||||||
|
|
||||||
These configuration files were based off the Atreus keyboard. It assumes a Pro Micro is being used, however retains the 'make upload' feature from the Atreus branch. This keyboard uses a completely different 'matrix scan' system to other keyboards, it relies on an external nRF51822 microcontroller maintaining a matrix of keystates received from the keyboard halves. The matrix.c file contains the code to poll the external microcontroller for the key matrix. As long as this file is not changed, all other QMK features are supported.
|
|
||||||
|
@ -2,34 +2,27 @@
|
|||||||
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 = caterina
|
BOOTLOADER = caterina
|
||||||
|
|
||||||
# Build Options
|
# Build Options
|
||||||
# comment out to disable the options.
|
# change yes to no to disable
|
||||||
#
|
#
|
||||||
#BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
|
BOOTMAGIC_ENABLE = no # 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 = yes # Console for debug
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
CUSTOM_MATRIX = yes # Remote matrix from the wireless bridge
|
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
|
||||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
|
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
|
||||||
# SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
|
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||||
NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
||||||
# BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
|
||||||
# MIDI_ENABLE = YES # MIDI controls
|
BLUETOOTH_ENABLE = no # Enable Bluetooth
|
||||||
UNICODE_ENABLE = YES # Unicode
|
AUDIO_ENABLE = no # Audio output
|
||||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
CUSTOM_MATRIX = lite
|
||||||
|
|
||||||
# # project specific files
|
# project specific files
|
||||||
SRC = matrix.c serial_uart.c
|
SRC += matrix.c serial_uart.c
|
||||||
|
|
||||||
# Disable unsupported hardware
|
# Disable unsupported hardware
|
||||||
RGBLIGHT_SUPPORTED = no
|
RGBLIGHT_SUPPORTED = no
|
||||||
|
@ -1,26 +1,44 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2021
|
||||||
|
|
||||||
|
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 "telophase.h"
|
#include "telophase.h"
|
||||||
|
|
||||||
void led_init(void) {
|
void led_init(void) {
|
||||||
DDRD |= (1<<1);
|
setPinOutput(D1);
|
||||||
PORTD |= (1<<1);
|
setPinOutput(F4);
|
||||||
DDRF |= (1<<4) | (1<<5);
|
setPinOutput(F5);
|
||||||
PORTF |= (1<<4) | (1<<5);
|
writePinHigh(D1);
|
||||||
|
writePinHigh(F4);
|
||||||
|
writePinHigh(F5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void matrix_init_kb(void) {
|
void matrix_init_kb(void) {
|
||||||
// put your keyboard start-up code here
|
// put your keyboard start-up code here
|
||||||
// runs once when the firmware starts up
|
// runs once when the firmware starts up
|
||||||
matrix_init_user();
|
matrix_init_user();
|
||||||
led_init();
|
led_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SWAP_HANDS_ENABLE
|
#ifdef SWAP_HANDS_ENABLE
|
||||||
__attribute__ ((weak))
|
__attribute__ ((weak))
|
||||||
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
{{12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
|
{{12, 0}, {11, 0}, {10, 0}, {9, 0}, {8, 0}, {7, 0}, {6, 0}, {5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
|
||||||
{{12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
|
{{12, 1}, {11, 1}, {10, 1}, {9, 1}, {8, 1}, {7, 1}, {6, 1}, {5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
|
||||||
{{12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
|
{{12, 2}, {11, 2}, {10, 2}, {9, 2}, {8, 2}, {7, 2}, {6, 2}, {5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},
|
||||||
{{12, 3}, {11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
|
{{12, 3}, {11, 3}, {10, 3}, {9, 3}, {8, 3}, {7, 3}, {6, 3}, {5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,14 +1,30 @@
|
|||||||
#ifndef TELOPHASE_H
|
/*
|
||||||
#define TELOPHASE_H
|
Copyright 2021
|
||||||
|
|
||||||
|
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"
|
#include "quantum.h"
|
||||||
|
|
||||||
#define red_led_off PORTF |= (1<<5)
|
#define red_led_off writePinHigh(F5)
|
||||||
#define red_led_on PORTF &= ~(1<<5)
|
#define red_led_on writePinLow(F5)
|
||||||
#define blu_led_off PORTF |= (1<<4)
|
#define blu_led_off writePinHigh(F4)
|
||||||
#define blu_led_on PORTF &= ~(1<<4)
|
#define blu_led_on writePinLow(F4)
|
||||||
#define grn_led_off PORTD |= (1<<1)
|
#define grn_led_off writePinHigh(D1)
|
||||||
#define grn_led_on PORTD &= ~(1<<1)
|
#define grn_led_on writePinLow(D1)
|
||||||
|
|
||||||
#define set_led_off red_led_off; grn_led_off; blu_led_off
|
#define set_led_off red_led_off; grn_led_off; blu_led_off
|
||||||
#define set_led_red red_led_on; grn_led_off; blu_led_off
|
#define set_led_red red_led_on; grn_led_off; blu_led_off
|
||||||
@ -19,46 +35,19 @@
|
|||||||
#define set_led_cyan red_led_off; grn_led_on; blu_led_on
|
#define set_led_cyan red_led_off; grn_led_on; blu_led_on
|
||||||
#define set_led_white red_led_on; grn_led_on; blu_led_on
|
#define set_led_white red_led_on; grn_led_on; blu_led_on
|
||||||
|
|
||||||
/*
|
|
||||||
#define LED_B 5
|
|
||||||
#define LED_R 6
|
|
||||||
#define LED_G 7
|
|
||||||
|
|
||||||
#define all_leds_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
|
|
||||||
|
|
||||||
#define red_led_on PORTF |= (1<<LED_R)
|
|
||||||
#define red_led_off PORTF &= ~(1<<LED_R)
|
|
||||||
#define grn_led_on PORTF |= (1<<LED_G)
|
|
||||||
#define grn_led_off PORTF &= ~(1<<LED_G)
|
|
||||||
#define blu_led_on PORTF |= (1<<LED_B)
|
|
||||||
#define blu_led_off PORTF &= ~(1<<LED_B)
|
|
||||||
|
|
||||||
#define set_led_off PORTF &= ~(1<<LED_B) & ~(1<<LED_R) & ~(1<<LED_G)
|
|
||||||
#define set_led_red PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_G) | (1<<LED_R)
|
|
||||||
#define set_led_blue PORTF = PORTF & ~(1<<LED_G) & ~(1<<LED_R) | (1<<LED_B)
|
|
||||||
#define set_led_green PORTF = PORTF & ~(1<<LED_B) & ~(1<<LED_R) | (1<<LED_G)
|
|
||||||
#define set_led_yellow PORTF = PORTF & ~(1<<LED_B) | (1<<LED_R) | (1<<LED_G)
|
|
||||||
#define set_led_magenta PORTF = PORTF & ~(1<<LED_G) | (1<<LED_R) | (1<<LED_B)
|
|
||||||
#define set_led_cyan PORTF = PORTF & ~(1<<LED_R) | (1<<LED_B) | (1<<LED_G)
|
|
||||||
#define set_led_white PORTF |= (1<<LED_B) | (1<<LED_R) | (1<<LED_G)
|
|
||||||
*/
|
|
||||||
|
|
||||||
// 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 arguements
|
// The first section contains all of the arguements
|
||||||
// The second converts the arguments into a two-dimensional array
|
// The second converts the arguments into a two-dimensional array
|
||||||
#define LAYOUT_ortho_4x12( \
|
#define LAYOUT_ortho_4x12( \
|
||||||
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, \
|
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, \
|
||||||
k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23, \
|
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, \
|
||||||
k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35, \
|
k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, \
|
||||||
k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 \
|
k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B \
|
||||||
) \
|
) { \
|
||||||
{ \
|
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B }, \
|
||||||
{ k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11 }, \
|
{ k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B }, \
|
||||||
{ k12, k13, k14, k15, k16, k17, k18, k19, k20, k21, k22, k23 }, \
|
{ k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B }, \
|
||||||
{ k24, k25, k26, k27, k28, k29, k30, k31, k32, k33, k34, k35 }, \
|
{ k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B } \
|
||||||
{ k36, k37, k38, k39, k40, k41, k42, k43, k44, k45, k46, k47 }, \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define LAYOUT LAYOUT_ortho_4x12
|
#define LAYOUT LAYOUT_ortho_4x12
|
||||||
|
|
||||||
#endif
|
|
||||||
|
35
keyboards/xelus/pachi/mini_32u4/keymaps/default/keymap.c
Normal file
35
keyboards/xelus/pachi/mini_32u4/keymaps/default/keymap.c
Normal file
@ -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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F13, 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_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, 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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RESET, KC_RESET, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||||
|
};
|
@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
[1] = LAYOUT_all(
|
[1] = LAYOUT_all(
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RESET, KC_RESET, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
1
keyboards/xelus/pachi/mini_32u4/keymaps/via/rules.mk
Normal file
1
keyboards/xelus/pachi/mini_32u4/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
19
keyboards/xelus/pachi/mini_32u4/readme.md
Normal file
19
keyboards/xelus/pachi/mini_32u4/readme.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Pachi
|
||||||
|
|
||||||
|
Pachi TKL Keyboard that supports both 87 and 88 layouts.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
|
||||||
|
* Hardware Supported: Group buys
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make xelus/pachi/mini_32u4: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 should be a small golden button you can press</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).
|
@ -1,6 +1,6 @@
|
|||||||
# Pachi
|
# Pachi
|
||||||
|
|
||||||
Pachi TKL Keyboard that supports both 87 and 88 layouts.
|
Pachi series keyboards.
|
||||||
|
|
||||||
* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
|
* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
|
||||||
* Hardware Supported: Group buys
|
* Hardware Supported: Group buys
|
||||||
@ -9,5 +9,6 @@ Make example for this keyboard (after setting up your build environment):
|
|||||||
|
|
||||||
make xelus/pachi/rev1:default
|
make xelus/pachi/rev1:default
|
||||||
make xelus/pachi/mini_32u4:default
|
make xelus/pachi/mini_32u4:default
|
||||||
|
make xelus/pachi/rgb: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).
|
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).
|
||||||
|
@ -13,5 +13,7 @@
|
|||||||
* 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/>.
|
||||||
*/
|
*/
|
||||||
|
#pragma once
|
||||||
#include "config_common.h"
|
|
||||||
|
#define USB_POLLING_INTERVAL_MS 1
|
||||||
|
#define QMK_KEYS_PER_SCAN 4
|
35
keyboards/xelus/pachi/rev1/keymaps/default/keymap.c
Normal file
35
keyboards/xelus/pachi/rev1/keymaps/default/keymap.c
Normal file
@ -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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_all(
|
||||||
|
KC_ESC, KC_F13, 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_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_BSPC, KC_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, 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_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_all(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RESET, KC_RESET, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||||
|
};
|
2
keyboards/xelus/pachi/rev1/keymaps/default/readme.md
Normal file
2
keyboards/xelus/pachi/rev1/keymaps/default/readme.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# The Default Pachi TKL Layout
|
||||||
|
|
@ -16,10 +16,8 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "quantum.h"
|
// 3 layers or else it will not fit in EEPROM
|
||||||
|
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||||
|
|
||||||
#if defined(KEYBOARD_xelus_pachi_rev1)
|
#define USB_POLLING_INTERVAL_MS 1
|
||||||
#include "rev1.h"
|
#define QMK_KEYS_PER_SCAN 4
|
||||||
#elif defined(KEYBOARD_xelus_pachi_mini_32u4)
|
|
||||||
#include "mini_32u4.h"
|
|
||||||
#endif
|
|
@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|||||||
|
|
||||||
[1] = LAYOUT_all(
|
[1] = LAYOUT_all(
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RESET, KC_RESET, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
2
keyboards/xelus/pachi/rev1/keymaps/via/readme.md
Normal file
2
keyboards/xelus/pachi/rev1/keymaps/via/readme.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# The VIA Pachi TKL Layout
|
||||||
|
|
1
keyboards/xelus/pachi/rev1/keymaps/via/rules.mk
Normal file
1
keyboards/xelus/pachi/rev1/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
19
keyboards/xelus/pachi/rev1/readme.md
Normal file
19
keyboards/xelus/pachi/rev1/readme.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Pachi
|
||||||
|
|
||||||
|
Pachi TKL Keyboard that supports both 87 and 88 layouts.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
|
||||||
|
* Hardware Supported: Group buys
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make xelus/pachi/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 button: on the back of the PCB, there should be a small golden button you can press</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).
|
76
keyboards/xelus/pachi/rgb/config.h
Normal file
76
keyboards/xelus/pachi/rgb/config.h
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
/* 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
|
||||||
|
|
||||||
|
/* USB Device descriptor parameter */
|
||||||
|
#define VENDOR_ID 0x5845 // "XE"
|
||||||
|
#define PRODUCT_ID 0x5052 // "PR"
|
||||||
|
#define DEVICE_VER 0x0001
|
||||||
|
#define MANUFACTURER Xelus
|
||||||
|
#define PRODUCT Xelus Pachi RGB
|
||||||
|
|
||||||
|
/* key matrix size */
|
||||||
|
#define MATRIX_ROWS 6
|
||||||
|
#define MATRIX_COLS 17
|
||||||
|
|
||||||
|
/* key matrix pins */
|
||||||
|
#define MATRIX_ROW_PINS { B14, B13, B12, B2, A8, B15 }
|
||||||
|
#define MATRIX_COL_PINS { C13, C14, C15, H0, A0, A1, A2, A3, A4, A5, A6, A7, B0, B1, H1, B10, B11 }
|
||||||
|
#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
|
||||||
|
|
||||||
|
// RGB Matrix defines
|
||||||
|
#define DRIVER_ADDR_1 0b0110000
|
||||||
|
#define DRIVER_ADDR_2 0b0110001
|
||||||
|
|
||||||
|
#define DRIVER_COUNT 1
|
||||||
|
#define DRIVER_1_LED_TOTAL 117
|
||||||
|
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
|
||||||
|
#define ISSI_DRIVER_TOTAL DRIVER_LED_TOTAL
|
||||||
|
|
||||||
|
#define RGB_MATRIX_STARTUP_VAL 80
|
||||||
|
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
|
||||||
|
#define RGB_MATRIX_KEYPRESSES
|
||||||
|
#define RGB_DISABLE_WHEN_USB_SUSPENDED true // turn off effects when suspended
|
||||||
|
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
|
||||||
|
|
||||||
|
#define FORCE_NKRO
|
27
keyboards/xelus/pachi/rgb/halconf.h
Normal file
27
keyboards/xelus/pachi/rgb/halconf.h
Normal file
@ -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/xelus/kangaroo/halconf.h -r platforms/chibios/common/configs/halconf.h`
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#define HAL_USE_I2C TRUE
|
||||||
|
|
||||||
|
#include_next <halconf.h>
|
||||||
|
|
19
keyboards/xelus/pachi/rgb/keymaps/default/config.h
Normal file
19
keyboards/xelus/pachi/rgb/keymaps/default/config.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/* 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
|
||||||
|
|
||||||
|
#define USB_POLLING_INTERVAL_MS 1
|
||||||
|
#define QMK_KEYS_PER_SCAN 4
|
35
keyboards/xelus/pachi/rgb/keymaps/default/keymap.c
Normal file
35
keyboards/xelus/pachi/rgb/keymaps/default/keymap.c
Normal file
@ -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/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_ansi_tsangan(
|
||||||
|
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_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_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_ansi_tsangan(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , RGB_TOG, RGB_HUI, RGB_SAI,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD, RGB_HUD, RGB_SAD,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAI,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_VAD, RGB_MOD)
|
||||||
|
};
|
2
keyboards/xelus/pachi/rgb/keymaps/default/readme.md
Normal file
2
keyboards/xelus/pachi/rgb/keymaps/default/readme.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# The Default Pachi RGB Layout
|
||||||
|
|
24
keyboards/xelus/pachi/rgb/keymaps/via/config.h
Normal file
24
keyboards/xelus/pachi/rgb/keymaps/via/config.h
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/* 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
|
||||||
|
|
||||||
|
// 3 layers or else it will not fit in EEPROM
|
||||||
|
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
|
||||||
|
|
||||||
|
#define USB_POLLING_INTERVAL_MS 1
|
||||||
|
#define QMK_KEYS_PER_SCAN 4
|
||||||
|
|
43
keyboards/xelus/pachi/rgb/keymaps/via/keymap.c
Normal file
43
keyboards/xelus/pachi/rgb/keymaps/via/keymap.c
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
/* 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 QMK_KEYBOARD_H
|
||||||
|
|
||||||
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
[0] = LAYOUT_ansi_tsangan(
|
||||||
|
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_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_INS, KC_HOME, KC_PGUP,
|
||||||
|
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
|
||||||
|
MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
|
||||||
|
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
|
||||||
|
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
|
||||||
|
|
||||||
|
[1] = LAYOUT_ansi_tsangan(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET , KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
|
||||||
|
|
||||||
|
[2] = LAYOUT_ansi_tsangan(
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
|
||||||
|
};
|
2
keyboards/xelus/pachi/rgb/keymaps/via/readme.md
Normal file
2
keyboards/xelus/pachi/rgb/keymaps/via/readme.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# The VIA Pachi RGB Layout
|
||||||
|
|
1
keyboards/xelus/pachi/rgb/keymaps/via/rules.mk
Normal file
1
keyboards/xelus/pachi/rgb/keymaps/via/rules.mk
Normal file
@ -0,0 +1 @@
|
|||||||
|
VIA_ENABLE = yes
|
28
keyboards/xelus/pachi/rgb/mcuconf.h
Normal file
28
keyboards/xelus/pachi/rgb/mcuconf.h
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/* 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/xelus/kangaroo/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
|
||||||
|
|
19
keyboards/xelus/pachi/rgb/readme.md
Normal file
19
keyboards/xelus/pachi/rgb/readme.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Pachi
|
||||||
|
|
||||||
|
Pachi RGB TKL Keyboard that is a per-key RGB, hotswap, ANSI and tsangan.
|
||||||
|
|
||||||
|
* Keyboard Maintainer: [Xelus22](https://github.com/Xelus22)
|
||||||
|
* Hardware Supported: Group buys
|
||||||
|
|
||||||
|
Make example for this keyboard (after setting up your build environment):
|
||||||
|
|
||||||
|
make xelus/pachi/rgb: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 should be a small golden button you can press</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).
|
239
keyboards/xelus/pachi/rgb/rgb.c
Normal file
239
keyboards/xelus/pachi/rgb/rgb.c
Normal file
@ -0,0 +1,239 @@
|
|||||||
|
/* 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 "rgb.h"
|
||||||
|
#include <hal.h>
|
||||||
|
#include <ch.h>
|
||||||
|
|
||||||
|
// tested and working
|
||||||
|
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
|
||||||
|
|
||||||
|
#ifdef RGB_MATRIX_ENABLE
|
||||||
|
#include <i2c_master.h>
|
||||||
|
#include "drivers/issi/is31fl3741.h"
|
||||||
|
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
|
||||||
|
/* Refer to IS31 manual for these locations
|
||||||
|
* driver
|
||||||
|
* | R location
|
||||||
|
* | | G location
|
||||||
|
* | | | B location
|
||||||
|
* | | | | */
|
||||||
|
{0, CS39_SW1, CS38_SW1, CS37_SW1}, //A1
|
||||||
|
{0, CS36_SW1, CS35_SW1, CS34_SW1}, //A2
|
||||||
|
{0, CS33_SW1, CS32_SW1, CS31_SW1}, //A3
|
||||||
|
{0, CS30_SW1, CS29_SW1, CS28_SW1}, //A4
|
||||||
|
{0, CS27_SW1, CS26_SW1, CS25_SW1}, //A5
|
||||||
|
{0, CS24_SW1, CS23_SW1, CS22_SW1}, //A6
|
||||||
|
{0, CS21_SW1, CS20_SW1, CS19_SW1}, //A7
|
||||||
|
{0, CS18_SW1, CS17_SW1, CS16_SW1}, //A8
|
||||||
|
{0, CS15_SW1, CS14_SW1, CS13_SW1}, //A9
|
||||||
|
{0, CS12_SW1, CS11_SW1, CS10_SW1}, //A10
|
||||||
|
{0, CS9_SW1 , CS8_SW1 , CS7_SW1 }, //A11
|
||||||
|
{0, CS6_SW1 , CS5_SW1 , CS4_SW1 }, //A12
|
||||||
|
{0, CS3_SW1 , CS2_SW1 , CS1_SW1 }, //A13
|
||||||
|
|
||||||
|
{0, CS39_SW2, CS38_SW2, CS37_SW2}, //B1
|
||||||
|
{0, CS36_SW2, CS35_SW2, CS34_SW2}, //B2
|
||||||
|
{0, CS33_SW2, CS32_SW2, CS31_SW2}, //B3
|
||||||
|
{0, CS30_SW2, CS29_SW2, CS28_SW2}, //B4
|
||||||
|
{0, CS27_SW2, CS26_SW2, CS25_SW2}, //B5
|
||||||
|
{0, CS24_SW2, CS23_SW2, CS22_SW2}, //B6
|
||||||
|
{0, CS21_SW2, CS20_SW2, CS19_SW2}, //B7
|
||||||
|
{0, CS18_SW2, CS17_SW2, CS16_SW2}, //B8
|
||||||
|
{0, CS15_SW2, CS14_SW2, CS13_SW2}, //B9
|
||||||
|
{0, CS12_SW2, CS11_SW2, CS10_SW2}, //B10
|
||||||
|
{0, CS9_SW2 , CS8_SW2 , CS7_SW2 }, //B11
|
||||||
|
{0, CS6_SW2 , CS5_SW2 , CS4_SW2 }, //B12
|
||||||
|
{0, CS3_SW2 , CS2_SW2 , CS1_SW2 }, //B13
|
||||||
|
|
||||||
|
{0, CS39_SW3, CS38_SW3, CS37_SW3}, //C1
|
||||||
|
{0, CS36_SW3, CS35_SW3, CS34_SW3}, //C2
|
||||||
|
{0, CS33_SW3, CS32_SW3, CS31_SW3}, //C3
|
||||||
|
{0, CS30_SW3, CS29_SW3, CS28_SW3}, //C4
|
||||||
|
{0, CS27_SW3, CS26_SW3, CS25_SW3}, //C5
|
||||||
|
{0, CS24_SW3, CS23_SW3, CS22_SW3}, //C6
|
||||||
|
{0, CS21_SW3, CS20_SW3, CS19_SW3}, //C7
|
||||||
|
{0, CS18_SW3, CS17_SW3, CS16_SW3}, //C8
|
||||||
|
{0, CS15_SW3, CS14_SW3, CS13_SW3}, //C9
|
||||||
|
{0, CS12_SW3, CS11_SW3, CS10_SW3}, //C10
|
||||||
|
{0, CS9_SW3 , CS8_SW3 , CS7_SW3 }, //C11
|
||||||
|
{0, CS6_SW3 , CS5_SW3 , CS4_SW3 }, //C12
|
||||||
|
{0, CS3_SW3 , CS2_SW3 , CS1_SW3 }, //C13
|
||||||
|
|
||||||
|
{0, CS39_SW4, CS38_SW4, CS37_SW4}, //D1
|
||||||
|
{0, CS36_SW4, CS35_SW4, CS34_SW4}, //D2
|
||||||
|
{0, CS33_SW4, CS32_SW4, CS31_SW4}, //D3
|
||||||
|
{0, CS30_SW4, CS29_SW4, CS28_SW4}, //D4
|
||||||
|
{0, CS27_SW4, CS26_SW4, CS25_SW4}, //D5
|
||||||
|
{0, CS24_SW4, CS23_SW4, CS22_SW4}, //D6
|
||||||
|
{0, CS21_SW4, CS20_SW4, CS19_SW4}, //D7
|
||||||
|
{0, CS18_SW4, CS17_SW4, CS16_SW4}, //D8
|
||||||
|
{0, CS15_SW4, CS14_SW4, CS13_SW4}, //D9
|
||||||
|
{0, CS12_SW4, CS11_SW4, CS10_SW4}, //D10
|
||||||
|
{0, CS9_SW4 , CS8_SW4 , CS7_SW4 }, //D11
|
||||||
|
{0, CS6_SW4 , CS5_SW4 , CS4_SW4 }, //D12
|
||||||
|
{0, CS3_SW4 , CS2_SW4 , CS1_SW4 }, //D13
|
||||||
|
|
||||||
|
{0, CS39_SW5, CS38_SW5, CS37_SW5}, //E1
|
||||||
|
{0, CS36_SW5, CS35_SW5, CS34_SW5}, //E2
|
||||||
|
{0, CS33_SW5, CS32_SW5, CS31_SW5}, //E3
|
||||||
|
{0, CS30_SW5, CS29_SW5, CS28_SW5}, //E4
|
||||||
|
{0, CS27_SW5, CS26_SW5, CS25_SW5}, //E5
|
||||||
|
{0, CS24_SW5, CS23_SW5, CS22_SW5}, //E6
|
||||||
|
{0, CS21_SW5, CS20_SW5, CS19_SW5}, //E7
|
||||||
|
{0, CS18_SW5, CS17_SW5, CS16_SW5}, //E8
|
||||||
|
{0, CS15_SW5, CS14_SW5, CS13_SW5}, //E9
|
||||||
|
{0, CS12_SW5, CS11_SW5, CS10_SW5}, //E10
|
||||||
|
{0, CS9_SW5 , CS8_SW5 , CS7_SW5 }, //E11
|
||||||
|
{0, CS6_SW5 , CS5_SW5 , CS4_SW5 }, //E12
|
||||||
|
{0, CS3_SW5 , CS2_SW5 , CS1_SW5 }, //E13
|
||||||
|
|
||||||
|
{0, CS39_SW6, CS38_SW6, CS37_SW6}, //F1
|
||||||
|
{0, CS36_SW6, CS35_SW6, CS34_SW6}, //F2
|
||||||
|
{0, CS33_SW6, CS32_SW6, CS31_SW6}, //F3
|
||||||
|
{0, CS30_SW6, CS29_SW6, CS28_SW6}, //F4
|
||||||
|
{0, CS27_SW6, CS26_SW6, CS25_SW6}, //F5
|
||||||
|
{0, CS24_SW6, CS23_SW6, CS22_SW6}, //F6
|
||||||
|
{0, CS21_SW6, CS20_SW6, CS19_SW6}, //F7
|
||||||
|
{0, CS18_SW6, CS17_SW6, CS16_SW6}, //F8
|
||||||
|
{0, CS15_SW6, CS14_SW6, CS13_SW6}, //F9
|
||||||
|
{0, CS12_SW6, CS11_SW6, CS10_SW6}, //F10
|
||||||
|
{0, CS9_SW6 , CS8_SW6 , CS7_SW6 }, //F11
|
||||||
|
{0, CS6_SW6 , CS5_SW6 , CS4_SW6 }, //F12
|
||||||
|
{0, CS3_SW6 , CS2_SW6 , CS1_SW6 }, //F13
|
||||||
|
|
||||||
|
{0, CS39_SW7, CS38_SW7, CS37_SW7}, //G1
|
||||||
|
{0, CS36_SW7, CS35_SW7, CS34_SW7}, //G2
|
||||||
|
{0, CS33_SW7, CS32_SW7, CS31_SW7}, //G3
|
||||||
|
{0, CS30_SW7, CS29_SW7, CS28_SW7}, //G4
|
||||||
|
{0, CS27_SW7, CS26_SW7, CS25_SW7}, //G5
|
||||||
|
{0, CS24_SW7, CS23_SW7, CS22_SW7}, //G6
|
||||||
|
{0, CS21_SW7, CS20_SW7, CS19_SW7}, //G7
|
||||||
|
{0, CS18_SW7, CS17_SW7, CS16_SW7}, //G8
|
||||||
|
{0, CS15_SW7, CS14_SW7, CS13_SW7}, //G9
|
||||||
|
{0, CS12_SW7, CS11_SW7, CS10_SW7}, //G10
|
||||||
|
{0, CS9_SW7 , CS8_SW7 , CS7_SW7 }, //G11
|
||||||
|
{0, CS6_SW7 , CS5_SW7 , CS4_SW7 }, //G12
|
||||||
|
{0, CS3_SW7 , CS2_SW7 , CS1_SW7 }, //G13
|
||||||
|
|
||||||
|
{0, CS39_SW8, CS38_SW8, CS37_SW8}, //H1
|
||||||
|
{0, CS36_SW8, CS35_SW8, CS34_SW8}, //H2
|
||||||
|
{0, CS33_SW8, CS32_SW8, CS31_SW8}, //H3
|
||||||
|
{0, CS30_SW8, CS29_SW8, CS28_SW8}, //H4
|
||||||
|
{0, CS27_SW8, CS26_SW8, CS25_SW8}, //H5
|
||||||
|
{0, CS24_SW8, CS23_SW8, CS22_SW8}, //H6
|
||||||
|
{0, CS21_SW8, CS20_SW8, CS19_SW8}, //H7
|
||||||
|
{0, CS18_SW8, CS17_SW8, CS16_SW8}, //H8
|
||||||
|
{0, CS15_SW8, CS14_SW8, CS13_SW8}, //H9
|
||||||
|
{0, CS12_SW8, CS11_SW8, CS10_SW8}, //H10
|
||||||
|
{0, CS9_SW8 , CS8_SW8 , CS7_SW8 }, //H11
|
||||||
|
{0, CS6_SW8 , CS5_SW8 , CS4_SW8 }, //H12
|
||||||
|
{0, CS3_SW8 , CS2_SW8 , CS1_SW8 }, //H13
|
||||||
|
|
||||||
|
{0, CS39_SW9, CS38_SW9, CS37_SW9}, //I1
|
||||||
|
{0, CS36_SW9, CS35_SW9, CS34_SW9}, //I2
|
||||||
|
{0, CS33_SW9, CS32_SW9, CS31_SW9}, //I3
|
||||||
|
{0, CS30_SW9, CS29_SW9, CS28_SW9}, //I4
|
||||||
|
{0, CS27_SW9, CS26_SW9, CS25_SW9}, //I5
|
||||||
|
{0, CS24_SW9, CS23_SW9, CS22_SW9}, //I6
|
||||||
|
{0, CS21_SW9, CS20_SW9, CS19_SW9}, //I7
|
||||||
|
{0, CS18_SW9, CS17_SW9, CS16_SW9}, //I8
|
||||||
|
{0, CS15_SW9, CS14_SW9, CS13_SW9}, //I9
|
||||||
|
{0, CS12_SW9, CS11_SW9, CS10_SW9}, //I10
|
||||||
|
{0, CS9_SW9 , CS8_SW9 , CS7_SW9 }, //I11
|
||||||
|
{0, CS6_SW9 , CS5_SW9 , CS4_SW9 }, //I12
|
||||||
|
{0, CS3_SW9 , CS2_SW9 , CS1_SW9 } //I13
|
||||||
|
};
|
||||||
|
|
||||||
|
__attribute__ ((weak))
|
||||||
|
led_config_t g_led_config = { {
|
||||||
|
{ -1+00+3 , NO_LED, -1+26+3 , -1+39+3 , -1+52+3 , -1+65+3 , -1+78+3 , -1+91+3 , -1+104+3 , -1+00+1 , -1+13+1 , -1+26+1 , -1+39+1 , -1+52+1 , -1+65+1 , -1+78+1 , -1+91+1 },
|
||||||
|
{ -1+00+4 , -1+13+4 , -1+26+4 , -1+39+4 , -1+52+4 , -1+65+4 , -1+78+4 , -1+91+4 , -1+104+4 , -1+00+2 , -1+13+2 , -1+26+2 , -1+39+2 , -1+52+2 , -1+65+2 , -1+78+2 , -1+91+2 },
|
||||||
|
{ -1+00+6 , -1+13+6 , -1+26+6 , -1+39+6 , -1+52+6 , -1+65+6 , -1+78+6 , -1+91+6 , -1+104+6 , -1+00+5 , -1+13+5 , -1+26+5 , -1+39+5 , -1+52+5 , -1+65+5 , -1+78+5 , -1+91+6 },
|
||||||
|
{ -1+00+8 , -1+13+8 , -1+26+8 , -1+39+8 , -1+52+8 , -1+65+8 , -1+78+8 , -1+91+8 , -1+104+8 , -1+00+7 , -1+13+7 , -1+26+7 , NO_LED , -1+52+7 , NO_LED , NO_LED , NO_LED },
|
||||||
|
{ -1+00+11, -1+13+11, -1+26+11, -1+39+11, -1+52+11, -1+65+11, -1+78+11, -1+91+11, -1+104+11, -1+00+10, -1+13+10, NO_LED , NO_LED , -1+52+10, NO_LED , -1+78+10, NO_LED },
|
||||||
|
{ -1+00+9 , -1+13+9 , -1+26+9 , NO_LED , NO_LED , -1+65+9 , NO_LED , NO_LED , NO_LED , NO_LED , -1+13+12, NO_LED , -1+39+12, -1+52+12, -1+65+12, -1+78+12, -1+91+12}
|
||||||
|
}, {
|
||||||
|
{123, 0}, {117, 15}, {0 , 0}, {0 , 15}, {123, 27}, {3 , 27}, {127, 40}, {5 , 40}, {2 , 64}, {133, 52}, {8 , 52}, {131, 64}, {255,255},
|
||||||
|
{143, 0}, {130, 15}, {255,255}, {13 , 15}, {136, 27}, {19 , 27}, {140, 40}, {23 , 40}, {18 , 64}, {146, 52}, {29 , 52}, {148, 64}, {255,255},
|
||||||
|
{156, 0}, {143, 15}, {26 , 0}, {26 , 15}, {149, 27}, {32 , 27}, {153, 40}, {36 , 40}, {34 , 64}, {255,255}, {42 , 52}, {255,255}, {255,255},
|
||||||
|
{169, 0}, {156, 15}, {39 , 0}, {39 , 15}, {162, 27}, {45 , 27}, {255,255}, {49 , 40}, {255,255}, {255,255}, {55 , 52}, {164, 64}, {255,255},
|
||||||
|
{182, 0}, {175, 15}, {52 , 0}, {52 , 15}, {179, 27}, {58 , 27}, {174, 40}, {62 , 40}, {255,255}, {170, 52}, {68 , 52}, {180, 64}, {255,255},
|
||||||
|
{198, 0}, {198, 15}, {65 , 0}, {65 , 15}, {198, 27}, {71 , 27}, {255,255}, {75 , 40}, {83 , 64}, {255,255}, {81 , 52}, {198, 64}, {255,255},
|
||||||
|
{211, 0}, {211, 15}, {84 , 0}, {78 , 15}, {211, 27}, {84 , 27}, {255,255}, {88 , 40}, {255,255}, {211, 52}, {94 , 52}, {211, 64}, {255,255},
|
||||||
|
{224, 0}, {224, 15}, {97 , 0}, {91 , 15}, {224, 27}, {97 , 27}, {255,255}, {101, 40}, {255,255}, {255,255}, {107, 52}, {224, 64}, {255,255},
|
||||||
|
{255,255}, {255,255}, {110, 0}, {104, 15}, {255,255}, {110, 27}, {255,255}, {114, 40}, {255,255}, {255,255}, {120, 52}, {255,255}, {255,255}
|
||||||
|
}, {
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
|
||||||
|
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4
|
||||||
|
} };
|
||||||
|
|
||||||
|
static void init(void) {
|
||||||
|
i2c_init();
|
||||||
|
IS31FL3741_init(DRIVER_ADDR_1);
|
||||||
|
for (int index = 0; index < ISSI_DRIVER_TOTAL; index++) {
|
||||||
|
bool enabled = !( ( index == -1+0+13) || //A13
|
||||||
|
( index == -1+13+3) || //B3
|
||||||
|
( index == -1+13+13) || //B13
|
||||||
|
( index == -1+26+10) || //C10
|
||||||
|
( index == -1+26+12) || //C12
|
||||||
|
( index == -1+26+13) || //C13
|
||||||
|
( index == -1+39+7) || //D7
|
||||||
|
( index == -1+39+9) || //D9
|
||||||
|
( index == -1+39+10) || //D10
|
||||||
|
( index == -1+39+13) || //D13
|
||||||
|
( index == -1+52+9) || //E9
|
||||||
|
( index == -1+52+13) || //E13
|
||||||
|
( index == -1+65+7) || //F7
|
||||||
|
( index == -1+65+10) || //F10
|
||||||
|
( index == -1+65+13) || //F13
|
||||||
|
( index == -1+78+7) || //G7
|
||||||
|
( index == -1+78+9) || //G9
|
||||||
|
( index == -1+78+13) || //G13
|
||||||
|
( index == -1+91+7) || //H7
|
||||||
|
( index == -1+91+9) || //H9
|
||||||
|
( index == -1+91+10) || //H10
|
||||||
|
( index == -1+91+13) || //H13
|
||||||
|
( index == -1+104+1) || //I1
|
||||||
|
( index == -1+104+2) || //I2
|
||||||
|
( index == -1+104+5) || //I5
|
||||||
|
( index == -1+104+7) || //I7
|
||||||
|
( index == -1+104+9) || //I9
|
||||||
|
( index == -1+104+10) || //I10
|
||||||
|
( index == -1+104+12) || //I12
|
||||||
|
( index == -1+104+13) //I13
|
||||||
|
);
|
||||||
|
IS31FL3741_set_led_control_register(index, enabled, enabled, enabled);
|
||||||
|
}
|
||||||
|
IS31FL3741_update_led_control_registers(DRIVER_ADDR_1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void flush(void) { IS31FL3741_update_pwm_buffers(DRIVER_ADDR_1, DRIVER_ADDR_2); }
|
||||||
|
|
||||||
|
const rgb_matrix_driver_t rgb_matrix_driver = {
|
||||||
|
.init = init,
|
||||||
|
.flush = flush,
|
||||||
|
.set_color = IS31FL3741_set_color,
|
||||||
|
.set_color_all = IS31FL3741_set_color_all
|
||||||
|
};
|
||||||
|
#endif
|
36
keyboards/xelus/pachi/rgb/rgb.h
Normal file
36
keyboards/xelus/pachi/rgb/rgb.h
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/* 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_ansi_tsangan( \
|
||||||
|
K000, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, \
|
||||||
|
K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, \
|
||||||
|
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, \
|
||||||
|
K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K313, \
|
||||||
|
K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K412, K415, \
|
||||||
|
K500, K501, K502, K505, K510, K512, K513, K514, K515, K516 \
|
||||||
|
) { \
|
||||||
|
{ K000, ____, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016 }, \
|
||||||
|
{ K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116 }, \
|
||||||
|
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216 }, \
|
||||||
|
{ K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, ____, K313, ____, ____, ____ }, \
|
||||||
|
{ K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, ____, K412, ____, ____, K415, ____ }, \
|
||||||
|
{ K500, K501, K502, ____, ____, K505, ____, ____, ____, ____, K510, ____, K512, K513, K514, K515, K516 } \
|
||||||
|
}
|
32
keyboards/xelus/pachi/rgb/rules.mk
Normal file
32
keyboards/xelus/pachi/rgb/rules.mk
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# 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 on B7 by default
|
||||||
|
MIDI_ENABLE = no # MIDI support
|
||||||
|
UNICODE_ENABLE = no # Unicode
|
||||||
|
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||||
|
AUDIO_ENABLE = no # Audio output on port C6
|
||||||
|
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
|
||||||
|
|
||||||
|
EEPROM_DRIVER = i2c
|
||||||
|
|
||||||
|
RGB_MATRIX_ENABLE = yes
|
||||||
|
RGB_MATRIX_DRIVER = custom
|
||||||
|
|
||||||
|
COMMON_VPATH += $(DRIVER_PATH)/issi
|
||||||
|
SRC += drivers/issi/is31fl3741.c
|
||||||
|
|
||||||
|
LTO_ENABLE = yes
|
||||||
|
OPT = 2
|
@ -1,19 +1,18 @@
|
|||||||
/*
|
/* Copyright 2021 Harrison Chan (Xelus)
|
||||||
Copyright 2015 Jun Wako <wakojun@gmail.com>
|
*
|
||||||
|
* 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
|
* the Free Software Foundation, either version 2 of the License, or
|
||||||
the Free Software Foundation, either version 2 of the License, or
|
* (at your option) any later version.
|
||||||
(at your option) any later version.
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
This program is distributed in the hope that it will be useful,
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* GNU General Public License for more details.
|
||||||
GNU General Public License for more details.
|
*
|
||||||
|
* 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/>.
|
*/
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
@ -42,3 +41,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define LOCKING_SUPPORT_ENABLE
|
#define LOCKING_SUPPORT_ENABLE
|
||||||
/* Locking resynchronize hack */
|
/* Locking resynchronize hack */
|
||||||
#define LOCKING_RESYNC_ENABLE
|
#define LOCKING_RESYNC_ENABLE
|
||||||
|
|
||||||
|
#define LED_CAPS_LOCK_PIN A1
|
||||||
|
#define LED_SCROLL_LOCK_PIN A13
|
||||||
|
#define LED_PIN_ON_STATE 1
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
/* 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 "trinityxttkl.h"
|
#include "trinityxttkl.h"
|
||||||
|
|
||||||
// Tested and verified working on Trinity XT TKL
|
// Tested and verified working on Trinity XT TKL
|
||||||
|
@ -1,3 +1,19 @@
|
|||||||
|
/* 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
|
#pragma once
|
||||||
|
|
||||||
#include "quantum.h"
|
#include "quantum.h"
|
||||||
|
21
users/mnil/config.h
Normal file
21
users/mnil/config.h
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/* 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 MK_3_SPEED
|
||||||
|
#define MK_MOMENTARY_ACCEL
|
||||||
|
#define PERMISSIVE_HOLD
|
146
users/mnil/mnil.c
Normal file
146
users/mnil/mnil.c
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
/* 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"
|
||||||
|
|
||||||
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case M_TILD: // ~
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code16(RALT(KC_RBRC));
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case M_CIRC: // ^
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code16(S(KC_RBRC));
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case M_BTCK: // `
|
||||||
|
if (record->event.pressed) {
|
||||||
|
tap_code16(S(KC_EQL));
|
||||||
|
tap_code(KC_SPC);
|
||||||
|
} else {
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case QWE_COL: // Swap default keymap layer
|
||||||
|
if (record->event.pressed) {
|
||||||
|
if (get_highest_layer(default_layer_state) == _COLEMAK) {
|
||||||
|
default_layer_set(1UL << _QWERTY);
|
||||||
|
} else {
|
||||||
|
default_layer_set(1UL << _COLEMAK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Tap Dance
|
||||||
|
// Determine the current tap dance state
|
||||||
|
int cur_dance(qk_tap_dance_state_t *state) {
|
||||||
|
if (state->count == 1) {
|
||||||
|
if (state->interrupted || !state->pressed)
|
||||||
|
return SINGLE_TAP;
|
||||||
|
else
|
||||||
|
return SINGLE_HOLD;
|
||||||
|
} else if (state->count == 2) {
|
||||||
|
if (state->interrupted)
|
||||||
|
return DOUBLE_SINGLE_TAP;
|
||||||
|
else if (state->pressed)
|
||||||
|
return DOUBLE_HOLD;
|
||||||
|
else
|
||||||
|
return DOUBLE_SINGLE_TAP;
|
||||||
|
}
|
||||||
|
if (state->count == 3) {
|
||||||
|
if (state->interrupted || !state->pressed)
|
||||||
|
return TRIPLE_TAP;
|
||||||
|
else
|
||||||
|
return TRIPLE_HOLD;
|
||||||
|
} else
|
||||||
|
return 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
static tap ae_tap_state = {.is_press_action = true, .state = 0};
|
||||||
|
|
||||||
|
void ae_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||||
|
ae_tap_state.state = cur_dance(state);
|
||||||
|
switch (ae_tap_state.state) {
|
||||||
|
case SINGLE_TAP:
|
||||||
|
register_code(KC_A);
|
||||||
|
break;
|
||||||
|
case SINGLE_HOLD:
|
||||||
|
tap_code(SE_AE);
|
||||||
|
break;
|
||||||
|
case DOUBLE_SINGLE_TAP:
|
||||||
|
tap_code(KC_A);
|
||||||
|
register_code(KC_A);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ae_reset(qk_tap_dance_state_t *state, void *user_data) {
|
||||||
|
switch (ae_tap_state.state) {
|
||||||
|
case SINGLE_TAP:
|
||||||
|
unregister_code(KC_A);
|
||||||
|
break;
|
||||||
|
case DOUBLE_SINGLE_TAP:
|
||||||
|
unregister_code(KC_A);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
ae_tap_state.state = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static tap aa_tap_state = {.is_press_action = true, .state = 0};
|
||||||
|
|
||||||
|
void aa_finished(qk_tap_dance_state_t *state, void *user_data) {
|
||||||
|
aa_tap_state.state = cur_dance(state);
|
||||||
|
switch (aa_tap_state.state) {
|
||||||
|
case SINGLE_TAP:
|
||||||
|
register_code(SE_OSLH);
|
||||||
|
break;
|
||||||
|
case SINGLE_HOLD:
|
||||||
|
register_code(SE_AA);
|
||||||
|
unregister_code(SE_AA);
|
||||||
|
break;
|
||||||
|
case DOUBLE_SINGLE_TAP:
|
||||||
|
tap_code(SE_OSLH);
|
||||||
|
register_code(SE_OSLH);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void aa_reset(qk_tap_dance_state_t *state, void *user_data) {
|
||||||
|
switch (aa_tap_state.state) {
|
||||||
|
case SINGLE_TAP:
|
||||||
|
unregister_code(SE_OSLH);
|
||||||
|
break;
|
||||||
|
case DOUBLE_SINGLE_TAP:
|
||||||
|
unregister_code(SE_OSLH);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
aa_tap_state.state = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
qk_tap_dance_action_t tap_dance_actions[] = {
|
||||||
|
[AAE] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, ae_finished, ae_reset, 250),
|
||||||
|
[OAA] = ACTION_TAP_DANCE_FN_ADVANCED_TIME(NULL, aa_finished, aa_reset, 250)
|
||||||
|
};
|
||||||
|
// clang-format on
|
85
users/mnil/mnil.h
Normal file
85
users/mnil/mnil.h
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
/* 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
|
||||||
|
|
||||||
|
#include QMK_KEYBOARD_H
|
||||||
|
#include "keymap_swedish.h"
|
||||||
|
|
||||||
|
// Layers
|
||||||
|
enum layers {
|
||||||
|
_COLEMAK,
|
||||||
|
_QWERTY,
|
||||||
|
_SYMBOLS,
|
||||||
|
_NAVIGATION,
|
||||||
|
_NUMPAD,
|
||||||
|
};
|
||||||
|
|
||||||
|
// Custom Keycodes
|
||||||
|
#define _NAV_SPC LT(_NAVIGATION, KC_SPC) // _NAVIGATION when held, SPACE when tapped
|
||||||
|
#define _SYM_ENT LT(_SYMBOLS, KC_ENT) // _SYMBOLS when held, ENTER when tapped
|
||||||
|
#define CTL_BSPC MT(MOD_LCTL, KC_BSPC) // CTRL when held, BACKSPACE when tapped
|
||||||
|
#define ALT_DEL MT(MOD_LALT, KC_DEL) // ALT when held, DELETE when tapped
|
||||||
|
#define SFT_TAB MT(MOD_LSFT, KC_TAB) // SHIFT when held, TAB when tapped
|
||||||
|
#define C_TAB C(KC_TAB) // CTRL+TAB
|
||||||
|
#define CS_TAB C(S(KC_TAB)) // SHIFT+CTRL+TAB
|
||||||
|
#define CUT C(KC_X) // CTRL+X
|
||||||
|
#define COPY C(KC_INS) // CTRL+INSERT
|
||||||
|
#define PASTE S(KC_INS) // SHIFT+INSERT
|
||||||
|
#define AUTOFILL C(S(KC_L)) // Bitwarden Autofill, CTRL+SHIFT+L
|
||||||
|
|
||||||
|
// i3 config
|
||||||
|
#define I3MOD KC_LGUI // $mod
|
||||||
|
#define OPEN G(KC_SPC) // $mod+SPACE
|
||||||
|
#define QUIT G(S(KC_Q)) // $mod+SHIFT+Q
|
||||||
|
#define WIN G(C(KC_SPC)) // $mod+CTRL+SPACE
|
||||||
|
#define BROWSER G(KC_ENTER) // $mod+ENTER
|
||||||
|
#define TERM G(S(KC_ENTER)) // $mod+CTRL+ENTER
|
||||||
|
#define NXTWS G(KC_TAB) // $mod+TAB
|
||||||
|
#define PRVWS G(S(KC_TAB)) // $mod+SHIFT+TAB
|
||||||
|
#define MOVWS G(KC_LSFT) // $mod+SHIFT+$X
|
||||||
|
#define CRYWS G(KC_LALT) // $mod+ALT+$X
|
||||||
|
#define MVWSL G(C(S(KC_LEFT))) // $mod+CTRL+SHIFT+LEFT
|
||||||
|
#define MVWSR G(C(S(KC_RGHT))) // $mod+CTRL+SHIFT+RIGHT
|
||||||
|
|
||||||
|
enum custom_keycodes {
|
||||||
|
M_TILD = SAFE_RANGE, // ~
|
||||||
|
M_CIRC, // ^
|
||||||
|
M_BTCK, // `
|
||||||
|
QWE_COL, // Swaps default layer
|
||||||
|
};
|
||||||
|
|
||||||
|
// Tap Dance
|
||||||
|
typedef struct {
|
||||||
|
bool is_press_action;
|
||||||
|
int state;
|
||||||
|
} tap;
|
||||||
|
|
||||||
|
// Define a type for as many tap dance states as you need
|
||||||
|
enum {
|
||||||
|
SINGLE_TAP = 1,
|
||||||
|
SINGLE_HOLD = 2,
|
||||||
|
DOUBLE_TAP = 3,
|
||||||
|
DOUBLE_HOLD = 4,
|
||||||
|
DOUBLE_SINGLE_TAP = 5, // send two single taps
|
||||||
|
TRIPLE_TAP = 6,
|
||||||
|
TRIPLE_HOLD = 7
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
AAE = 0, // a and ae
|
||||||
|
OAA, // o and aa
|
||||||
|
};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user