Compare commits

..

31 Commits

Author SHA1 Message Date
ba35c11807 Debian requires package libusb-dev to build bootloaderHID (#13105) 2021-06-15 22:14:53 -07:00
875bb48a20 Top level heading for common config (LED Matrix) (#13153) 2021-06-15 22:07:24 -07:00
968e4f96a4 Top level heading for common config (RGB Matrix) (#13120)
* Top level heading for common config

Prior to this, the some of the common config looks like a detail of the APA102 driver

* Change heading to Common Config (RGB Matrix)
2021-06-15 22:07:03 -07:00
R
311cf865dc [Keymap] Keebio Iris rev4 - keymap with dual encoder support (#13063)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-15 21:54:36 -07:00
4720aa4a34 Change Lufa-MS size (#13183)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-15 21:28:17 -07:00
ed0451bc28 Make atmel-dfu and chibios-dfu flashing behave more like caterina flashing. (#12552)
This commit makes atmel-dfu and chibios-dfu bootloaders retry to detect the bootloader
every 0,5 seconds (now configurable via the BOOTLOADER_RETRY_TIME makefile variable),
and a period is printed after every try. This is a much more pleasant behaviour than
the 5s retry timeout.
2021-06-16 14:20:44 +10:00
22cd151fc3 [Keyboard] suv (#12957) 2021-06-15 21:20:15 -07:00
96c8afea2d [Keyboard] hatchback (#12958) 2021-06-15 21:20:03 -07:00
3966599940 [Keyboard] Add via support for the Leopold FC980C (#12860) 2021-06-15 21:18:20 -07:00
09e22b9cfc [Keymap] ANAVI Macro Pad 2 add Skype keymap (#12664)
This keymap for ANAVI Macro Pad 2 contains a couple of Skype
shortcuts for MS Windows and GNU/Linux distributions:

- Ctrl+M: Mute/unmute microphone
- Ctrl+Shift+K: Start/stop camera

Signed-off-by: Leon Anavi <leon@anavi.org>
2021-06-15 20:53:49 -07:00
9cf4148aa9 [Keymap] add new keymap for pteron (#12474)
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-06-15 20:39:17 -07:00
c00a9937f2 [Docs] Update one_shot_keys.md (#12291) 2021-06-15 20:35:31 -07:00
d0a3506d0f [Keyboard] Add 'LAYOUT_65_ansi_split_bs_2_right_mods' support to KBDfans KBD67 rev2 (#12053) 2021-06-15 20:34:00 -07:00
3d546c0853 add tender/macrowo_pad (#12786)
* add tender/macrowo_pad

* add another layer for via keymap

Co-authored-by: Swiftrax <swiftrax@gmail.com>
2021-06-16 07:43:18 +10:00
a9525d88a3 [Keymap] Update readme for ploopy nano keymap (#12733)
The readme from the Ploopy Mini was accidentally put as the Ploopy
Nano readme. The Ploopy Nano does not ship with VIA by default.
2021-06-14 20:06:55 -07:00
0713797c58 Ensure that safe_commands always run (#13199)
* ensure that safe_commands always run

* import the config subcommand in bin/qmk
2021-06-14 16:51:58 -07:00
ae45faca26 [Docs] Update Japanese newbs_learn_more_resources.md (#12839)
* Update Japanese newbs_learn_more_resources.md document.

* Slightly modded
2021-06-14 15:31:50 +09:00
449b4b8d86 [Docs] Update feature_split_keyboard.md (#13205) 2021-06-13 20:20:19 -07:00
3d62e1dfbf vscode: specify yapf as the formatting provider (#13206) 2021-06-13 17:52:31 -07:00
umi
a08486597d [Docs] update Japanese translation of feature_pointing_device.md (#12753)
* update feature_pointing_device.md translation

* update based on comment
2021-06-13 04:15:08 +09:00
f48bd8cde3 [Docs] Update Japanese newbs_flashing.md (#12837)
* Update Japanese newbs_flashing.md document.

* Slightly modded

* Apply suggestions from code review
2021-06-13 04:11:56 +09:00
c16b7d63e7 Update Japanese newbs.md document. (#12835) 2021-06-13 04:10:23 +09:00
db36e2be9f [Docs] Japanese translation of docs/data_driven_config.md (#12066)
* add docs/ja/data_driven_config.md

* Update docs/ja/data_driven_config.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: s-show <s1shimz@gmail.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

* Update docs/ja/data_driven_config.md

Co-authored-by: shela <shelaf@users.noreply.github.com>

Co-authored-by: s-show <s1shimz@gmail.com>
Co-authored-by: shela <shelaf@users.noreply.github.com>
2021-06-13 04:08:32 +09:00
0ef145db15 Add Matrix 8XV1.2 OG rev1 PCB (#11614)
* add v1 12og pcb

* update

* matrix changes for testing

* Update matrix.c

* finalized files

* rename board versions

* update readmes

* typo in readme

* fix board filenames

* Update keyboards/matrix/m12og/rev1/rev1.c

Co-authored-by: Drashna Jaelre <drashna@live.com>

* change function

* update halconf and chconf

* merge master

* Update readme.md

* Update readme.md

* Update readme.md

Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-11 20:35:13 +10:00
2e90ef0536 [Keyboard] Add Loop, Nano and Work boards from Work Louder (#12756) 2021-06-10 14:50:24 -07:00
d684b8cafe Slightly more prominent LUFA Mass-storage bootloader warning. (#13163) 2021-06-10 16:05:29 +10:00
39c8ed32b4 Add support for LAZYDESIGNERS/THE60/rev2 (#13015)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-06-09 19:47:37 +02:00
5073dc33e9 update via keymap (#13145) 2021-06-09 19:14:44 +10:00
21aa7890cb Allow limiting the multibuild based on keymap name. (#13066) 2021-06-09 17:25:21 +10:00
4dda716712 Migrate preonic/rev3 to pwm ws2812 driver (#13142) 2021-06-09 00:18:56 -07:00
9975e17712 Fix Bug with (RGB|LED)_DISABLE_WHEN_USB_SUSPENDED define (#13060) 2021-06-09 05:06:55 +10:00
156 changed files with 5469 additions and 179 deletions

View File

@ -22,5 +22,6 @@
"[markdown]": {
"editor.trimAutoWhitespace": false,
"files.trimTrailingWhitespace": false
}
},
"python.formatting.provider": "yapf"
}

View File

@ -35,6 +35,7 @@ def main():
print('Warning: The bin/qmk script is being deprecated. Please install the QMK CLI: python3 -m pip install qmk', file=sys.stderr)
# Import the subcommands
import milc.subcommand.config # noqa
import qmk.cli # noqa
# Execute

View File

@ -90,12 +90,16 @@ ifeq ($(strip $(BOOTLOADER)), USBasp)
endif
ifeq ($(strip $(BOOTLOADER)), lufa-ms)
OPT_DEFS += -DBOOTLOADER_MS
BOOTLOADER_SIZE = 6144
BOOTLOADER_SIZE ?= 8192
FIRMWARE_FORMAT = bin
$(info LUFA MASS STORAGE Bootloader selected)
$(info DO NOT USE THIS BOOTLOADER IN NEW PROJECTS!)
$(info It is extremely prone to bricking, and is only included to support existing boards.)
$(info )
cpfirmware: lufa_warning
.INTERMEDIATE: lufa_warning
lufa_warning: $(FIRMWARE_FORMAT)
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
$(info LUFA MASS STORAGE Bootloader selected)
$(info DO NOT USE THIS BOOTLOADER IN NEW PROJECTS!)
$(info It is extremely prone to bricking, and is only included to support existing boards.)
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
endif
ifdef BOOTLOADER_SIZE
OPT_DEFS += -DBOOTLOADER_SIZE=$(strip $(BOOTLOADER_SIZE))

View File

@ -67,6 +67,8 @@ Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet]
---
## Common Configuration :id=common-configuration
From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example:
```c

View File

@ -229,6 +229,8 @@ Configure the hardware via your `config.h`:
---
## Common Configuration :id=common-configuration
From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example:
```c

View File

@ -60,6 +60,7 @@ The 3 wires of the TRS/TRRS cable need to connect GND, VCC, and D0/D1/D2/D3 (aka
The 4 wires of the TRRS cable need to connect GND, VCC, and SCL and SDA (aka PD0/pin 3 and PD1/pin 2, respectively) between the two Pro Micros.
The pull-up resistors may be placed on either half. If you wish to use the halves independently, it is also possible to use 4 resistors and have the pull-ups in both halves.
Note that the total resistance for the connected system should be within spec at 2.2k-10kOhm, with an 'ideal' at 4.7kOhm, regardless of the placement and number.
<img alt="sk-i2c-connection-mono" src="https://user-images.githubusercontent.com/2170248/92297182-92b98580-ef77-11ea-9d7d-d6033914af43.JPG" width="50%"/>

View File

@ -155,6 +155,7 @@
* [QMK への貢献](ja/contributing.md)
* [QMK ドキュメントの翻訳](ja/translating.md)
* [設定オプション](ja/config_options.md)
* [データ駆動型コンフィギュレーション](ja/data_driven_config.md)
* [Make ドキュメント](ja/getting_started_make_guide.md)
* [ドキュメント ベストプラクティス](ja/documentation_best_practices.md)
* [ドキュメント テンプレート](ja/documentation_templates.md)

View File

@ -0,0 +1,123 @@
# データ駆動型コンフィギュレーション
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.12.7:docs/data_driven_config.md
git diff 0.12.7 HEAD -- docs/data_driven_config.md | cat
-->
このページでは、QMK のデータ駆動型 JSON コンフィギュレーションシステムがどのように動作するかを説明します。これは、QMK 自体に取り組みたい開発者を対象としています。
## ヒストリー
これまで、QMK は、`rules.mk``config.h` の2つのメカニズムを組み合わせてコンフィギュレーションされてきました。
この方法は、QMK がほんの一握りのキーボードをサポートしていたときは上手く機能していましたが、今では、サポートするキーボードは1500近くまで成長しました。
`keyboards` の下だけで6000個の設定ファイルがあることが推定されます。
これらのファイルの自由形式の性質と、重複を避けるために人々が使用してきたユニークなパターンが継続的なメンテナンスを困難にしており、また、多くのキーボードが時代遅れで時には理解が難しいパターンに従っています。
また、CLI に慣れていない人に QMK のパワーを提供することにも取り組んでおり、VIA などの他のプロジェクトでは、プログラムをインストールするのと同じくらい簡単に QMK を使用できるように取り組んでいます。
これらのツールには、ユーザーが QMK を最大限に活用できるように、キーボードのレイアウト方法や使用可能なピンと機能に関する情報が必要です。
その第一歩として `info.json` を導入しました。
QMK API は、これら3つの情報源`config.h`` rules.mk`、および `info.json`)を、エンドユーザーツールが使用できる信頼できる単一の情報源に結合するための取り組みです。
これで、`info.json`から `rules.mk``config.h` の値を生成することがサポートされ、信頼できる単一の情報源を持つことができます。
これにより、自動化されたツールを使用してキーボードを保守できるため、時間と保守作業を大幅に節約できます。
## 概要
C 側では何も変わりません。
新しいルールを作成したり、定義したりする必要がある場合は、同じプロセスに従います。
1. `docs/config_options.md` に追加します。
1. 適切なコアファイルにデフォルトを設定します。
1. 必要に応じて ifdef 文を追加します。
次に、新しい構成のサポートを `info.json` に追加する必要があります。
基本的なプロセスは次のとおりです。
1. `data/schemas/keyboards.jsonschema` のスキーマに追加します
1. `data/maps` にマッピングを追加します
1. (オプションおよび非推奨)構成を抽出/生成するコードを追加します。
* `lib/python/qmk/info.py`
* `lib/python/qmk/cli/generate/config_h.py`
* `lib/python/qmk/cli/generate/rules_mk.py`
## info.json にオプションを追加する
このセクションでは、info.json に `config.h`/`rules.mk` の値のサポートを追加することについて説明します。
### スキーマに追加する
QMK では、[jsonschema](https:json-schema.org) のファイルを `data/schemas` に保持しています。
キーボード固有の `info.json` ファイルに入る値は `keyboard.jsonschema` に保持されています。
エンドユーザーが編集できるようにしたい値はすべてここに入れなければなりません。
場合によっては、新しいトップレベルキーを追加するだけで済みます。
従うべきいくつかの例は、 `keyboard_name``maintainer``processor`、および `url` です。
これは、オプションが自己完結型で、他のオプションと直接関係がない場合に適しています。
その他の場合、1つの `object` の中に、似ているオプションを集める必要があります。
これは、機能のサポートを追加する場合に特に当てはまります。
このために従うべきいくつかの例は、`indicators``matrix_pins`、および `rgblight` です。
新しいオプションを統合する方法がわからない場合は、[問題を開く](https://github.com/qmk/qmk_firmware/issues/new?assignees=&labels=cli%2C+python&template=other_issues.md&title=)か、[Discord で #cli に参加](https://discord.gg/heQPAgy)して、そこで会話を始めてください。
### マッピングを追加する
ほとんどの場合、単純なマッピングを追加することができます。
これらは `data/mappings/info_config.json``data/mappings/info_rules.json` に JSON ファイルとして保持され、それぞれ `config.h``rules.mk` のマッピングを制御します。
各マッピングは `config.h` または `rules.mk` 変数名をキーとし、値は以下のキーを持つハッシュです。
* `info_key`: (必須)この値の `info.json` 内の場所。 下記参照。
* `value_type`: (オプション)デフォルトは `str`。 この変数の値の形式。 下記参照。
* `to_json`: (オプション)デフォルトは `true`。 このマッピングを info.json から除外するには、`false` に設定します
* `to_c`: (オプション)デフォルトは `true`。 このマッピングを config.h から除外するには、`false` に設定します
* `warn_duplicate`: (オプション)デフォルトは `true`。 値が両方の場所に存在する場合に警告をオフにするには、`false` に設定します
#### Info Key
info.json 内の変数をアドレス指定するために JSON ドット表記を使用します。
たとえば、`info_json["rgblight"]["split_count"]` にアクセスするには、`rgblight.split_count` を指定します。
これにより、深くネストされたキーを単純な文字列でアドレス指定できます。
内部では [Dotty Dict](https://dotty-dict.readthedocs.io/en/latest/) を使用しています。これらの文字列がオブジェクトアクセスに変換される方法についてはそのドキュメントを参照してください。
#### Value Types
デフォルトでは、すべての値を単純な文字列として扱います。
値がより複雑な場合は、次のいずれかのタイプを使用してデータをインテリジェントに解析できます。
* `array`: 文字列のコンマ区切りの配列
* `array.int`: 整数のコンマ区切り配列
* `int`: 整数
* `hex`: 16進数としてフォーマットされた数値
* `list`: 文字列のスペース区切りの配列
* `mapping`: キーと値のペアのハッシュ
### 抽出するコードを追加する
ほとんどのユースケースは、上記のマッピングファイルによって解決できます。
できない場合は、代わりに設定値を抽出するコードを書くことができます。
QMK が完全な `info.json` を生成するときはいつでも、`config.h``rules.mk` から情報を抽出します。
あなたの新しい設定値のためのコードを `lib/python/qmk/info.py` に追加する必要があります。
通常、これは、新しい `_extract_<feature>()` 関数を追加してから、 `_extract_config_h()` または `_extract_rules_mk()` のいずれかで関数を呼び出すことを意味します。
このファイルの編集方法がわからない場合、または Python に慣れていない場合は、[issue を開く](https://github.com/qmk/qmk_firmware/issues/new?assignees=&labels=cli%2C+python&template=other_issues.md&title=)か [Discord で #cli に参加](https://discord.gg/heQPAgy)すると、この部分を誰かが手伝ってくれるでしょう。
### 生成するコードを追加する
パズルの最後のピースは、ビルドシステムに新しいオプションを提供することです。
これは、2つのファイルを生成することによって行われます。
* `.build/obj_<keyboard>/src/info_config.h`
* `.build/obj_<keyboard>/src/rules.mk`
この2つのファイルは、次のコードによって生成されます。
* `lib/python/qmk/cli/generate/config_h.py`
* `lib/python/qmk/cli/generate/rules_mk.py`
`config.h`値の場合、ルール用の関数を記述し、その関数を `generate_config_h()` で呼び出す必要があります。
`rules.mk` の新しいトップレベルの `info.json` キーがある場合は、`lib/python/qmk/cli/generate/rules_mk.py` の上部にある `info_to_rules` にキーを追加するだけです。
それ以外の場合は、`generate_rules_mk()` で機能の新しい if ブロックを作成する必要があります。

View File

@ -1,8 +1,8 @@
# ポインティングデバイス :id=pointing-device
<!---
original document: 0.9.43:docs/feature_pointing_device.md
git diff 0.9.43 HEAD -- docs/feature_pointing_device.md | cat
original document: 0.12.41:docs/feature_pointing_device.md
git diff 0.12.41 HEAD -- docs/feature_pointing_device.md | cat
-->
ポインティングデバイスは汎用的な機能の総称です: システムポインタを移動します。マウスキーのような他のオプションも確かにありますが、これは簡単に変更可能で軽量であることを目指しています。機能を制御するためにカスタムキーを実装したり、他の周辺機器から情報を収集してここに直接挿入したりできます - QMK に処理を任せてください。
@ -24,7 +24,7 @@ report_mouse_t (ここでは "mouseReport") が以下のプロパティを持つ
* `mouseReport.y` - これは、y軸の動き(+ 上へ、- 下へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
* `mouseReport.v` - これは、垂直スクロール(+ 上へ、- 下へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
* `mouseReport.h` - これは、水平スクロール(+ 右へ、- 左へ)を表す -127 から 127 (128ではなく、USB HID 仕様で定義されています)の符号付き整数です。
* `mouseReport.buttons` - これは uint8_t で、上位の5ビットを使っています。これらのビットはマウスボタンの状態を表します - ビット 3 はマウスボタン 5、ビット 7 はマウスボタン 1 です。
* `mouseReport.buttons` - これは uint8_t で、8ビット全てを使っています。これらのビットはマウスボタンの状態を表します - ビット 0 はマウスボタン 1、ビット 7 はマウスボタン 8 です。
マウスレポートに必要な変更を行ったら、それを送信する必要があります:
@ -32,6 +32,10 @@ report_mouse_t (ここでは "mouseReport") が以下のプロパティを持つ
マウスレポートが送信されると、x、y、v、h のいずれの値も 0 に設定されます (これは `pointing_device_send()` で行われます。この挙動を回避するためにオーバーライドすることができます)。このように、ボタンの状態は持続しますが、動きは1度だけ起こります。さらにカスタマイズするために、`pointing_device_init``pointing_device_task` のどちらもオーバーライドすることができます。
さらに、デフォルトでは、`pointing_device_send()` はレポートが実際に変更された場合のみレポートを送信します。これにより、マウスレポートが継続的に送信されてホストシステムが起動されたままになることを防ぎます。この動作は、独自の `pointing_device_send()` 関数を作成することで変更できます。
また、`has_mouse_report_changed(new, old)` 関数を使って、レポートが変更されたかどうかを確認できます。(訳注:独自の `pointing_device_send()` 関数を作成する場合でも、その中で `has_mouse_report_changed(new, old)` 関数でチェックして、デフォルトの `pointing_device_send()` と類似の無駄なレポートの抑制をして、ホストシステムがスリープ状態に入れる余地を残すようにしておくのが良いでしょう。)
以下の例では、カスタムキーを使ってマウスをクリックし垂直および水平方向に127単位スクロールし、リリースされた時にそれを全て元に戻します - なぜならこれは完全に便利な機能だからです。いいですか、以下はひとつの例です:
```c

View File

@ -1,9 +1,9 @@
# QMK 初心者ガイド
# QMK チュートリアル
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/newbs.md
git diff 0.9.0 HEAD -- docs/newbs.md | cat
original document: 0.12.45:docs/newbs.md
git diff 0.12.45 HEAD -- docs/newbs.md | cat
-->
キーボードには、コンピュータ入っているものと似たようなプロセッサが入っています。
@ -19,20 +19,16 @@ QMK は、簡単なことは簡単に、そして、難しいことを可能な
QMK は[多くの趣味のキーボード](https://qmk.fm/keyboards/)をサポートしています。
現在使用しているキーボードが QMK を実行できない場合、QMK を実行できるキーボードの選択肢はたくさんあります。
## このガイドは私のためにあるのでしょうか?
このガイドは、ソースコードを使ってキーボードのファームウェアを構築したいと考えている人に適しています。
もしあなたがすでにプログラマーであれば、このプロセスはとても身近で簡単に理解できるでしょう。
もし、プログラミングの考え方に抵抗があるのであれば、代わりに[私たちのオンラインGUI](ja/newbs_building_firmware_configurator.md)を見てみてください。
?> **このガイドは私のためにあるのでしょうか?**<br>
もし、プログラミングの考え方に抵抗があるのであれば、代わりに[私たちのオンライン GUI](ja/newbs_building_firmware_configurator.md) を見てみてください。
## 概要
このガイドには4つの主要なセクションがあります
このガイドは、ソースコードを使ってキーボードのファームウェアを構築したいと考えている人に適しています。 もしあなたがすでにプログラマーであれば、このプロセスはとても身近で簡単に理解できるでしょう。このガイドには3つの主要なセクションがあります:
1. [環境設定](ja/newbs_getting_started.md)
2. [コマンドラインを使用して初めてのファームウェアを構築する](ja/newbs_building_firmware.md)
3. [ファームウェアを書きこむ](ja/newbs_flashing.md)
4. [テストとデバッグ](ja/newbs_testing_debugging.md)
このガイドは、これまでソフトウェアをコンパイルしたことがない人を支援することに特化しています。
その観点から選択と推奨を行います。
@ -41,8 +37,4 @@ QMK は[多くの趣味のキーボード](https://qmk.fm/keyboards/)をサポ
## 追加のリソース
このガイドの他にも、QMK の学習に役立つリソースがいくつかあります。[学習リソース](ja/newbs_learn_more_resources.md)のページにまとめました。
## オープンソース
QMKは GNU General Public License でリリースされているオープンソース・ソフトウェアです。
このガイドの他にも、QMK の学習に役立つリソースがいくつかあります。[シラバス](ja/syllabus.md)と[学習リソース](ja/newbs_learn_more_resources.md)のページにまとめました。

View File

@ -1,12 +1,12 @@
# ファームウェアを書き
# ファームウェアを書き
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.44:docs/newbs_flashing.md
git diff 0.9.44 HEAD -- docs/newbs_flashing.md | cat
original document: 0.12.45:docs/newbs_flashing.md
git diff 0.12.45 HEAD -- docs/newbs_flashing.md | cat
-->
カスタムファームウェアは出来たので、キーボード書き込みたくなるでしょう/フラッシュしたくなるでしょう
カスタムファームウェアは出来たので、いよいよキーボードへの書き込み(フラッシュ)です
## キーボードを DFU (Bootloader) モードにする
@ -50,18 +50,22 @@ Finder またはエクスプローラーでファームウェアのファイル
Windows か macOS を使用している場合、現在のフォルダをエクスプローラーか Finder で簡単に開くためのコマンドがあります。
#### Windows
<!-- tabs:start -->
#### ** Windows **
```
start .
```
#### macOS
#### ** macOS **
```
open .
```
<!-- tabs:end -->
ファームウェアファイルは常に以下の命名形式に従っています:
```
@ -117,11 +121,13 @@ QMK Toolbox の `Flash` ボタンをクリックします。次のような出
WARNING: This board's bootloader is not specified or is not supported by the ":flash" target at this time.
この場合、あなたは明示的にブートローダを指定する方法を使わなければなりません。詳細は、[ファームウェアのフラッシュ](ja/flashing.md) ガイドを参照してください。
この場合、あなたは明示的にブートローダを指定する方法を使わなければなりません。詳細は、[ファームウェアのフラッシュ](ja/flashing.md)ガイドを参照してください。
## テストしましょう!
おめでとうございます! カスタムファームウェアがキーボードにプログラムされました!
おめでとうございます!カスタムファームウェアがキーボードにプログラムされ、テストする準備ができました!
使ってみて、すべてがあなたの望むように動作するかどうか確認してください
この初心者ガイドを完全なものにするために [テストとデバッグ](ja/newbs_testing_debugging.md) を書いたので、ファームウェアの検証とカスタム機能のトラブルシューティング方法について学ぶには、こちらをご覧ください
少し運が良ければ全てが完璧に機能しますが、そうでない場合は何が問題なのかを理解するのに役立つ手順があります
通常、キーボードのテストは非常に簡単です。全てのキーをひとつずつ押して、期待するキーが送信されることを確認します。例え QMK で動作していない場合でも、[QMK Configurator](https://config.qmk.fm/#/test/) のテストモードを使用すると、キーボードをチェックできます
まだ動作しませんか?詳細については FAQ トピックを参照するか、[Discord でチャット](https://discord.gg/Uq7gcHh)してください。

View File

@ -2,13 +2,13 @@
<!---
grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh
original document: 0.9.0:docs/newbs_learn_more_resources.md
git diff 0.9.0 HEAD -- docs/newbs_learn_more_resources.md | cat
original document: 0.12.45:docs/newbs_learn_more_resources.md
git diff 0.12.45 HEAD -- docs/newbs_learn_more_resources.md | cat
-->
これらのリソースは、QMK コミュニティの新しいメンバーに、初心者向けドキュメントで提供されている情報に対する理解を深めることを目的としています。
## QMK に関するリソース:
## QMK に関するリソース
### 英語 :id=english-resources-qmk
@ -18,17 +18,35 @@
_日本語のリソース情報を募集中です。_
## コマンドラインに関するリソース:
## コマンドラインに関するリソース :id=command-line-resources
### 英語 :id=english-resources-cli
* [Good General Tutorial on Command Line](https://www.codecademy.com/learn/learn-the-command-line)
* [Must Know Linux Commands](https://www.guru99.com/must-know-linux-commands.html)<br>
* [Some Basic Unix Commands](https://www.tjhsst.edu/~dhyatt/superap/unixcmd.html)
### 日本語 :id=japanese-resources-cli
_日本語のリソース情報を募集中です。_
## Git に関するリソース:
## テキストエディタに関するリソース :id=text-editor-resources
どのテキストエディタを使えば良いか分かりませんか?
### 英語 :id=english-resources-text-editor
* [a great introduction to the subject](https://learntocodewith.me/programming/basics/text-editors/)
### 日本語 :id=japanese-resources-text-editor
_日本語のリソース情報を募集中です。_
コーディング用に特別に作成されたエディタ:
* [Sublime Text](https://www.sublimetext.com/)
* [VS Code](https://code.visualstudio.com/)
## Git に関するリソース
### 英語 :id=english-resources-git

View File

@ -23,7 +23,7 @@ You can control the behavior of one shot keys by defining these in `config.h`:
Sometimes, you want to activate a one-shot key as part of a macro or tap dance routine.
For one shot layers, you need to call `set_oneshot_layer(LAYER, ONESHOT_START)` on key down, and `clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED)` on key up. If you want to cancel the oneshot, call `reset_oneshot_layer()`.
For one shot layers, you need to call `set_oneshot_layer(LAYER, ONESHOT_START)` on key down, and `clear_oneshot_layer_state(ONESHOT_PRESSED)` on key up. If you want to cancel the oneshot, call `reset_oneshot_layer()`.
For one shot mods, you need to call `set_oneshot_mods(MOD_BIT(KC_*))` to set it, or `clear_oneshot_mods()` to cancel it.

View File

@ -0,0 +1,41 @@
/* Copyright 2021 Leon Anavi <leon@anavi.org>
*
* 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
/*
* The keymap contains the following shortcuts for Skype on
* MS Windows and GNU/Linux distributions:
*
* Ctrl+M: Mute/unmute microphone
* Ctrl+Shift+K: Start/stop camera
*
* NOTE: Mac users should change the shortcut to toggle the mic
* to Command+Shift+M, for example KC_LGUI(LSFT(KC_M))
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
LCTL(KC_M), LCTL(LSFT(KC_K))
)
};
const uint16_t PROGMEM test_combo[] = {LCTL(KC_M), LCTL(LSFT(KC_K)), COMBO_END};
combo_t key_combos[COMBO_COUNT] = {COMBO_ACTION(test_combo)};
void process_combo_event(uint16_t combo_index, bool pressed) {
backlight_step();
}

View File

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

View File

@ -0,0 +1,45 @@
/* Copyright 2021 AAClawson (AlisGraveNil)
*
* 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 0x7767
#define PRODUCT_ID 0x0000
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
#define PRODUCT hatchbackTKL
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 10
/*
* 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 { B0, B6, D4, B4, D0, B5, D1, E6, D2, D7, D3, C6 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, B3, B2, D5, C7, F1 }
#define DIODE_DIRECTION COL2ROW

View File

@ -0,0 +1,41 @@
/* Copyright 2021 AAClawson (AlisGraveNil)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
K00, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07, K18, K09, \
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K38, K29, \
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, K58, K49, \
K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K76, \
K80, K90, K81, K91, K82, K92, K83, K93, K84, K94, K85, K96, K98, \
KA0, KB0, KA1, KA2, KA3, KA4, KA5, KB5, KA6, KB6, KA7, KB8, KA9 \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, KC_NO, K09 }, \
{ KC_NO, K11, K12, K13, K14, K15, K16, KC_NO, K18, KC_NO }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, KC_NO, K29 }, \
{ K30, K31, K32, K33, K34, K35, K36, KC_NO, K38, KC_NO }, \
{ K40, K41, K42, K43, K44, K45, K46, K47, KC_NO, K49 }, \
{ K50, K51, K52, K53, K54, K55, K56, KC_NO, K58, KC_NO }, \
{ K60, K61, K62, K63, K64, K65, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ K70, K71, K72, K73, K74, K75, K76, KC_NO, KC_NO, KC_NO }, \
{ K80, K81, K82, K83, K84, K85, KC_NO, KC_NO, KC_NO, KC_NO }, \
{ K90, K91, K92, K93, K94, KC_NO, K96, KC_NO, K98, KC_NO }, \
{ KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, KC_NO, KA9 }, \
{ KB0, KC_NO, KC_NO, KC_NO, KC_NO, KB5, KB6, KC_NO, KB8, KC_NO }, \
}

View File

@ -0,0 +1,17 @@
/* Copyright 2021 AAClawson (AlisGraveNil)
*
* 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 "hatchback.h"

View File

@ -0,0 +1,102 @@
{
"keyboard_name": "hatchbackTKL",
"url": "www.clawboards.xyz",
"maintainer": "AAClawson (AlisGraveNil)",
"width": 18.25,
"height": 6.5,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"K00 (B0,F4)", "x":0, "y":0},
{"label":"K01 (B0,F5)", "x":2, "y":0},
{"label":"K11 (B6,F5)", "x":3, "y":0},
{"label":"K02 (B0,F6)", "x":4, "y":0},
{"label":"K12 (B6,F6)", "x":5, "y":0},
{"label":"K03 (B0,F7)", "x":6.5, "y":0},
{"label":"K13 (B6,F7)", "x":7.5, "y":0},
{"label":"K04 (B0,B1)", "x":8.5, "y":0},
{"label":"K14 (B6,B1)", "x":9.5, "y":0},
{"label":"K05 (B0,B3)", "x":11, "y":0},
{"label":"K15 (B6,B3)", "x":12, "y":0},
{"label":"K06 (B0,B2)", "x":13, "y":0},
{"label":"K16 (B6,B2)", "x":14, "y":0},
{"label":"K07 (B0,D5)", "x":15.25, "y":0},
{"label":"K18 (B6,C7)", "x":16.25, "y":0},
{"label":"K09 (B0,F1)", "x":17.25, "y":0},
{"label":"K20 (D4,F4)", "x":0, "y":1.5},
{"label":"K30 (B4,F4)", "x":1, "y":1.5},
{"label":"K21 (D4,F5)", "x":2, "y":1.5},
{"label":"K31 (B4,F5)", "x":3, "y":1.5},
{"label":"K22 (D4,F6)", "x":4, "y":1.5},
{"label":"K32 (B4,F6)", "x":5, "y":1.5},
{"label":"K23 (D4,F7)", "x":6, "y":1.5},
{"label":"K33 (B4,F7)", "x":7, "y":1.5},
{"label":"K24 (D4,B1)", "x":8, "y":1.5},
{"label":"K34 (B4,B1)", "x":9, "y":1.5},
{"label":"K25 (D4,B3)", "x":10, "y":1.5},
{"label":"K35 (B4,B3)", "x":11, "y":1.5},
{"label":"K26 (D4,B2)", "x":12, "y":1.5},
{"label":"K36 (B4,B2)", "x":13, "y":1.5, "w":2},
{"label":"K27 (D4,D5)", "x":15.25, "y":1.5},
{"label":"K38 (B4,C7)", "x":16.25, "y":1.5},
{"label":"K29 (D4,F1)", "x":17.25, "y":1.5},
{"label":"K40 (D0,F4)", "x":0, "y":2.5, "w":1.5},
{"label":"K50 (B5,F4)", "x":1.5, "y":2.5},
{"label":"K41 (D0,F5)", "x":2.5, "y":2.5},
{"label":"K51 (B5,F5)", "x":3.5, "y":2.5},
{"label":"K42 (D0,F6)", "x":4.5, "y":2.5},
{"label":"K52 (B5,F6)", "x":5.5, "y":2.5},
{"label":"K43 (D0,F7)", "x":6.5, "y":2.5},
{"label":"K53 (B5,F7)", "x":7.5, "y":2.5},
{"label":"K44 (D0,B1)", "x":8.5, "y":2.5},
{"label":"K54 (B5,B1)", "x":9.5, "y":2.5},
{"label":"K45 (D0,B3)", "x":10.5, "y":2.5},
{"label":"K55 (B5,B3)", "x":11.5, "y":2.5},
{"label":"K46 (D0,B2)", "x":12.5, "y":2.5},
{"label":"K56 (B5,B2)", "x":13.5, "y":2.5, "w":1.5},
{"label":"K47 (D0,D5)", "x":15.25, "y":2.5},
{"label":"K58 (B5,C7)", "x":16.25, "y":2.5},
{"label":"K49 (D0,F1)", "x":17.25, "y":2.5},
{"label":"K60 (D1,F4)", "x":0, "y":3.5, "w":1.75},
{"label":"K70 (E6,F4)", "x":1.75, "y":3.5},
{"label":"K61 (D1,F5)", "x":2.75, "y":3.5},
{"label":"K71 (E6,F5)", "x":3.75, "y":3.5},
{"label":"K62 (D1,F6)", "x":4.75, "y":3.5},
{"label":"K72 (E6,F6)", "x":5.75, "y":3.5},
{"label":"K63 (D1,F7)", "x":6.75, "y":3.5},
{"label":"K73 (E6,F7)", "x":7.75, "y":3.5},
{"label":"K64 (D1,B1)", "x":8.75, "y":3.5},
{"label":"K74 (E6,B1)", "x":9.75, "y":3.5},
{"label":"K65 (D1,B3)", "x":10.75, "y":3.5},
{"label":"K75 (E6,B3)", "x":11.75, "y":3.5},
{"label":"K76 (E6,B2)", "x":12.75, "y":3.5, "w":2.25},
{"label":"K80 (D2,F4)", "x":0, "y":4.5, "w":2.25},
{"label":"K90 (D7,F4)", "x":2.25, "y":4.5},
{"label":"K81 (D2,F5)", "x":3.25, "y":4.5},
{"label":"K91 (D7,F5)", "x":4.25, "y":4.5},
{"label":"K82 (D2,F6)", "x":5.25, "y":4.5},
{"label":"K92 (D7,F6)", "x":6.25, "y":4.5},
{"label":"K83 (D2,F7)", "x":7.25, "y":4.5},
{"label":"K93 (D7,F7)", "x":8.25, "y":4.5},
{"label":"K84 (D2,B1)", "x":9.25, "y":4.5},
{"label":"K94 (D7,B1)", "x":10.25, "y":4.5},
{"label":"K85 (D2,B3)", "x":11.25, "y":4.5},
{"label":"K96 (D7,B2)", "x":12.25, "y":4.5, "w":2.75},
{"label":"K98 (D7,C7)", "x":16.25, "y":4.5},
{"label":"KA0 (D3,F4)", "x":0, "y":5.5, "w":1.25},
{"label":"KB0 (C6,F4)", "x":1.25, "y":5.5, "w":1.25},
{"label":"KA1 (D3,F5)", "x":2.5, "y":5.5, "w":1.25},
{"label":"KA2 (D3,F6)", "x":3.75, "y":5.5, "w":2.25},
{"label":"KA3 (D3,F7)", "x":6, "y":5.5, "w":1.75},
{"label":"KA4 (D3,B1)", "x":7.75, "y":5.5, "w":2.25},
{"label":"KA5 (D3,B3)", "x":10, "y":5.5, "w":1.25},
{"label":"KB5 (C6,B3)", "x":11.25, "y":5.5, "w":1.25},
{"label":"KA6 (D3,B2)", "x":12.5, "y":5.5, "w":1.25},
{"label":"KB6 (C6,B2)", "x":13.75, "y":5.5, "w":1.25},
{"label":"KA7 (D3,D5)", "x":15.25, "y":5.5},
{"label":"KB8 (C6,C7)", "x":16.25, "y":5.5},
{"label":"KA9 (D3,F1)", "x":17.25, "y":5.5}
]
}
}
}

View File

@ -0,0 +1,30 @@
/* Copyright 2021 AAClawson (AlisGraveNil)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_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,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
};

View File

@ -0,0 +1,14 @@
# SUV
This is TKL keyboard that can be converted down into a 75% keyboard and a 13key macropad (see "luggage rack")
- Keyboard Maintainer: [AAClawson](https://github.com/AlisGraveNil)
- Hardware Supported: Hatchback, Elite-C (as TKL); Pro-Micro and nice!nano (as 75%)
- Hardware Availability: In stock within the next month
Make example for this keyboard (after setting up your build environment):
make clawsome/hatchback:default
Connect your board to your computer; connect the "GND" and "RST" pins on your controller using a wire or a pair of tweezers and hold it for 3 seconds to force the controller into bootloader mode. Then use QMK Toolbox to flash the .hex you downloaded from the QMK website. If using an Elite-C, there's a small black reset button on the PCB you can press instead of trying to connect the two pins.
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,22 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output

View File

@ -0,0 +1,45 @@
/* Copyright 2021 AAClawson (AlisGraveNil)
*
* 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 0x7767
#define PRODUCT_ID 0x0000
#define DEVICE_VER 0x0001
#define MANUFACTURER AlisGraveNil
#define PRODUCT suv1.1
/* key matrix size */
#define MATRIX_ROWS 12
#define MATRIX_COLS 11
/*
* 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 { F0, B6, D0, F6, D4, F7, B3, B1, B0, C6, B2, D7 }
#define MATRIX_COL_PINS { D3, D2, D1, B4, B5, B7, D5, C7, F1, F5, F4 }
#define DIODE_DIRECTION COL2ROW

View File

@ -0,0 +1,120 @@
{
"keyboard_name": "suv1.1",
"url": "www.clawboards.xyz",
"maintainer": "AAClawson (AlisGraveNil)",
"width": 22.5,
"height": 6.5,
"layouts": {
"LAYOUT": {
"layout": [
{"label":"K00 (F0,D3)", "x":0, "y":0},
{"label":"K01 (F0,D2)", "x":2, "y":0},
{"label":"K11 (B6,D2)", "x":3, "y":0},
{"label":"K02 (F0,D1)", "x":4, "y":0},
{"label":"K12 (B6,D1)", "x":5, "y":0},
{"label":"K03 (F0,B4)", "x":6.5, "y":0},
{"label":"K13 (B6,B4)", "x":7.5, "y":0},
{"label":"K04 (F0,B5)", "x":8.5, "y":0},
{"label":"K14 (B6,B5)", "x":9.5, "y":0},
{"label":"K05 (F0,B7)", "x":11, "y":0},
{"label":"K15 (B6,B7)", "x":12, "y":0},
{"label":"K06 (F0,D5)", "x":13, "y":0},
{"label":"K16 (B6,D5)", "x":14, "y":0},
{"label":"K07 (F0,C7)", "x":15.25, "y":0},
{"label":"K17 (B6,C7)", "x":16.25, "y":0},
{"label":"K08 (F0,F1)", "x":17.25, "y":0},
{"label":"K20 (D0,D3)", "x":0, "y":1.5},
{"label":"K30 (F6,D3)", "x":1, "y":1.5},
{"label":"K21 (D0,D2)", "x":2, "y":1.5},
{"label":"K31 (F6,D2)", "x":3, "y":1.5},
{"label":"K22 (D0,D1)", "x":4, "y":1.5},
{"label":"K32 (F6,D1)", "x":5, "y":1.5},
{"label":"K23 (D0,B4)", "x":6, "y":1.5},
{"label":"K33 (F6,B4)", "x":7, "y":1.5},
{"label":"K24 (D0,B5)", "x":8, "y":1.5},
{"label":"K34 (F6,B5)", "x":9, "y":1.5},
{"label":"K25 (D0,B7)", "x":10, "y":1.5},
{"label":"K35 (F6,B7)", "x":11, "y":1.5},
{"label":"K26 (D0,D5)", "x":12, "y":1.5},
{"label":"K36 (F6,D5)", "x":13, "y":1.5, "w":2},
{"label":"K27 (D0,C7)", "x":15.25, "y":1.5},
{"label":"K37 (F6,C7)", "x":16.25, "y":1.5},
{"label":"K28 (D0,F1)", "x":17.25, "y":1.5},
{"label":"K38 (F6,F1)", "x":18.5, "y":1.5},
{"label":"K29 (D0,F5)", "x":19.5, "y":1.5},
{"label":"K39 (F6,F5)", "x":20.5, "y":1.5},
{"label":"K2A (D0,F4)", "x":21.5, "y":1.5},
{"label":"K40 (D4,D3)", "x":0, "y":2.5, "w":1.5},
{"label":"K50 (F7,D3)", "x":1.5, "y":2.5},
{"label":"K41 (D4,D2)", "x":2.5, "y":2.5},
{"label":"K51 (F7,D2)", "x":3.5, "y":2.5},
{"label":"K42 (D4,D1)", "x":4.5, "y":2.5},
{"label":"K52 (F7,D1)", "x":5.5, "y":2.5},
{"label":"K43 (D4,B4)", "x":6.5, "y":2.5},
{"label":"K53 (F7,B4)", "x":7.5, "y":2.5},
{"label":"K44 (D4,B5)", "x":8.5, "y":2.5},
{"label":"K54 (F7,B5)", "x":9.5, "y":2.5},
{"label":"K45 (D4,B7)", "x":10.5, "y":2.5},
{"label":"K55 (F7,B7)", "x":11.5, "y":2.5},
{"label":"K46 (D4,D5)", "x":12.5, "y":2.5},
{"label":"K56 (F7,D5)", "x":13.5, "y":2.5, "w":1.5},
{"label":"K47 (D4,C7)", "x":15.25, "y":2.5},
{"label":"K57 (F7,C7)", "x":16.25, "y":2.5},
{"label":"K48 (D4,F1)", "x":17.25, "y":2.5},
{"label":"K58 (F7,F1)", "x":18.5, "y":2.5},
{"label":"K49 (D4,F5)", "x":19.5, "y":2.5},
{"label":"K59 (F7,F5)", "x":20.5, "y":2.5},
{"label":"K4A (D4,F4)", "x":21.5, "y":2.5, "h":2},
{"label":"K60 (B3,D3)", "x":0, "y":3.5, "w":1.75},
{"label":"K70 (B1,D3)", "x":1.75, "y":3.5},
{"label":"K61 (B3,D2)", "x":2.75, "y":3.5},
{"label":"K71 (B1,D2)", "x":3.75, "y":3.5},
{"label":"K62 (B3,D1)", "x":4.75, "y":3.5},
{"label":"K72 (B1,D1)", "x":5.75, "y":3.5},
{"label":"K63 (B3,B4)", "x":6.75, "y":3.5},
{"label":"K73 (B1,B4)", "x":7.75, "y":3.5},
{"label":"K64 (B3,B5)", "x":8.75, "y":3.5},
{"label":"K74 (B1,B5)", "x":9.75, "y":3.5},
{"label":"K65 (B3,B7)", "x":10.75, "y":3.5},
{"label":"K75 (B1,B7)", "x":11.75, "y":3.5},
{"label":"K76 (B1,D5)", "x":12.75, "y":3.5, "w":2.25},
{"label":"K78 (B1,F1)", "x":18.5, "y":3.5},
{"label":"K69 (B3,F5)", "x":19.5, "y":3.5},
{"label":"K79 (B1,F5)", "x":20.5, "y":3.5},
{"label":"K80 (B0,D3)", "x":0, "y":4.5, "w":2.25},
{"label":"K90 (C6,D3)", "x":2.25, "y":4.5},
{"label":"K81 (B0,D2)", "x":3.25, "y":4.5},
{"label":"K91 (C6,D2)", "x":4.25, "y":4.5},
{"label":"K82 (B0,D1)", "x":5.25, "y":4.5},
{"label":"K92 (C6,D1)", "x":6.25, "y":4.5},
{"label":"K83 (B0,B4)", "x":7.25, "y":4.5},
{"label":"K93 (C6,B4)", "x":8.25, "y":4.5},
{"label":"K84 (B0,B5)", "x":9.25, "y":4.5},
{"label":"K94 (C6,B5)", "x":10.25, "y":4.5},
{"label":"K85 (B0,B7)", "x":11.25, "y":4.5},
{"label":"K96 (C6,D5)", "x":12.25, "y":4.5, "w":2.75},
{"label":"K97 (C6,C7)", "x":16.25, "y":4.5},
{"label":"K98 (C6,F1)", "x":18.5, "y":4.5},
{"label":"K89 (B0,F5)", "x":19.5, "y":4.5},
{"label":"K99 (C6,F5)", "x":20.5, "y":4.5},
{"label":"K8A (B0,F4)", "x":21.5, "y":4.5, "h":2},
{"label":"KA0 (B2,D3)", "x":0, "y":5.5, "w":1.25},
{"label":"KB0 (D7,D3)", "x":1.25, "y":5.5, "w":1.25},
{"label":"KA1 (B2,D2)", "x":2.5, "y":5.5, "w":1.25},
{"label":"KA2 (B2,D1)", "x":3.75, "y":5.5, "w":2.25},
{"label":"KA3 (B2,B4)", "x":6, "y":5.5, "w":1.75},
{"label":"KA4 (B2,B5)", "x":7.75, "y":5.5, "w":2.25},
{"label":"KA5 (B2,B7)", "x":10, "y":5.5, "w":1.25},
{"label":"KB5 (D7,B7)", "x":11.25, "y":5.5, "w":1.25},
{"label":"KA6 (B2,D5)", "x":12.5, "y":5.5, "w":1.25},
{"label":"KB6 (D7,D5)", "x":13.75, "y":5.5, "w":1.25},
{"label":"KA7 (B2,C7)", "x":15.25, "y":5.5},
{"label":"KB7 (D7,C7)", "x":16.25, "y":5.5},
{"label":"KA8 (B2,F1)", "x":17.25, "y":5.5},
{"label":"KB8 (D7,F1)", "x":18.5, "y":5.5, "w":2},
{"label":"KB9 (D7,F5)", "x":20.5, "y":5.5}
]
}
}
}

View File

@ -0,0 +1,30 @@
/* Copyright 2021 AAClawson (AlisGraveNil)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
KC_ESC, KC_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_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
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_P7, KC_P8, KC_P9, KC_PPLS,
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_P4, KC_P5, KC_P6,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LGUI, KC_MENU, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
),
};

View File

@ -0,0 +1,13 @@
# SUV
This is 100% keyboard with the standard layout of a 104-key setup.
- Keyboard Maintainer: [AAClawson](https://github.com/AlisGraveNil)
- Hardware Supported: SUV, Elite-C
- Hardware Availability: In stock within the next month
Make example for this keyboard (after setting up your build environment):
make clawsome/suv:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@ -0,0 +1,22 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
BOOTLOADER = caterina
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = yes # Console for debug
COMMAND_ENABLE = yes # Commands for debug and configuration
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
NKRO_ENABLE = no # USB Nkey Rollover
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
BLUETOOTH_ENABLE = no # Enable Bluetooth
AUDIO_ENABLE = no # Audio output

View File

@ -0,0 +1,17 @@
/* Copyright 2021 AAClawson (AlisGraveNil)
*
* 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 "suv.h"

View File

@ -0,0 +1,41 @@
/* Copyright 2021 AAClawson (AlisGraveNil)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
K00, K01, K11, K02, K12, K03, K13, K04, K14, K05, K15, K06, K16, K07, K17, K08, \
K20, K30, K21, K31, K22, K32, K23, K33, K24, K34, K25, K35, K26, K36, K27, K37, K28, K38, K29, K39, K2A, \
K40, K50, K41, K51, K42, K52, K43, K53, K44, K54, K45, K55, K46, K56, K47, K57, K48, K58, K49, K59, K4A, \
K60, K70, K61, K71, K62, K72, K63, K73, K64, K74, K65, K75, K76, K78, K69, K79, \
K80, K90, K81, K91, K82, K92, K83, K93, K84, K94, K85, K96, K97, K98, K89, K99, K8A, \
KA0, KB0, KA1, KA2, KA3, KA4, KA5, KB5, KA6, KB6, KA7, KB7, KA8, KB8, KB9 \
) { \
{ K00, K01, K02, K03, K04, K05, K06, K07, K08, KC_NO, KC_NO }, \
{ KC_NO, K11, K12, K13, K14, K15, K16, K17, KC_NO, KC_NO, KC_NO }, \
{ K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A }, \
{ K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, KC_NO }, \
{ K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A }, \
{ K50, K51, K52, K53, K54, K55, K56, K57, K58, K59, KC_NO }, \
{ K60, K61, K62, K63, K64, K65, KC_NO, KC_NO, KC_NO, K69, KC_NO }, \
{ K70, K71, K72, K73, K74, K75, K76, KC_NO, K78, K79, KC_NO }, \
{ K80, K81, K82, K83, K84, K85, KC_NO, KC_NO, KC_NO, K89, K8A }, \
{ K90, K91, K92, K93, K94, KC_NO, K96, K97, K98, K99, KC_NO }, \
{ KA0, KA1, KA2, KA3, KA4, KA5, KA6, KA7, KA8, KC_NO, KC_NO }, \
{ KB0, KC_NO, KC_NO, KC_NO, KC_NO, KB5, KB6, KB7, KB8, KB9, KC_NO }, \
}

View File

@ -21,11 +21,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define VENDOR_ID 0x4853
#define PRODUCT_ID 0x980C
#define DEVICE_VER 0x0100
#define MANUFACTURER QMK
#define PRODUCT Leopold FC980C with QMK
#define MANUFACTURER Hasu
#define PRODUCT FC980C
/* Maximum dynamic keymap layers (constrained by EEPROM space) */
#define DYNAMIC_KEYMAP_LAYER_COUNT 3
/* key matrix size */
#define MATRIX_ROWS 8

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