Compare commits

...

20 Commits

Author SHA1 Message Date
Joel Challis
7e9ed2acbf Fix clang-format logic within CI (#7386) 2019-11-22 17:02:55 +00:00
Drashna Jaelre
66d4734371 Improve and streamline MSYS2 installation (#7232)
* Make MSYS force install

* Cleanup msys script

* Update to gcc 8.3 for arm and avr

And cleanup install scripts for both

* Fix path and scripts

* Fix links

* No confirmation for msys

* Tweak arm function since file structure changed

* Fix spacing and wording

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Only use MSYS2's make binary

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Some wordsmithing

Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>

* Add "disable download timeout" for download issues in MSYS

Co-Authored-By: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com>

* Clean up URL for arm gcc download

Co-Authored-By: Joel Challis <git@zvecr.com>

* add pip

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-22 18:09:02 +11:00
Drashna Jaelre
6cf574396a [Keyboard] Update default keymaps to use layer_state_t (#7444)
* Update default keymaps to use `layer_state_t`

* Convert binon32 as get_highest_layer in default keymaps
2019-11-21 22:40:29 -08:00
dsanchezseco
f0a9c10b6d [Keymap] added rgblight controls to planck keymap (#7439) 2019-11-21 22:15:40 -08:00
fauxpark
78954a0d3e [Keyboard] Add three missing layouts (#7441)
* Add three missing default layouts

* Add layout support to tragicforce68

* Not really 68%

* Fix dumb mistake

* Update info.json too

* Apply suggestions from code review
2019-11-21 20:25:19 -08:00
fauxpark
02412156d5 Add 4-character aliases for sendstring keycodes (#7409)
* Add 4-character aliases for sendstring keycodes

* Remove pointless mail keycode redefinition

* Forgot brightness keycodes
2019-11-22 14:11:28 +11:00
Thomas Baart
e70fef03c1 Updated Kyria readme.md with relocated build guide (#7438) 2019-11-21 21:03:47 +00:00
Erovia
7e7eb69edf MILC: Add support for hidden subcommands (#7034)
* MILC: Add support for hidden subcommands

Subcommands with 'hidden=True' will not show up in the help output, but
will work as any other subcommands.

* Hide those hidden submodules, for real now

* Rebase on latest MILC
2019-11-21 12:52:00 -08:00
Drashna Jaelre
f0790a722d Change label for stale bot (#7429)
* Change label for stale bot

* Reword things to be more concise and clear

* git add .  -- that's how this works, right?

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Remove Discussion label from issue templates
2019-11-21 11:02:39 -08:00
fauxpark
57815dbc3b [Keymap] Clean up & improve default layouts (#7428)
* Clean up & improve default layouts

* Add newline at EOF in readmes

* Oops
2019-11-21 03:50:23 -08:00
moyi4681
5d76b5f655 [Keyboard] dztech rgb pcb v2 support (#7423)
* dztech rgb pcb v2 support

dztech rgb pcb v2 support

* Update config.h

* Update rules.mk

* Update rules.mk

* Update rules.mk

* Update keyboards/dztech/dz60rgb/v2/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/dztech/dz60rgb/v2/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/dztech/dz60rgb_ansi/v2/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/dztech/dz60rgb_ansi/v2/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/dztech/dz60rgb_wkl/v2/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/dztech/dz60rgb_wkl/v2/rules.mk

Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-21 03:19:10 -08:00
Tim Schumacher
84065e1d74 [Keymap] Add DZ60, Levinson keymaps, twschum user files (#7358)
* Adds layout for DZ60rev2 plate B, options 4 and 10

* Use KC_TRANS for layer keys

* Format layer0 with visual key size layout

* Add RGB controls; add start description; add KC_LOCK

* Update comments on rules.mk for DZ60

* Gets keymap compiling

* Fix wiring for shift on row 3

* Hold a with other key to send Ctrl-A before other key

* Adds compile-time defined mac-compatability media keycodes

* Adds logic in place for capturing taps (w/ timeout)

* Add send_keys(...) which can send up to 64 nested keycodes

* Implement send_keys callable with n repeats

* Tweaks some of the keymap

* Add reset keycode; add disable to custom shortcuts

* Adds a special "off" layer where bonus mod goes to layer 0, every other key KC_NO

* Adjust timeout; mousekey settings

* Changes layout of Home,End,PgUp/Dn on the dedicated arrow keys L1/L2

* PoC on rgb lighted layer indication

* Refactors color table defines

* Adds logic for controlling layer lights

* Only change state on one side of the event lol

* Switch back to Tapping Toggle for layer 4

* Add custom config file for keyboard; TT and mousekey settings

* Code cleanup; starting to refactor special ctrl tapping keys functions

* Move defines and reak out functions

* Remove debugging light

* Adjust keymaps; add enter

* Adds a couple custom macros

* Add simplified version of keymap to help debug issues

* Adds basi numpad configuration for levinson keyboard half

* Use ANSI ctrl key as layer 1 for better one hand (`)

* Adapt to new 8bit hue from #5547; layer enum use everywhere

* Move custom code out to users/ space

* Flip col pins, move key assignments to "left hand"

* Update readme

* Implement placeholder macros

* Notes

* Reduce tapping time for SFT_T(/)

* Adds vim features; refactors things

* Adds fork of the vim features written by xton

* Use correct backspace keycode

* Add VIM_ESC

* Add "OFF" to the RGB/HSV definitions

* Clean up rules, use new "OFF" definition

* Add windows KC_CALCULATOR key to numpad

* Reformat layers with better guide; change layer names

* Add sleep key

* Change timeout delay

* Add a "code paste" which surrounds a ^V with ```

* Try removing shift tap on rshift /

* Update macros

* Update the "code paste" macro

* Update keymap with reset, calc, equals

* Update keyboards/dz60/keymaps/twschum_b_4_10_simple/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update keyboards/dz60/keymaps/twschum_b_4_10/keymap.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update users/twschum/twschum.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Update users/twschum/twschum.c

Co-Authored-By: Drashna Jaelre <drashna@live.com>

* Revert quantum/rgblight_list.h

* Better name for split space layout; rename KEYMAP->LAYOUT

* Rename KEYMAP->LAYOUT

* Use simpler :flash command

* Clean up layout files

* Use qmk's MOD_MASK_CTRL

* Sync lufa submodule

* Cleanup from noroadsleft's PR comments

* Modernize vim layer code
2019-11-21 03:07:33 -08:00
Takeshi ISHII
90bb7db48e [Docs] Update japanese translation of newbs.md and related documents. (#7431)
* Update japanese translation of newbs.md and related documents.

* document link id change
* add `ja/` in each link
  `[xxx](yyy.md)` --> `[xxx](ja/yyy.md)`

* copy docs/ja/_summary.md from umi-umi's #7248 and fix it
2019-11-21 02:36:38 -08:00
Takeshi ISHII
e54aadf24a [Docs] fix broken link in docs/newbs_best_practices.md (#7430) 2019-11-21 01:02:15 -08:00
x1
8416a94ad2 [Keyboard] Add pico as a new keyboard (#7419)
* Add keyboards/ pico as a new keyboad.

* Add keyboards/pico rev1.

* Add keyboards/pico keymaps/default.

* Add keyboards/pico keymaps/jis.

* Remove unneeded code of rules.mk.

* Revert rules.mk and remove some comments.
2019-11-20 21:48:30 -08:00
Manna Harbour
ecc7355321 [Keymap] Add ALGR and kle image, expand and correct documentation (#7426) 2019-11-20 17:25:55 -08:00
moyi4681
baf6715a7e [Keyboard] knight malposition fix (#7422)
knight malposition fix
2019-11-20 17:22:27 -08:00
fauxpark
f7c8e7ff70 Add info.json files for all default layouts (#7425)
* Add info.json files for all default layouts

* Update layouts/default/60_hhkb/layout.json

* Fix layout.json spacing and info.json dimensions
2019-11-20 17:21:23 -08:00
Yan-Fa Li
6776703d8f Postage Board MCU (#7424)
* Postage Board MCU

* Fix keymap

* Postage mini

* Update readme

* R2

* Update readme

* flip

* better image of r1

* Add a DEFAULT_FOLDER to keep zed and ci happy

* Update keyboards/handwired/postageboard/readme.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Update keyboards/handwired/postageboard/readme.md

Co-Authored-By: fauxpark <fauxpark@gmail.com>

* Fix keyboard name
2019-11-20 16:38:51 -08:00
skullydazed
f7bdc54c69 Add flake8 to our test suite and fix all errors (#7379)
* Add flake8 to our test suite and fix all errors

* Add some documentation
2019-11-20 14:54:18 -08:00
288 changed files with 12352 additions and 1146 deletions

View File

@@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve QMK Firmware.
title: "[Bug] "
labels: bug, help wanted, discussion
labels: bug, help wanted
assignees: ''
---

View File

@@ -2,7 +2,7 @@
name: Feature request
about: Suggest a new feature or changes to existing features.
title: "[Feature Request] "
labels: enhancement, help wanted, discussion
labels: enhancement, help wanted
assignees: ''
---

View File

@@ -2,7 +2,7 @@
name: Other issues
about: Anything else that doesn't fall into the above categories.
title: ''
labels: help wanted, question, discussion
labels: help wanted, question
assignees: ''
---

10
.github/stale.yml vendored
View File

@@ -17,6 +17,9 @@ pulls:
This pull request has been automatically marked as stale because it has not had
activity in the last 45 days. It will be closed in 30 days if no further activity occurs.
Please feel free to give a status update now, or re-open when it's ready.
For maintainers: Please label with `awaiting review`, `breaking_change`, `in progress, or `on hold` to prevent
the issue from being re-flagged.
# Comment to post when closing a stale Issue or Pull Request.
closeComment: >
Thank you for your contribution!
@@ -33,14 +36,17 @@ pulls:
# Issue specific configuration
issues:
staleLabel: solved
staleLabel: stale
limitPerRun: 10
daysUntilStale: 90
daysUntilClose: 30
markComment: >
This issue has been automatically marked as resolved because it has not had activity in the
This issue has been automatically marked as stale because it has not had activity in the
last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity
occurs.
For maintainers: Please label with `bug`, `in progress`, `on hold`, discussion` or `to do` to prevent
the issue from being re-flagged.
closeComment: >
This issue has been automatically closed because it has not had activity in the last 30 days.
If this issue is still valid, re-open the issue and let us know.

View File

@@ -41,7 +41,7 @@ else:
os.environ['QMK_VERSION'] = 'nogit-' + strftime('%Y-%m-%d-%H:%M:%S') + '-dirty'
# Setup the CLI
import milc
import milc # noqa
milc.EMOJI_LOGLEVELS['INFO'] = '{fg_blue}Ψ{style_reset_all}'
@@ -61,7 +61,7 @@ def main():
os.chdir(qmk_dir)
# Import the subcommands
import qmk.cli
import qmk.cli # noqa
# Execute
return_code = milc.cli()

View File

@@ -173,3 +173,35 @@ You will only be able to access these arguments using `cli.args`. For example:
```
cli.log.info('Reading from %s and writing to %s', cli.args.filename, cli.args.output)
```
# Testing, and Linting, and Formatting (oh my!)
We use nose2, flake8, and yapf to test, lint, and format code. You can use the `pytest` and `pyformat` subcommands to run these tests:
### Testing and Linting
qmk pytest
### Formatting
qmk pyformat
## Formatting Details
We use [yapf](https://github.com/google/yapf) to automatically format code. Our configuration is in the `[yapf]` section of `setup.cfg`.
?> Tip- Many editors can use yapf as a plugin to automatically format code as you type.
## Testing Details
Our tests can be found in `lib/python/qmk/tests/`. You will find both unit and integration tests in this directory. We hope you will write both unit and integration tests for your code, but if you do not please favor integration tests.
If your PR does not include a comprehensive set of tests please add comments like this to your code so that other people know where they can help:
# TODO(unassigned/<yourGithubUsername>): Write <unit|integration> tests
We use [nose2](https://nose2.readthedocs.io/en/latest/getting_started.html) to run our tests. You can refer to the nose2 documentation for more details on what you can do in your test functions.
## Linting Details
We use flake8 to lint our code. Your code should pass flake8 before you open a PR. This will be checked when you run `qmk pytest` and by CI when you submit a PR.

121
docs/ja/_summary.md Normal file
View File

@@ -0,0 +1,121 @@
* [完全な初心者のガイド](ja/newbs.md)
* [はじめに](ja/newbs_getting_started.md)
* [初めてのファームウェアの構築](ja/newbs_building_firmware.md)
* [ファームウェアのフラッシュ](ja/newbs_flashing.md)
* [テストとデバッグ](ja/newbs_testing_debugging.md)
* [Gitのベストプラクティス](ja/newbs_best_practices.md)
* [学習リソース](ja/newbs_learn_more_resources.md)
* [QMKの基本](ja/README.md)
* [QMKの導入](ja/getting_started_introduction.md)
* [QMK CLI](ja/cli.md)
* [QMK CLI 設定](ja/cli_configuration.md)
* [QMKへの貢献](ja/contributing.md)
* [Githubの使い方](ja/getting_started_github.md)
* [ヘルプ](ja/getting_started_getting_help.md)
* [破壊的な変更](ja/breaking_changes.md)
* [2019年8月30日](ja/ChangeLog/20190830.md)
* [FAQ](ja/faq.md)
* [一般的なFAQ](ja/faq_general.md)
* [QMKのビルド/コンパイル](ja/faq_build.md)
* [QMKのデバッグ/トラブルシューティング](ja/faq_debug.md)
* [キーマップ](ja/faq_keymap.md)
* [Zadigを使ったドライバのインストール](ja/driver_installation_zadig.md)
* 詳細なガイド
* [ビルドツールのインストール](ja/getting_started_build_tools.md)
* [Vagrantのガイド](ja/getting_started_vagrant.md)
* [ビルド/コンパイルの説明](ja/getting_started_make_guide.md)
* [ファームウェアのフラッシュ](ja/flashing.md)
* [機能のカスタマイズ](ja/custom_quantum_functions.md)
* [キーマップの概要](ja/keymap.md)
* [ハードウェア](ja/hardware.md)
* [AVR プロセッサ](ja/hardware_avr.md)
* [ドライバ](ja/hardware_drivers.md)
* リファレンス
* [キーボード ガイドライン](ja/hardware_keyboard_guidelines.md)
* [設定オプション](ja/config_options.md)
* [キーコード](ja/keycodes.md)
* [コーディング規約 - C](ja/coding_conventions_c.md)
* [コーディング規約 - Python](ja/coding_conventions_python.md)
* [ドキュメント ベストプラクティス](ja/documentation_best_practices.md)
* [ドキュメント テンプレート](ja/documentation_templates.md)
* [用語](ja/reference_glossary.md)
* [ユニットテスト](ja/unit_testing.md)
* [便利な関数](ja/ref_functions.md)
* [Configurator サポート](ja/reference_configurator_support.md)
* [info.json 形式](ja/reference_info_json.md)
* [Python CLI 開発](ja/cli_development.md)
* [機能](ja/features.md)
* [基本的なキーコード](ja/keycodes_basic.md)
* [US ANSI シフトキー](ja/keycodes_us_ansi_shifted.md)
* [Quantum キーコード](ja/quantum_keycodes.md)
* [Advanced キーコード](ja/feature_advanced_keycodes.md)
* [オーディオ](ja/feature_audio.md)
* [自動シフト](ja/feature_auto_shift.md)
* [バックライト](ja/feature_backlight.md)
* [ブルートゥース](ja/feature_bluetooth.md)
* [ブートマジック](ja/feature_bootmagic.md)
* [コンボ](ja/feature_combo.md)
* [コマンド](ja/feature_command.md)
* [Debounce API](ja/feature_debounce_type.md)
* [DIP スイッチ](ja/feature_dip_switch.md)
* [動的マクロ](ja/feature_dynamic_macros.md)
* [エンコーダ](ja/feature_encoders.md)
* [グレイブ エスケープ](ja/feature_grave_esc.md)
* [触覚フィードバック](ja/feature_haptic_feedback.md)
* [HD44780 LCD コントローラ](ja/feature_hd44780.md)
* [キーロック](ja/feature_key_lock.md)
* [レイアウト](ja/feature_layouts.md)
* [リーダー キー](ja/feature_leader_key.md)
* [LED マトリクス](ja/feature_led_matrix.md)
* [マクロ](ja/feature_macros.md)
* [マウスキー](ja/feature_mouse_keys.md)
* [OLED ドライバ](ja/feature_oled_driver.md)
* [One Shot Keys](ja/feature_advanced_keycodes.md#one-shot-keys)
* [ポインティング デバイス](ja/feature_pointing_device.md)
* [PS/2 マウス](ja/feature_ps2_mouse.md)
* [RGB ライト](ja/feature_rgblight.md)
* [RGB マトリクス](ja/feature_rgb_matrix.md)
* [Space Cadet](ja/feature_space_cadet.md)
* [分割キーボード](ja/feature_split_keyboard.md)
* [Stenography](ja/feature_stenography.md)
* [Swap Hands](ja/feature_swap_hands.md)
* [タップ ダンス](ja/feature_tap_dance.md)
* [Terminal](ja/feature_terminal.md)
* [感熱式プリンタ](ja/feature_thermal_printer.md)
* [ユニコード](ja/feature_unicode.md)
* [Userspace](ja/feature_userspace.md)
* [Velocikey](ja/feature_velocikey.md)
* メーカーおよびモッダーのために
* [Hand Wiring Guide](ja/hand_wire.md)
* [ISP Flashing Guide](ja/isp_flashing_guide.md)
* [ARM デバッグ ガイド](ja/arm_debugging.md)
* [I2C ドライバ](ja/i2c_driver.md)
* [GPIO コントロール](ja/internals_gpio_control.md)
* [Proton C 規約](ja/proton_c_conversion.md)
* より深く知るために
* [キーボードがどのように動作するか](ja/how_keyboards_work.md)
* [QMKの理解](ja/understanding_qmk.md)
* 他の話題
* [EclipseでQMKを使用](ja/other_eclipse.md)
* [VSCodeでQMKを使用](ja/other_vscode.md)
* [サポート](ja/support.md)
* [翻訳を追加する方法](ja/translating.md)
* QMK の内部詳細(作成中)
* [定義](ja/internals_defines.md)
* [Input Callback Reg](ja/internals_input_callback_reg.md)
* [Midi ドライバ](ja/internals_midi_device.md)
* [Midi デバイスのセットアップ手順](ja/internals_midi_device_setup_process.md)
* [Midi ユーティリティ](ja/internals_midi_util.md)
* [Send Functions](ja/internals_send_functions.md)
* [Sysex Tools](ja/internals_sysex_tools.md)

View File

@@ -19,18 +19,18 @@ QMK は[多くの趣味のキーボード](http://qmk.fm/keyboards/)をサポー
このガイドには7つの主要なセクションがあります。
* [はじめに](newbs_getting_started.md)
* [コマンドラインを使用して初めてのファームウェアを構築する](newbs_building_firmware.md)
* [オンライン GUI を使用して初めてのファームウェアを構築する](newbs_building_firmware_configurator.md)
* [ファームウェアを書きこむ](newbs_flashing.md)
* [テストとデバッグ](newbs_testing_debugging.md)
* [QMK における Git 運用作法](newbs_best_practices.md)
* [さらに学ぶための学習リソース](newbs_learn_more_resources.md)
* [はじめに](ja/newbs_getting_started.md)
* [コマンドラインを使用して初めてのファームウェアを構築する](ja/newbs_building_firmware.md)
* [オンライン GUI を使用して初めてのファームウェアを構築する](ja/newbs_building_firmware_configurator.md)
* [ファームウェアを書きこむ](ja/newbs_flashing.md)
* [テストとデバッグ](ja/newbs_testing_debugging.md)
* [QMK における Git 運用作法](ja/newbs_best_practices.md)
* [さらに学ぶための学習リソース](ja/newbs_learn_more_resources.md)
このガイドは、これまでソフトウェアをコンパイルしたことがない人を支援することに特化しています。
その観点から選択と推奨を行います。
これらの手順の多くには代替方法があり、これらの代替方法のほとんどをサポートしています。
タスクを達成する方法について疑問がある場合は、[案内を求めることができます](getting_started_getting_help.md)。
タスクを達成する方法について疑問がある場合は、[案内を求めることができます](ja/getting_started_getting_help.md)。
## 追加のリソース(英語)

View File

@@ -24,8 +24,8 @@ QMK に貢献するプロセスを順を追って説明し、この作業を簡
<!-- 2. You've [set up your build environment](newbs_getting_started.md?id=environment-setup). -->
<!-- #7231:da7d49246: 2. You've set up both [your build environment](newbs_getting_started.md?id=set-up-your-environment) and [QMK](newbs_getting_started.md?id=set-up-qmk). -->
1. あなたは GitHub アカウントがあり、アカウントに [qmk_firmware リポジトリをフォーク](getting_started_github.md) している。
2. あなたは、[環境構築](newbs_getting_started.md#環境構築) と [QMK の設定](newbs_getting_started.md#qmk-の設定) を両方とも完了している。
1. あなたは GitHub アカウントがあり、アカウントに [qmk_firmware リポジトリをフォーク](ja/getting_started_github.md) している。
2. あなたは、[環境構築](ja/newbs_getting_started.md#set-up-your-environment) と [QMK の設定](ja/newbs_getting_started.md#set-up-qmk) を両方とも完了している。
<!-- ## Your fork's master: Update Often, Commit Never -->
## あなたのフォークの master ブランチ: 更新は頻繁に、コミットはしないこと

View File

@@ -67,9 +67,9 @@ macOS または Windows を使用している場合は、キーマップフォ
あるレイヤー全体が必要ない場合はレイヤーを削除することもでき、必要があれば、合計 32 個までレイヤーを追加することもできます。
ここで定義できる内容については、次のドキュメントを参照してください。
* [キーコード](keycodes.md)
* [機能](features.md)
* [FAQ](faq.md)
* [キーコード](ja/keycodes.md)
* [機能](ja/features.md)
* [FAQ](ja/faq.md)
?> キーマップがどのように機能するかを感じながら、各変更を小さくしてください。大きな変更は、発生する問題のデバッグを困難にします。
@@ -96,4 +96,4 @@ Checking file size of planck_rev5_xyverz.hex
## ファームウェアを書きこむ
[「ファームウェアを書きこむ」](newbs_flashing.md) に移動して、キーボードに新しいファームウェアを書き込む方法を学習します。
[「ファームウェアを書きこむ」](ja/newbs_flashing.md) に移動して、キーボードに新しいファームウェアを書き込む方法を学習します。

View File

@@ -83,7 +83,7 @@ QMK Configurator は Chrome/Firefox で最適に動作します。
## キーボードに書き込む(フラッシュする)
[ファームウェアを書きこむ](newbs_flashing.md) を参照してください。
[ファームウェアを書きこむ](ja/newbs_flashing.md) を参照してください。
## トラブルシューティング

View File

@@ -13,7 +13,7 @@
キーボードに書き込む最も簡単な方法は [QMK Toolbox](https://github.com/qmk/qmk_toolbox/releases) を使うことです。
ただし、QMK Toolbox は、現在は Windows と macOS でしか使えません。
Linuxを使用している場合(および、コマンドラインでファームウェアを書き込みたい場合)は、下の方で概説する[方法](newbs_flashing.md#コマンドラインでファームウェアを書き込む)で行なう必要があります。
Linuxを使用している場合(および、コマンドラインでファームウェアを書き込みたい場合)は、下の方で概説する[方法](ja/newbs_flashing.md#flash-your-keyboard-from-the-command-line)で行なう必要があります。
### QMK Toolbox にファイルをロードする
@@ -98,7 +98,7 @@ QMK Toolbox の `Flash` ボタンをクリックします。
*** Clueboard - Clueboard 66% HotSwap connected -- 0xC1ED:0x2390
```
## コマンドラインでファームウェアを書き込む
## コマンドラインでファームウェアを書き込む :id=flash-your-keyboard-from-the-command-line
これは、以前のものと比較して非常に単純になりました。
ファームウェアをコンパイルして書き込む準備ができたら、ターミナルウィンドウを開いてビルドコマンドを実行します。
@@ -123,7 +123,7 @@ QMK Toolbox の `Flash` ボタンをクリックします。
ブートローダは主に 5 種類のものが使われています。
Pro Micro とそのクローンは Caterina を、Teensy は HalfKay を、OLKBの AVR ボードは QMK-DFU を、その他の ATmega32U4 ボードは DFU を、そして多くの ARM ボードは ARM DFU を使います。
より詳しいブートローダの情報は、[Flashing Instructions and Bootloader Information](flashing.md) にあります。
より詳しいブートローダの情報は、[Flashing Instructions and Bootloader Information](ja/flashing.md) にあります。
使用しているブートローダがわかっているならば、ファームウェアをコンパイルするときに、実は `make` コマンドにブートローダを指定するテキストを追加して、書き込みプロセスを自動化できます。
@@ -172,7 +172,7 @@ Checking file size of planck_rev5_xyverz.hex
>>> dfu-programmer atmega32u4 reset
```
?> `dfu-programmerno device present` など、これに関する問題がある場合は、[よくある質問](faq_build.md) を参照してください。
?> `dfu-programmerno device present` など、これに関する問題がある場合は、[よくある質問](ja/faq_build.md) を参照してください。
#### DFU コマンド
@@ -397,4 +397,4 @@ Uploading 22016 (0x5600) bytes starting at 0 (0x0)
おめでとうございます! カスタムファームウェアがキーボードにプログラムされました!
使ってみて、すべてがあなたの望むように動作するかどうか確認してください。
この初心者ガイドを完全なものにするために [テストとデバッグ](newbs_testing_debugging.md) を書いたので、カスタム機能のトラブルシューティング方法については、こちらをご覧ください。
この初心者ガイドを完全なものにするために [テストとデバッグ](ja/newbs_testing_debugging.md) を書いたので、カスタム機能のトラブルシューティング方法については、こちらをご覧ください。

View File

@@ -20,7 +20,7 @@ QMK は、簡単なことは簡単に、そして、難しいことを可能な
ファームウェアをコンパイルするキーボードの数に関わらず、この作業を一度だけ実行する必要があります。
もし、GUI で作業をしたい場合、オンラインで作業できる [QMK Configurator](https://config.qmk.fm) を使ってください。
使い方は [Building Your First Firmware using the online GUI](newbs_building_firmware_configurator.md) を参照してください。
使い方は [オンライン GUI を使用して初めてのファームウェアを構築する](ja/newbs_building_firmware_configurator.md) を参照してください。
## ソフトウェアのダウンロード
@@ -45,7 +45,7 @@ QMK Toolbox は、Windows と macOS で使える GUI を備えたプログラム
* Windows 版: `qmk_toolbox.exe` (portable) または `qmk_toolbox_install.exe` (installer)
* macOS 版: `QMK.Toolbox.app.zip` (portable) または `QMK.Toolbox.pkg` (installer)
## 環境構築
## 環境構築 :id=set-up-your-environment
私たちは、QMK を可能な限り簡単に構築できるように努力しています。
Linux か Unix 環境を用意するだけで、QMK に残りをインストールさせることができます。
@@ -77,9 +77,9 @@ Git のインストールが必要です。既にインストールされてい
* Fedora / Red Hat / CentOS: `yum install git`
* Arch: `pacman -S git`
?> 全てのプラットフォームにおいて、Docker を使うことも可能です。[詳細はこちらをクリックしてください](getting_started_build_tools.md#docker)。
?> 全てのプラットフォームにおいて、Docker を使うことも可能です。[詳細はこちらをクリックしてください](ja/getting_started_build_tools.md#docker)。
## QMK の設定
## QMK の設定 :id=set-up-qmk
Linux/Unix 環境が準備できたら QMK のダウンロードの準備は完了です。Git を使用して QMK のリポジトリを「クローン」することで QMK をダウンロードします。ターミナルか MSYS2 MinGW ウィンドウを開いて、このガイドの残りの部分では開いたままにします。そのウィンドウ内で、次の2つのコマンドを実行します。
@@ -88,7 +88,7 @@ git clone --recurse-submodules https://github.com/qmk/qmk_firmware.git
cd qmk_firmware
```
?> 既に [GitHub の使いかた](getting_started_github.md)を知っているなら、clone ではなく fork を勧めます。この一文の意味が分からない場合、このメッセージは無視してかまいません。
?> 既に [GitHub の使いかた](ja/getting_started_github.md)を知っているなら、clone ではなく fork を勧めます。この一文の意味が分からない場合、このメッセージは無視してかまいません。
QMK には、必要な残りの設定を手助けするスクリプトが含まれています。
セットアップ作業を完了させるため、次のコマンドを実行します。
@@ -119,4 +119,4 @@ Checking file size of clueboard_66_rev3_default.hex
# キーマップの作成
これであなた専用のキーマップを作成する準備ができました!
次は [Building Your First Firmware](newbs_building_firmware.md) で専用のキーマップを作成します。
次は [Building Your First Firmware](ja/newbs_building_firmware.md) で専用のキーマップを作成します。

View File

@@ -14,8 +14,8 @@
* [Great General Tutorial](https://www.codecademy.com/learn/learn-git)
* [Git Game To Learn From Examples](https://learngitbranching.js.org/)
* [Git Resources to Learn More About Github](getting_started_github.md)
* [Git Resources Aimed Specifically toward QMK](contributing.md)
* [Git Resources to Learn More About Github](ja/getting_started_github.md)
* [Git Resources Aimed Specifically toward QMK](ja/contributing.md)
### 日本語

View File

@@ -22,7 +22,7 @@
## デバッグ
`rules.mk``CONSOLE_ENABLE = yes`の設定をするとキーボードはデバッグ情報を出力します。デフォルトの出力は非常に限られたものですが、デバッグモードをオンにすることでデバッグ情報の量を増やすことが出来ます。キーマップの`DEBUG`キーコードを使用するか、デバッグモードを有効にする [Command](feature_command.md) 機能を使用するか、以下のコードをキーマップに追加します。
`rules.mk``CONSOLE_ENABLE = yes`の設定をするとキーボードはデバッグ情報を出力します。デフォルトの出力は非常に限られたものですが、デバッグモードをオンにすることでデバッグ情報の量を増やすことが出来ます。キーマップの`DEBUG`キーコードを使用するか、デバッグモードを有効にする [Command](ja/feature_command.md) 機能を使用するか、以下のコードをキーマップに追加します。
```c
void keyboard_post_init_user(void) {
@@ -46,7 +46,7 @@ void keyboard_post_init_user(void) {
## 独自のデバッグメッセージを送信する
[custom code](custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に`print.h`のインクルードを追加します:
[custom code](ja/custom_quantum_functions.md)内からデバッグメッセージを出力すると便利な場合があります。それはとても簡単です。ファイルの先頭に`print.h`のインクルードを追加します:
#include <print.h>
@@ -59,7 +59,7 @@ void keyboard_post_init_user(void) {
## デバッグの例
以下は現実世界での実際のデバッグ手法の例を集めたものです。追加情報は[Debugging/Troubleshooting QMK](faq_debug.md)を参照してください。
以下は現実世界での実際のデバッグ手法の例を集めたものです。追加情報は[Debugging/Troubleshooting QMK](ja/faq_debug.md)を参照してください。
### マトリックス上のどの場所でキー押下が起こったか?

View File

@@ -7,7 +7,7 @@ This document aims to instruct novices in the best ways to have a smooth experie
This document assumes a few things:
1. You have a GitHub account, and have [forked the qmk_firmware repository](getting_started_github.md) to your account.
2. You've [set up your build environment](newbs_getting_started.md?id=environment-setup).
2. You've [set up your build environment](newbs_getting_started.md#set-up-your-environment).
## Your fork's master: Update Often, Commit Never

View File

@@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -90,8 +90,8 @@ void led_set_user(uint8_t usb_led) {
}
}
uint32_t layer_state_set_user(uint32_t state) {
switch (biton32(state)) {
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case 1:
writePinHigh(D1);
break;

View File

@@ -85,7 +85,7 @@ void led_set_user(uint8_t usb_led) {
}
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return state;
}

View File

@@ -108,7 +108,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -163,4 +163,3 @@ void matrix_init_user(void) {
void matrix_scan_user(void) {
}

View File

@@ -144,7 +144,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
}

View File

@@ -194,6 +194,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _RAISE, _LOWER, _ADJUST);
}

View File

@@ -0,0 +1,67 @@
#include QMK_KEYBOARD_H
/* DZ60 layout using following options (from layouts diagram on KBDfans):
* - plate B (2.25u lshift)
* - opt 4 (1.75, 1, 1 on rshift)
* - opt 10 (2.75, 1.25, 2.25 on space, 5x1u bottom right keys)
* http://www.keyboard-layout-editor.com/#/gists/225f0f4dcf6671405f744fabe314627c
*/
#define LAYOUT_b_4_10( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
K400, K401, K403, K404, K406, K408, K410, K411, K412, K413, K414 \
) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, KC_NO, K014 }, \
{ K100, KC_NO, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
{ K200, KC_NO, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, KC_NO }, \
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, KC_NO, K312, K313, K314 }, \
{ K400, K401, KC_NO, K403, K404, KC_NO, K406, KC_NO, K408, KC_NO, K410, K411, K412, K413, K414 } \
}
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Layer 0: basic qwerty */
LAYOUT_b_4_10(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||------2.0-------|
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,
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||----------------|
//
// |----1.5-----||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|----1.5-----|
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,
// |------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------|
//
// |----1.75------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------2.25--------||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
// |--------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------------||
//
// |------2.25--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||----1.75------|--------|--------||
KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SFT_T(KC_SLSH), KC_UP, KC_HYPR,
// |------------------|--------|--------|--------|--------|--------|--------|--------|--------|--------||--------------|--------|--------||
//
// |---1.25---|---1.25---||---1.25---||--------2.75----------||---1.25---|------2.25--------||--------|--------|--------|--------|--------|
KC_MEH, KC_LALT, KC_LGUI, KC_SPC, TT(1), MO(1), TG(1), TT(2), KC_LEFT, KC_DOWN, KC_RGHT
// |----------|----------||----------||----------------------||----------|------------------||--------|--------|--------|--------|--------|
),
/* Layer 1: primary fn layer */
LAYOUT_b_4_10(
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_TAB, KC_NO, KC_HOME, KC_UP, KC_END, KC_NO, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_NO, KC_NO, KC_NO, KC_NO,
KC_CAPS, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT, KC_NO, KC_NO, KC_ENT,
KC_LSFT, KC_MPRV, KC_AUDIO_MUTE, KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_LOCK, KC_PGUP, KC_INS,
KC_MEH, KC_LALT, KC_LGUI, KC_MEDIA_PLAY_PAUSE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
),
/* Layer 2: mouse navigation */
/* Layer 3: numpad */
/* Layer 4: RGB lighting controls and keyboard config, reset */
LAYOUT_b_4_10(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(5),
KC_NO, KC_NO, KC_NO, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_HUD,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_MODE_PLAIN, RGB_MODE_FORWARD, KC_RSHIFT,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_VAI, RGB_HUI,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, RGB_SAD, RGB_VAD, RGB_SAI
),
};

View File

@@ -0,0 +1,7 @@
# Build Options
# override the options specified in dz60/rules.mk
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
KEY_LOCK_ENABLE = yes # Enables use of KC_LOCK

View File

@@ -0,0 +1,24 @@
#pragma once
// number of taps for TT Tap-Toggle keys to toggle
#ifdef TAPPING_TOGGLE
#undef TAPPING_TOGGLE
#endif
#define TAPPING_TOGGLE 2
// time in ms that counts as a "tap" for various features
#ifdef TAPPING_TERM
#undef TAPPING_TERM
#endif
#define TAPPING_TERM 100
// https://docs.qmk.fm/features/mouse-keys#configuring-the-behavior-of-mousekeys
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_MAX_SPEED 10
#define MOUSEKEY_TIME_TO_MAX 15
#define MOUSEKEY_WHEEL_MAX_SPEED 1
#define MOUSEKEY_WHEEL_TIME_TO_MAX 255
// flags from user/twschum/
#define TWSCHUM_TAPPING_CTRL_PREFIX 1

View File

@@ -0,0 +1,123 @@
#include QMK_KEYBOARD_H
#include "twschum.h"
/* DZ60 layout using following options (from layouts diagram on KBDfans):
* - plate B (2.25u lshift)
* - opt 4 (1.75, 1, 1 on rshift)
* - opt 10 (2.75, 1.25, 2.25 on space, 5x1u bottom right keys)
* http://www.keyboard-layout-editor.com/#/gists/225f0f4dcf6671405f744fabe314627c
*/
#define LAYOUT_b_4_10( \
K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K014, \
K100, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, \
K200, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, \
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K312, K313, K314, \
K400, K401, K403, K404, K406, K408, K410, K411, K412, K413, K414 \
) { \
{ K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, XXXXXXX, K014 }, \
{ K100, XXXXXXX, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114 }, \
{ K200, XXXXXXX, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, XXXXXXX }, \
{ K300, XXXXXXX, K302, K303, K304, K305, K306, K307, K308, K309, K310, XXXXXXX, K312, K313, K314 }, \
{ K400, K401, XXXXXXX, K403, K404, XXXXXXX, K406, XXXXXXX, K408, XXXXXXX, K410, K411, K412, K413, K414 } \
}
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* base 60% qwerty */
LAYOUT_b_4_10(
// |--------|----1---|----2---|----3---|---4----|---5----|---6----|---7----|---8----|---9----|---0----|-- - ---|-- = ---||------2.0-------|
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,
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||----------------|
//
// |----1.5-----||---Q----|---W----|---E----|---R----|---T----|---Y----|---U----|---I----|---O----|---P----|---[----|---]----|----1.5-----|
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,
// |------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------|
//
// |----1.75------||---A----|---S----|---D----|---F----|---G----|---H----|---J----|---K----|---L----|---;----|---'----|------2.25--------||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
// |--------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------------||
//
// |------2.25--------|---Z----|---X----|---C----|---V----|---B----|---N----|---M----|---,----|---.----||----1.75------|--------|--------||
KC_LSHIFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, /*SFT_T*/KC_SLSH, KC_UP, VIM_START,
// |------------------|--------|--------|--------|--------|--------|--------|--------|--------|--------||--------------|--------|--------||
//
// |---1.25---|---1.25---||---1.25---||--------2.75----------||---1.25---|------2.25--------||--------|--------|--------|--------|--------|
MO(_Fn), KC_LALT, KC_LGUI, KC_SPC, TT(_Nav), MO(_Fn), TG(_Num), TT(_Cfg), KC_LEFT, KC_DOWN, KC_RGHT
// |----------|----------||----------||----------------------||----------|------------------||--------|--------|--------|--------|--------|
),
/* vim mode */
LAYOUT_b_4_10(
VIM_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, VIM_W, VIM_E, KC_R, _______, VIM_Y, VIM_U, VIM_I, VIM_O, VIM_P, _______, _______, _______,
_______, VIM_A, VIM_S, VIM_D, _______, VIM_G, VIM_H, VIM_J, VIM_K, VIM_L, _______, _______, _______,
VIM_SHIFT, _______, VIM_X, VIM_C, VIM_V, VIM_B, _______, _______, VIM_COMMA, VIM_PERIOD, _______, _______, VIM_ESC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
/* primary fn layer */
LAYOUT_b_4_10(
// |--------|----1---|----2---|----3---|---4----|---5----|---6----|---7----|---8----|---9----|---0----|-- - ---|-- = ---||------2.0-------|
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,
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------||----------------|
//
// |----1.5-----||---Q----|---W----|---E----|---R----|---T----|---Y----|---U----|---I----|---O----|---P----|---[----|---]----|----1.5-----|
KC_TAB, CODE_PASTE, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_HOME, KC_PGDN, KC_PGUP, KC_END, LESS_PD, XXXXXXX, XXXXXXX, CODE_PASTE,
// |------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------|
//
// |----1.75------||---A----|---S----|---D----|---F----|---G----|---H----|---J----|---K----|---L----|---;----|---'----|------2.25--------||
KC_CAPS, SALT_CMD, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX, KC_ENT,
// |--------------||--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|------------------||
//
// |------2.25--------|---Z----|---X----|---C----|---V----|---B----|---N----|---M----|---,----|---.----||----1.75------|--------|--------||
KC_LSHIFT, KC_MPRV, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, _______, _______, XXXXXXX, XXXXXXX, KC_LOCK, KC_PGUP, KC_INS,
// |------------------|--------|--------|--------|--------|--------|--------|--------|--------|--------||--------------|--------|--------||
//
// |---1.25---|---1.25---||---1.25---||--------2.75----------||---1.25---|------2.25--------||--------|--------|--------|--------|--------|
KC_MEH, KC_LALT, KC_LGUI, KC_MEDIA_PLAY_PAUSE, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
// |----------|----------||----------||----------------------||----------|------------------||--------|--------|--------|--------|--------|
),
/* mouse navigation */
LAYOUT_b_4_10(
TO(_Base), KC_MS_ACCEL0, KC_MS_ACCEL1, KC_MS_ACCEL2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, KC_MS_BTN2, KC_MS_UP, KC_MS_BTN1, XXXXXXX, XXXXXXX, KC_SLEP, KC_PGDN, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
KC_LCTL, KC_MS_BTN3, KC_MS_LEFT, KC_MS_DOWN, KC_MS_RIGHT, XXXXXXX, KC_MS_WH_LEFT, KC_MS_WH_DOWN, KC_MS_WH_UP, KC_MS_WH_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX,
KC_LSHIFT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_BTN1, _______, _______, _______, _______, _______, _______, _______
),
/* numpad layer */
LAYOUT_b_4_10(
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSPC,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS, KC_KP_PLUS, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_SLASH, KC_KP_ASTERISK, XXXXXXX, KC_ENT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_DOT, KC_KP_ENTER, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_KP_0, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX
),
/* RGB lighting controls and keyboard config, reset */
LAYOUT_b_4_10(
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG_L0_RGB, XXXXXXX, XXXXXXX, TO(_None),
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_HUD,
EN_CTRL_SHORTCUTS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG_LAYER_RGB, RGB_MODE_PLAIN, RGB_MODE_FORWARD, KC_RSHIFT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MAKE, XXXXXXX, XXXXXXX, RGB_TOG, RGB_VAI, RGB_HUI,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, RGB_SAD, RGB_VAD, RGB_SAI
),
/* soft "off" state where none of the keystroke register */
LAYOUT_b_4_10(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TO(_Base),
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
),
};
uint8_t vim_cmd_layer(void) {
return _Vim;
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
# Build Options
# override the options specified in dz60/rules.mk
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# 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 = yes # Enable keyboard RGB underglow
KEY_LOCK_ENABLE = yes # Enables use of KC_LOCK
# Enables including users/twschum/twschum.h
USER_NAME := twschum

View File

@@ -21,8 +21,8 @@ CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
AUDIO_ENABLE = no
RGBLIGHT_ENABLE = yes
BACKLIGHT_ENABLE = yes # Enable per-key backlight LEDs
AUDIO_ENABLE = no # There is no speaker on this PCB
RGBLIGHT_ENABLE = yes # Enable the RGB underglow LEDs
LAYOUTS = 60_ansi 60_ansi_split_bs_rshift 60_hhkb 60_iso 60_abnt2

View File

@@ -1,39 +1,2 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1219
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB
#define DESCRIPTION DZ60 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS {A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14 }
/* #define UNUSED_PINS {A0,A1,A2, A3,A4,A9,A10,C15,A13,A14,B2}*/
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 63
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif
#include "config_common.h"

View File

@@ -0,0 +1,36 @@
#pragma once
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1219
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB
#define DESCRIPTION DZ60 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS {A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14 }
/* #define UNUSED_PINS {A0,A1,A2, A3,A4,A9,A10,C15,A13,A14,B2}*/
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 63
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif

View File

@@ -2,13 +2,13 @@
MCU = STM32F303
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
NKRO_ENABLE = no # USB Nkey Rollover
NKRO_ENABLE = yes # USB Nkey Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = IS31FL3733 # Use RGB matrix
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in

View File

@@ -0,0 +1,44 @@
#pragma once
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1219
#define DEVICE_VER 0x0002
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB
#define DESCRIPTION DZ60 AVR RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS {F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS {C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 63
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif

View File

@@ -0,0 +1,23 @@
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = IS31FL3733 # Use RGB matrix
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in

View File

@@ -1,39 +1,2 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1219
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB
#define DESCRIPTION DZ60 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS {A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14 }
/* #define UNUSED_PINS {A0,A1,A2, A3,A4,A9,A10,C15,A13,A14,B2}*/
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 61
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif

View File

@@ -0,0 +1,36 @@
#pragma once
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1220
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB_ANSI
#define DESCRIPTION DZ60 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS {A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14 }
/* #define UNUSED_PINS {A0,A1,A2, A3,A4,A9,A10,C15,A13,A14,B2}*/
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 61
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif

View File

@@ -2,15 +2,13 @@
MCU = STM32F303
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
NKRO_ENABLE = no # USB Nkey Rollover
NKRO_ENABLE = yes # USB Nkey Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = IS31FL3733 # Use RGB matrix
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
LAYOUTS = 60_ansi

View File

@@ -0,0 +1,44 @@
#pragma once
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1220
#define DEVICE_VER 0x0002
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB_ANSI
#define DESCRIPTION DZ60 AVR RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS {F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS {C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 61
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif

View File

@@ -0,0 +1,23 @@
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = IS31FL3733 # Use RGB matrix
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in

View File

@@ -1,39 +1,2 @@
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1219
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB
#define DESCRIPTION DZ60 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS {A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14 }
/* #define UNUSED_PINS {A0,A1,A2, A3,A4,A9,A10,C15,A13,A14,B2}*/
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 62
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif
#include "config_common.h"

View File

@@ -0,0 +1,36 @@
#pragma once
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1221
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB_WKL
#define DESCRIPTION DZ60 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS {A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14 }
/* #define UNUSED_PINS {A0,A1,A2, A3,A4,A9,A10,C15,A13,A14,B2}*/
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 62
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif

View File

@@ -1,14 +1,14 @@
MCU = STM32F303
DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
DFU_SUFFIX_ARGS = -p DF11 -v 0483
# MCU name
MCU = STM32F303
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
NKRO_ENABLE = no # USB Nkey Rollover
NKRO_ENABLE = yes # USB Nkey Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = IS31FL3733 # Use RGB matrix
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in

View File

@@ -0,0 +1,44 @@
#pragma once
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1221
#define DEVICE_VER 0x0002
#define MANUFACTURER DZTECH
#define PRODUCT DZ60RGB_WKL
#define DESCRIPTION DZ60 AVR RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS {F5, F4, F1, B3, B2 }
#define MATRIX_COL_PINS {C7, F7, F6, F0, B0, B1, B4, D7, D6, D4, D5, D3, D2, B7 }
#define UNUSED_PINS
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
#define DRIVER_ADDR_1 0b1010000
#define DRIVER_ADDR_2 0b1010000 // this is here for compliancy reasons.
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 62
#define DRIVER_LED_TOTAL DRIVER_1_LED_TOTAL
#endif

View File

@@ -0,0 +1,23 @@
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
#SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend
NKRO_ENABLE = yes # USB Nkey Rollover
AUDIO_ENABLE = no
RGB_MATRIX_ENABLE = IS31FL3733 # Use RGB matrix
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in

View File

@@ -1,46 +1,2 @@
#pragma once
#include "config_common.h"
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1224
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ65RGB
#define DESCRIPTION DZ65 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS {A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14, C15 }
#define DIODE_DIRECTION COL2ROW
#ifdef RGB_MATRIX_ENABLE
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 35
#define DRIVER_2_LED_TOTAL 33
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif
#include "config_common.h"

View File

@@ -0,0 +1,45 @@
#pragma once
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1222
#define DEVICE_VER 0x0001
#define MANUFACTURER DZTECH
#define PRODUCT DZ65RGB
#define DESCRIPTION DZ65 ARM RGB keyboard
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
#define MATRIX_ROW_PINS { B1, B10, B11, B14, B12 }
#define MATRIX_COL_PINS {A6, A7, B0, B13, B15, A8, A15, B3, B4, B5, B8, B9, C13, C14, C15 }
#define DIODE_DIRECTION COL2ROW
#ifdef RGB_MATRIX_ENABLE
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 35
#define DRIVER_2_LED_TOTAL 33
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif

View File

@@ -0,0 +1,45 @@
#pragma once
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x1222
#define DEVICE_VER 0x0002
#define MANUFACTURER DZTECH
#define PRODUCT DZ65RGB
#define DESCRIPTION DZ65 AVR RGB keyboard
#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 DIODE_DIRECTION COL2ROW
#ifdef RGB_MATRIX_ENABLE
#define RGB_MATRIX_LED_PROCESS_LIMIT 4
#define RGB_MATRIX_LED_FLUSH_LIMIT 26
#define DEBOUNCE 3
#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 RGB_MATRIX_KEYPRESSES
#define DISABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#define DISABLE_RGB_MATRIX_BAND_SAT
#define DISABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#define DISABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#define DISABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#define DISABLE_RGB_MATRIX_SPLASH
#define DISABLE_RGB_MATRIX_MULTISPLASH
#define DISABLE_RGB_MATRIX_SOLID_SPLASH
#define DISABLE_RGB_MATRIX_SOLID_MULTISPLASH
#define DISABLE_RGB_MATRIX_DIGITAL_RAIN
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 200
#define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_CYCLE_ALL
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_COUNT 2
#define DRIVER_1_LED_TOTAL 35
#define DRIVER_2_LED_TOTAL 33
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
#endif

View File

@@ -0,0 +1,35 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
# Build Options
# change yes to no to disable
#
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
MOUSEKEY_ENABLE = yes # Mouse keys
EXTRAKEY_ENABLE = yes # Audio control and System control
CONSOLE_ENABLE = 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
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
RGB_MATRIX_ENABLE = yes # Use RGB matrix
NO_USB_STARTUP_CHECK = no # Disable initialization only when usb is plugged in
LAYOUTS = 65_ansi

View File

@@ -174,7 +174,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
ergodox_right_led_2_off();
ergodox_right_led_3_off();
uint8_t layer = biton32(state);
uint8_t layer = get_highest_layer(state);
switch (layer) {
case 0:
#ifdef RGBLIGHT_COLOR_LAYER_0

View File

@@ -13,9 +13,9 @@ const uint16_t PROGMEM fn_actions[] = {
[1] = TT(1)
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
uint8_t layer = biton32(state);
uint8_t layer = get_highest_layer(state);
ergodox_led_all_off();
ergodox_board_led_1_off();

View File

@@ -155,7 +155,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -193,7 +193,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
@@ -267,4 +267,3 @@ void matrix_init_user(void) {
void matrix_scan_user(void) {
}

View File

@@ -143,7 +143,7 @@ layer_state_t layer_state_set_user(layer_state_t state)
{
turn_off_leds();
switch (biton32(state))
switch (get_highest_layer(state))
{
case NORMAL_LAYER:
break;

View File

@@ -50,8 +50,8 @@ KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
};
/* Layer based ilumination, just binary */
uint32_t layer_state_set_user(uint32_t state) {
switch (biton32(state)) {
layer_state_t layer_state_set_user(layer_state_t state) {
switch (get_highest_layer(state)) {
case _FNONE:
palSetPad(GPIOA, 0); //OFF Color A
palClearPad(GPIOA, 1); //ON Color B

View File

@@ -74,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -78,9 +78,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
#ifdef JOTANCK_LEDS
switch (biton32(state)) {
switch (get_highest_layer(state)) {
case _LOWER:
writePinHigh(JOTANCK_LED1);
writePinLow(JOTANCK_LED2);

View File

@@ -0,0 +1,21 @@
/*
Copyright 2019 Yan-Fa Li
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"

View File

@@ -0,0 +1,51 @@
/* Copyright 2019 Yan-Fa Li
*
* 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
};
// Defines the keycodes used by our macros in process_record_user
enum custom_keycodes {
QMKURL = SAFE_RANGE
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT(
KC_A, KC_1, MO(_FN)
),
[_FN] = LAYOUT(
RESET, QMKURL, _______
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case QMKURL:
if (record->event.pressed) {
// when keycode QMKURL is pressed
SEND_STRING("https://qmk.fm/" SS_TAP(X_ENTER));
} else {
// when keycode QMKURL is released
}
break;
}
return true;
}

View File

@@ -0,0 +1 @@
# The default keymap for PostageBoard

View File

@@ -0,0 +1,61 @@
/*
Copyright 2019 Yan-Fa Li
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0xB07D
#define DEVICE_VER 0x0002
#define MANUFACTURER LifeIsOnTheWire
#define PRODUCT PostageBoard
#define DESCRIPTION "A Handwire Controller Board Round 2"
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
/*
* 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 { D5 }
#define MATRIX_COL_PINS { E6, B3, B7 }
#define UNUSED_PINS { D0, D1, D2, D3, D4, D6, D7, B4, B5, B6, C6, C7, B2, B1, B0, F7, F6, F5, F4, F1, F0 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
// #define BOOTMAGIC_LITE_COLUMN 0

View File

@@ -0,0 +1,18 @@
/* Copyright 2019 Yan-Fa Li
*
* 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 "mini.h"

View File

@@ -0,0 +1,34 @@
/* Copyright 2019 Yan-Fa Li
*
* 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( \
k00, k01, k02 \
) \
{ \
{ k00, k01, k02 } \
}

View File

@@ -0,0 +1,29 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
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
MIDI_ENABLE = no # MIDI support
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
HD44780_ENABLE = no # Enable support for HD44780 based LCDs

View File

@@ -0,0 +1 @@
#include "postageboard.h"

View File

@@ -0,0 +1,26 @@
/* Copyright 2019 Yan-Fa Li
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "quantum.h"
#define LAYOUT( \
k00, k01, k02 \
) \
{ \
{ k00, k01, k02 } \
}

View File

@@ -0,0 +1,61 @@
/*
Copyright 2019 Yan-Fa Li
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0xB07D
#define DEVICE_VER 0x0001
#define MANUFACTURER LifeIsOnTheWire
#define PRODUCT PostageBoard
#define DESCRIPTION "A Handwire Controller Board"
/* key matrix size */
#define MATRIX_ROWS 1
#define MATRIX_COLS 3
/*
* 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 { B6 }
#define MATRIX_COL_PINS { B7, C6, C7 }
#define UNUSED_PINS { D4, D6, D7, B4, B5, D5, D3, D2, D1, D0, B2, B3, F0, F1, F4, F5, F6, F7, E6, B0, B1 }
/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not 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
/* Bootmagic Lite key configuration */
// #define BOOTMAGIC_LITE_ROW 0
// #define BOOTMAGIC_LITE_COLUMN 0

View File

@@ -0,0 +1,18 @@
/* Copyright 2019 Yan-Fa Li
*
* 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 "r1.h"

View File

@@ -0,0 +1,34 @@
/* Copyright 2019 Yan-Fa Li
*
* 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( \
k00, k01, k02 \
) \
{ \
{ k00, k01, k02 } \
}

View File

@@ -0,0 +1,29 @@
# MCU name
MCU = atmega32u4
# Bootloader selection
# Teensy halfkay
# Pro Micro caterina
# Atmel DFU atmel-dfu
# LUFA DFU lufa-dfu
# QMK DFU qmk-dfu
# ATmega32A bootloadHID
# ATmega328P USBasp
BOOTLOADER = atmel-dfu
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
MIDI_ENABLE = no # MIDI support
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
HD44780_ENABLE = no # Enable support for HD44780 based LCDs

View File

@@ -0,0 +1,25 @@
# Postage Board
### Round 1
![PostageBoard](https://cdn.shopify.com/s/files/1/1851/5125/products/image_db6a6d1c-01d8-4263-b148-136292425b6a_530x@2x.jpg?v=1540240631)
### Round 2: Mini version
![PostageBoard](https://cdn.shopify.com/s/files/1/1851/5125/products/image_94eb103e-07f9-437f-b661-0909247cd766_1024x1024@2x.jpg?v=1574211602)
The Postage board is a controller board meant to aid people in making a hand wired keyboard. Controller boards are essentially the brain of the keyboard. It is similar to the common Teensy 2.0, and also the Pro Micro.
However, neither the Teensy, nor the Pro Micro are designed for keyboards specifically. They are just general Arduino-like boards meant for a variety of DIY projects. The Postage Board is designed for mechanical keyboards specifically, and thus the process of assembling your keyboard is easier, and the final product is more refined.
* Keyboard Maintainer: [LifeIsOnTheWire](https://github.com/LifeIsOnTheWire/Postage-Board)
* Hardware Supported: Available at GB
* Hardware Availability: Available at GB
Make example for this keyboard (after setting up your build environment):
make handwired/postageboard/r1:default
or
make handwired/postageboard/mini:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

View File

@@ -0,0 +1 @@
DEFAULT_FOLDER=handwired/postageboard/mini

View File

@@ -132,9 +132,9 @@ void led_set_user(uint8_t usb_led) {
}
//function for layer indicator LED
uint32_t layer_state_set_user(uint32_t state)
layer_state_t layer_state_set_user(layer_state_t state)
{
if (biton32(state) == 2) {
if (get_highest_layer(state) == 2) {
writePinHigh(C6);
} else {
writePinLow(C6);

View File

@@ -986,7 +986,7 @@ void process_doublespace(bool pressed, bool *isactive, bool *otheractive, bool *
}
#endif
uint32_t layer_state_set_kb(uint32_t state)
layer_state_t layer_state_set_user(layer_state_t state)
{
// turn on punc layer if both fun & num are on
if ((state & ((1UL<<_NUM) | (1UL<<_FUN))) == ((1UL<<_NUM) | (1UL<<_FUN))) {

View File

@@ -99,6 +99,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -102,7 +102,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -87,7 +87,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
float tone_qwerty[][2] = TONE_QWERTY;
float tone_numpad[][2] = TONE_NUMPAD;
uint32_t default_layer_state_set_kb(uint32_t state) {
layer_state_t default_layer_state_set_kb(layer_state_t state) {
if (state == 1UL<<_QWERTY) {
PLAY_SONG(tone_qwerty);
} else if (state == 1UL<<_NUMPAD) {

View File

@@ -75,9 +75,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return true;
}
uint32_t layer_state_set_user(uint32_t state)
layer_state_t layer_state_set_user(layer_state_t state)
{
uint8_t layer=biton32(state);
uint8_t layer=get_highest_layer(state);
switch(layer)
{
case DF:

View File

@@ -99,6 +99,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
)
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -0,0 +1,34 @@
/*
This is the c configuration file for the keymap
Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert
Copyright 2018 Danny Nguyen <danny@keeb.io>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
// #define USE_I2C
// Need to flip the rows
#undef MATRIX_COL_PINS
#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6 }
/* Select hand configuration */
// #define MASTER_RIGHT
// #define EE_HANDS
/* Time in ms until oneshot layer times out */
#define ONESHOT_TIMEOUT 3000

View File

@@ -0,0 +1,123 @@
#include QMK_KEYBOARD_H
/* Add the stings you want to send as macros, see
* https://docs.qmk.fm/#/feature_macros for what all can be used
*/
#define MACRO_0 "zero"
#define MACRO_1 "one"
#define MACRO_2 "two"
#define MACRO_3 "three"
#define MACRO_4 "four"
#define MACRO_5 "five"
#define MACRO_6 "six"
#define MACRO_7 "seven"
#define MACRO_8 "eight"
#define MACRO_9 "nine"
enum macro_keycodes {
M0 = SAFE_RANGE,
M1,
M2,
M3,
M4,
M5,
M6,
M7,
M8,
M9
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Numpad
* ,-----------------------------------------------------------------------------------.
* | 0 | 1 | 4 | 7 | BkSp |OSL(1)| | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | , | 2 | 5 | 8 | / | Down | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | . | 3 | 6 | 9 | * | Up | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------|
* | Enter | + | - | = | MO(1)| | | | | | |
* `-----------------------------------------------------------------------------------'
*/
[0] = LAYOUT_ortho_4x12( \
KC_KP_0, KC_KP_1, KC_KP_4, KC_KP_7, KC_BSPACE, OSL(1), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_COMMA, KC_KP_2, KC_KP_5, KC_KP_8, KC_KP_SLASH, KC_DOWN, KC_NO, KC_A, KC_B, KC_C, KC_D, KC_NO, \
KC_KP_DOT, KC_KP_3, KC_KP_6, KC_KP_9, KC_KP_ASTERISK, KC_UP, KC_NO, KC_E, KC_F, KC_G, KC_H, KC_NO, \
KC_KP_ENTER, KC_NO, KC_KP_PLUS, KC_KP_MINUS, KC_KP_EQUAL, MO(1), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO \
),
/* Macro layer - the number keys are macros,
* other functions on remaining keys
* ,-----------------------------------------.
* | M(0) | M(1) | M(4) | M(7) | | Esc |
* |------+------+------+------+------+------|
* | Left | M(2) | M(5) | M(8) | | |
* |------+------+------+------+------+------|
* | Right| M(3) | M(6) | M(9) | | |
* |------+------+------+------+------+------|
* | NumLock | RESET| | | Calc |
* `-----------------------------------------'
*/
[1] = LAYOUT_ortho_4x12( \
M0, M1, M4, M7, KC_NO, KC_ESC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_LEFT, M2, M5, M8, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_RIGHT, M3, M6, M8, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, \
KC_NUMLOCK, RESET, KC_NO, KC_NO, KC_CALC, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO \
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case M0:
if (record->event.pressed) {
SEND_STRING(MACRO_0);
}
break;
case M1:
if (record->event.pressed) {
SEND_STRING(MACRO_1);
}
break;
case M2:
if (record->event.pressed) {
SEND_STRING(MACRO_2);
}
break;
case M3:
if (record->event.pressed) {
SEND_STRING(MACRO_3);
}
break;
case M4:
if (record->event.pressed) {
SEND_STRING(MACRO_4);
}
break;
case M5:
if (record->event.pressed) {
SEND_STRING(MACRO_5);
}
break;
case M6:
if (record->event.pressed) {
SEND_STRING(MACRO_6);
}
break;
case M7:
if (record->event.pressed) {
SEND_STRING(MACRO_7);
}
break;
case M8:
if (record->event.pressed) {
SEND_STRING(MACRO_8);
}
break;
case M9:
if (record->event.pressed) {
SEND_STRING(MACRO_9);
}
break;
}
return true;
};

View File

@@ -0,0 +1,4 @@
# Numpad Layout
[Layout Example](http://www.keyboard-layout-editor.com/##@@_c=%23ffd100&a:7%3B&=&_c=%23909596&f:5%3B&=&=&=%3B&@_c=%23c4c8c5&st=MX1A-L1xx&f:6%3B&=Esc&=%2F%2F&=*&=%3F%3B&@=7&=8&=9&=%E2%80%93%3B&@=4&_n:true%3B&=5&=6&=+%3B&@=1&=2&=3&_c=%23ffd100&h:2%3B&=%3B&@_c=%23c4c8c5%3B&=0&_a:5%3B&=%3C%0A,&=%3E%0A.)
Uses a single half of the Levinson a vertical 4x6 numpad/macropad.

View File

@@ -0,0 +1,3 @@
# Build Options
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow

View File

@@ -5,7 +5,7 @@
"width": 17.25,
"height": 5,
"layouts": {
"LAYOUT": {
"LAYOUT_68_ansi": {
"layout": [
{"label":"~", "x":0, "y":0},
{"label":"!", "x":1, "y":0},

View File

@@ -4,7 +4,7 @@
#define _FN1 1
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
[_QWERTY] = LAYOUT_68_ansi(
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐
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_INS, KC_PGUP,
//├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//└──────────┴──────────┴──────────┴───────────────────────────────────────────────────────┴──────────┴──────────┴──────────┘ └────────┴────────┴────────┘
),
[_FN1] = LAYOUT(
[_FN1] = LAYOUT_68_ansi(
//┌────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────┬────────────────┐ ┌────────┬────────┐
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_HOME,
//├────────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────┴───┬────────────┤ ├────────┼────────┤

View File

@@ -28,3 +28,5 @@ MIDI_ENABLE = no # MIDI controls
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
LAYOUTS = 68_ansi

View File

@@ -2,7 +2,7 @@
#include "quantum.h"
#define LAYOUT( \
#define LAYOUT_68_ansi( \
A1, A2, A3, A4, A5, A6, A7, A8, E1, E2, E3, E4, E5, E6, E7, E8, \
B1, B2, B3, B4, B5, B6, B7, B8, F1, F2, F3, F4, F5, F6, F7, F8, \
C1, C2, C3, C4, C5, C6, C7, C8, G1, G2, G3, G4, G5, \
@@ -72,3 +72,5 @@
KC_##K60, KC_##K61, KC_##K62, KC_##K63, KC_##K64, KC_##K65, KC_##K66, KC_##K67, KC_##K68, \
KC_##K70, KC_##K71, KC_##K72, KC_##K73, KC_##K74 \
)
#define LAYOUT LAYOUT_68_ansi

View File

@@ -18,4 +18,4 @@ Example of flashing this keyboard:
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).
A build guide for the Kyria can be found at [docs.splitkb.com](https://docs.splitkb.com/docs/kyria-build-log/).
A build guide for the Kyria can be found at [docs.splitkb.com](https://docs.splitkb.com/hc/en-us/articles/360010552059-Kyria-Build-Guide-Introduction).

View File

@@ -116,9 +116,9 @@ if (IS_LED_ON(usb_led, USB_LED_CAPS_LOCK)) {
}
}
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
switch (biton32(state)) {
switch (get_highest_layer(state)) {
case _LOWER:
rgblight_sethsv_noeeprom(HSV_GREEN);
break;

View File

@@ -133,7 +133,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -115,6 +115,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -110,7 +110,7 @@ void rgb_matrix_indicators_user(void) {
}
#else /* no RGB matrix support */
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
if (state & (1<<NUM)) {
set_numpad_colours(1, &set_led_to);
} else {

View File

@@ -171,7 +171,7 @@ enum layers {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -83,7 +83,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
uint32_t layer_state_set_user(uint32_t state) {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}

View File

@@ -21,7 +21,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define _x_ KC_NO
#define LAYOUT_iso( \
#define LAYOUT_65_iso_blocker( \
K0D, K0C, K0B, K0A, K09, K08, K07, K06, K05, K04, K03, K02, K01, K00, K0E, \
K1D, K1C, K1B, K1A, K19, K18, K17, K16, K15, K14, K13, K12, K11, K1E, \
K2D, K2C, K2B, K2A, K29, K28, K27, K26, K25, K24, K23, K22, K10, K21, K2E, \
@@ -56,3 +56,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
}
#define LAYOUT LAYOUT_65_ansi_blocker // added to not break existing checked in keymaps
#define LAYOUT_iso LAYOUT_65_iso_blocker

View File

@@ -5,7 +5,7 @@
"height": 6,
"width": 15,
"layouts": {
"LAYOUT_iso": {
"LAYOUT_65_iso_blocker": {
"key_count": 68,
"layout": [{"label":"K0D", "x":0, "y":0}, {"label":"K0C", "x":1, "y":0}, {"label":"K0B", "x":2, "y":0}, {"label":"K0A", "x":3, "y":0}, {"label":"K09", "x":4, "y":0}, {"label":"K08", "x":5, "y":0}, {"label":"K07", "x":6, "y":0}, {"label":"K06", "x":7, "y":0}, {"label":"K05", "x":8, "y":0}, {"label":"K04", "x":9, "y":0}, {"label":"K03", "x":10, "y":0}, {"label":"K02", "x":11, "y":0}, {"label":"K01", "x":12, "y":0}, {"label":"K00", "x":13, "y":0, "w":2}, {"label":"K0E", "x":15, "y":0}, {"label":"K1D", "x":0, "y":1, "w":1.5}, {"label":"K1C", "x":1.5, "y":1}, {"label":"K1B", "x":2.5, "y":1}, {"label":"K1A", "x":3.5, "y":1}, {"label":"K19", "x":4.5, "y":1}, {"label":"K18", "x":5.5, "y":1}, {"label":"K17", "x":6.5, "y":1}, {"label":"K16", "x":7.5, "y":1}, {"label":"K15", "x":8.5, "y":1}, {"label":"K14", "x":9.5, "y":1}, {"label":"K13", "x":10.5, "y":1}, {"label":"K12", "x":11.5, "y":1}, {"label":"K11", "x":12.5, "y":1}, {"label":"K1E", "x":15, "y":1}, {"label":"K2D", "x":0, "y":2, "w":1.75}, {"label":"K2C", "x":1.75, "y":2}, {"label":"K2B", "x":2.75, "y":2}, {"label":"K2A", "x":3.75, "y":2}, {"label":"K29", "x":4.75, "y":2}, {"label":"K28", "x":5.75, "y":2}, {"label":"K27", "x":6.75, "y":2}, {"label":"K26", "x":7.75, "y":2}, {"label":"K25", "x":8.75, "y":2}, {"label":"K24", "x":9.75, "y":2}, {"label":"K23", "x":10.75, "y":2}, {"label":"K22", "x":11.75, "y":2}, {"label":"K10", "x":12.75, "y":2}, {"label":"K21", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"K2E", "x":15, "y":2}, {"label":"K3D", "x":0, "y":3, "w":1.25}, {"label":"K4A", "x":1.25, "y":3}, {"label":"K3C", "x":2.25, "y":3}, {"label":"K3B", "x":3.25, "y":3}, {"label":"K3A", "x":4.25, "y":3}, {"label":"K39", "x":5.25, "y":3}, {"label":"K38", "x":6.25, "y":3}, {"label":"K37", "x":7.25, "y":3}, {"label":"K36", "x":8.25, "y":3}, {"label":"K35", "x":9.25, "y":3}, {"label":"K34", "x":10.25, "y":3}, {"label":"K33", "x":11.25, "y":3}, {"label":"K32", "x":12.25, "y":3, "w":1.75}, {"label":"K30", "x":14, "y":3}, {"label":"K3E", "x":15, "y":3}, {"label":"K4D", "x":0, "y":4, "w":1.25}, {"label":"K4C", "x":1.25, "y":4, "w":1.25}, {"label":"K4B", "x":2.5, "y":4, "w":1.25}, {"label":"K48", "x":3.75, "y":4, "w":6.25}, {"label":"K44", "x":10, "y":4, "w":1.25}, {"label":"K43", "x":11.25, "y":4, "w":1.25}, {"label":"K42", "x":13, "y":4}, {"label":"K40", "x":14, "y":4}, {"label":"K4E", "x":15, "y":4}]
},

View File

@@ -23,14 +23,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BL] = LAYOUT(
[_BL] = LAYOUT_65_ansi_blocker(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PSCR, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, \
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_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_SPC, KC_RALT, MO(_FL), KC_LEFT, KC_DOWN, KC_RIGHT),
[_FL] = LAYOUT(
[_FL] = LAYOUT_65_ansi_blocker(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_PAUS, \
KC_TRNS, KC_NO, KC_UP, KC_NO, RGB_TOG,RGB_VAI,RGB_HUI,RGB_SAI,KC_INS, RESET, KC_PSCR, KC_SLCK, KC_PAUS, KC_BSLS, KC_SLCK, \
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,RGB_MOD,RGB_VAD,RGB_HUD,RGB_SAD,KC_NO, KC_NO, KC_F14, KC_F15, KC_INS, KC_HOME, \

View File

@@ -18,7 +18,7 @@ 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_iso(
[0] = LAYOUT_65_iso_blocker(
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_INS,
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_DEL,
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_NUBS, KC_ENT, KC_END,

View File

@@ -27,4 +27,4 @@ OPT_DEFS = -DDEBUG_LEVEL=0
CUSTOM_MATRIX = yes
SRC = matrix.c
LAYOUTS = 65_ansi_blocker
LAYOUTS = 65_ansi_blocker 65_iso_blocker

27
keyboards/pico/config.h Normal file
View File

@@ -0,0 +1,27 @@
/* Copyright 2019 Kumao Kobo <kumaokobo@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "config_common.h"
#define USE_SERIAL
/* Select hand configuration */
#define MASTER_LEFT
// #define MASTER_RIGHT
// #define EE_HANDS

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