このページは、キーボードのトラブルシューティングについての様々な一般的な質問を説明します。
hid_listen
がデバイスを認識できないデバイスのデバッグコンソールの準備ができていない場合、以下のように表示されます:
Waiting for device:.........
デバイスが接続されると、hid_listen がデバイスを見つけ、以下のメッセージが表示されます:
Waiting for new device:.........................
Listening:
この 'Listening:' のメッセージが表示されない場合は、[Makefile] を CONSOLE_ENABLE=yes
に設定してビルドしてみてください
Linux のような OS でデバイスにアクセスするには、権限が必要かもしれません。
sudo hid_listen
を試してください以下を調べてください:
debug_enable=true
を設定します。テストとデバッグを見てください権限付きで hid_listen を実行するために 'sudo' を使ってください。
$ sudo hid_listen
または rules ディレクトリにファイルを置いて、TMK デバイスのための udev rule を追加します。ディレクトリは各システムで異なるかもしれません。
File: /etc/udev/rules.d/52-tmk-keyboard.rules (Ubuntu の場合)
# tmk keyboard products https://github.com/tmk/tmk_keyboard
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
あなたはおそらくキーボードを「文鎮化」したくないでしょう。文鎮化するとファームウェアを書き換えられないようになります。リスクがあまりに高い(そしてそうでないかもしれない)ものの一部のリストを示します。
make dfu
コマンドはブロックを削除し、
サイズを検査し(おっと、間違った順序です!)、エラーを出力し、
キーボードへの書き込みに失敗し、DFU モードのままになります。
Linking: .build/planck_rev4_cbbrowne.elf [OK]
Creating load file for Flash: .build/planck_rev4_cbbrowne.hex [OK]
Size after:
text data bss dec hex filename
0 22396 0 22396 577c planck_rev4_cbbrowne.hex
最初に、Makefile 内でビルドオプション NKRO_ENABLE
を使ってファームウェアをコンパイルする必要があります。
NKRO がまだ動作しない場合は、Magic
N コマンド(デフォルトでは LShift+RShift+N
)を試してみてください。NKRO モードと 6KRO モード間を一時的に切り替えるためにこのコマンドを使うことができます。NKRO が機能しない状況、特に BIOS の場合は 6KRO モードに切り替える必要があります。
ファームウェアを BOOTMAGIC_ENABLE
でビルドした場合、ブートマジック
N コマンドで切り替える必要があります (デフォルトでは Space+N
)。この設定は EEPROM に格納され、電源を入れ直しても保持されます。
https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch
リセット回路が無いとハードウェアの不適切な初期化のために一貫性の無い結果になります。TPM754 の回路図を見てください。
列が 16 を超える場合、[matrix.h] の read_cols()
内の 1<<16
の代わりに 1UL<<16
を使ってください。
C では、AVR の場合 1
は [16 bit] である [int] 型の1を意味し、15 を超えて左にシフトすることはできません。1<<16
すると予期しないゼロが発生します。1UL
として [unsigned long] 型を使う必要があります。
QMK でそれらを使うには、rules.mk
内で EXTRAKEY_ENABLE
を定義する必要があります。
EXTRAKEY_ENABLE = yes # オーディオ制御とシステム制御
Windows では、デバイスマネージャの電源の管理タブ内の このデバイスで、コンピュータのスタンバイ状態を解除できるようにする
設定を調べてください。また BIOS 設定も調べてください。
スリープ中に任意のキーを押すとホストが起動するはずです。
Arduino のピンの命名は実際のチップと異なることに注意してください。 例えば、Arduino のピン D0
は PD0
ではありません。回路図を自身で確認してください。
Arduino の Leonardo と micro には ATMega32U4 が載っていて、TMK 用に使うことができますが、Arduino のブートローダが問題になることがあります。
デフォルトでは、キーボードが起動するとすぐに JTAG デバッグインタフェースが無効になります。JTAG 対応 MCU は JTAGEN
ヒューズが設定された状態で出荷されており、キーボードがスイッチマトリックス、LED などに使用している可能性のある MCU の特定のピンを乗っ取ります。
JTAG を有効にしたままにしたい場合は、単に以下のものを config.h
に追加します:
#define NO_JTAG_DISABLE
USB 3 ポートで問題がある人がいると聞きました。USB 2 ポートを試してください。
https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034
一部の人がキーボードが BIOS で動作しなくなった、またはリジューム(電源サイクル)の後で動作しなくなったと報告しました。
今のところ、この問題の根本は明確ではないですが、幾つかのビルドオプションが関係しているようです。Makefileで、CONSOLE_ENABLE
、NKRO_ENABLE
、SLEEP_LED_ENABLE
あるいは他のオプションを無効にしてみてください。
https://github.com/tmk/tmk_keyboard/issues/266 https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778