0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LILYGO T-Deck Plus ③:搭載キーボードからのREPL入力を可能にする

Last updated at Posted at 2024-12-16

キーボード入力ができるようになるか

前回で T-Deck PlusにCircuitPythonを入れたわけですが、LCDにREPLが表示されるものの、搭載キーボードからの入力でできないという状況。

keypad API はサポートされているので、頑張れば実現できそうであるが、Adafruitとしては自社ボードではないので、キーボードサポートは優先順位がかなり低いであろう。

tdeck_repl

同じように、キーボードサポートを待望している人はいるようで、PyDOSの入力処理を参考に、キーボード入力部分を作成したものがありました。

T-Deck Plus を USB ケーブルで繋いで電源を入れた後、PC上で次の操作を行う。

$ git clone https://github.com/RetiredWizard/tdeck_repl
$ cd tdeck_repl
$ cp tdeck_repl.py <CIRCUIYPYフォルダのパス>/lib
$ cp code.py <CIRCUIYPYフォルダのパス>
$ cp virtcode.py <CIRCUIYPYフォルダのパス>

リセットボタンを押して、CircuitPython を再起動する。

IMG_1767.JPG

REPL のプロンプトが =>> に変わっていて、T-Deck のキーボードから入力が可能になっている。左右のカーソル移動や入力履歴をたどるのはトラックボールから行える。

キーボード上に無い文字についてはマルチキー入力で可能になっている。

マルチキー入力 入力文字
_- =
(+ [
+) ]
(- <
-) >
_# ^
_/ \
-/ %
_! &

この tdeck_repl を抜けるには exit を実行する。通常の REPL 表示に戻る。

使ってみた感想

キーボード入力ができるようになるのは、非常にありがたい。

しかし、入力処理は独自の input() 関数で実現されているため、REPL 操作のすべてがサポートされているわけではない。たとえば TAB による補完や、Ctrl キー操作、ペーストモードが使えない。

cardputerあたりの実装を見てみると、キー入力を直接 REPL に伝える方法はありそうである。いずれできるようにしてみたい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?