NES Classic Miniではコントローラがi2cで接続され、
Linux上からは/dev/event や /dev/input/event で取得することができます。
しかし、それを触るにはプログラムを書かなければいけないため少々面倒です。
将来的に、直接キーボードを接続する前準備として、
コントローラ端子にキーボードをつなげるようにドライバを改変してみました。
もちろん、将来接続するのはアレ↓ですがw
さて、とりあえずコントローラのボタンとキーの割り当ては下のようにします。
↑ "o"
← " r"
↓ ”e”
→ "t"
SELECT "b"
START "ENTER"
B "l"
A "s"
こうすると、起動後の"login:"に 対して "root [ENTER]"を押してログインでき、
"ls [ENTER]"でファイル一覧が取得できます。
clovercon.cを少し改変
ところで、おっさん達はその昔端末に"sl"というプログラムが入っていることがあったのを覚えているかと思います。
https://ja.wikipedia.org/wiki/Sl_(UNIX)
Unix系OSにおいて、ls は最もよく使われるコマンドであるが、lsコマンドを実行しようとしてslとミスタイプすることがしばしばある。そのような場合、コンピュータは「sl」という存在しないコマンドを求めてシステムを全検索してしまい、70年代から80年代当時の処理能力の遅いコンピュータではそれにしばらく時間がかかり、作業が中断してしまうことがあった。そこでそれを防ぐため、「sl」と言う名のダミーのプログラムを用意することがあった。
このslも、そういったダミープログラムの一つであるといえるが、ミスタイプによってロスする時間(現代においては殆ど一瞬である)よりも、SLが走り抜けるのを待っている時間のほうが長いなど、ジョークプログラムとしての性格が強い。
Ctrl+Cでも停止できず、数分間も延々とSLが走っている姿を見させられるため、嫌がらせに近いと評価する者もいるが、学生時代の豊田准教授は本ソフトのマニュアルにおいて「高度に発展した、キータイプ矯正を目的とするアニメーションプログラムである」と主張している。
そんなslが、buildrootのパッケージに入っていたのでついでに入れてみました。
本当は[B][A][START] でlsしなければいけない時に、slしてしまうとどうなるか。
以下の動画でどうぞ。