BeagleBoard Android USBキーボード操作方法

412 views
Skip to first unread message

Yoshitake Takata

unread,
Jul 28, 2009, 1:57:17 PM7/28/09
to android-g...@googlegroups.com
高田と申します。
おせわになっております。

ブリリアントサービスさんの「Beagle Board Rev.C2でAndroidを動かす」
http://d.hatena.ne.jp/bs-android/20090616/1245139773
を参考にさせて頂き、Beagle Board Rev.C3 でAndoroidを起動できる様に
なりました。

初歩的な質問ですが、カーソルキーでアイコンを選択し Enter で実行し
アプリケーションを起動する所までは可能ですが、アプリケーションを閉じる
操作はどうすれば良いのでしょうか?(HT-03Aでは戻るボタンと同じような操作)

検索ウィンドウ等に文字入力は可、ESCとかCtrl+Cとかいろいろキーを押して
みましたが効きません。Ctrl + Alt + Del は有効で再起動は可能ですが毎回
再起動するわけにもいかないので。
USBキーボードは3種類程試して全て同じ状況。正常に認識出来ていないので
しょうか?

ご存知の方がおられたらご回答頂けると助かります。
(FAQでしたら申し訳ありません)

以上、よろしくお願いします。

mizmit1222

unread,
Jul 28, 2009, 9:42:16 PM7/28/09
to 日本Androidの会
みずの@組み込みWGです。

キーアサインは /system/usr/keylayout/以下のファイルに書かれています。
変更方法は以下の手順です。結構、面倒です。

1) ueventからキーボードの名前を調べる
/sys/class/input/input[0..9] のueventをcatしてNAME=を見ます。
あるいは、adb logcatから次のような行を探します。
 I/EventHub( 1342): New keyboard: ... devname='KEYBOARD' ...
keylayout='/system/usr/keylayout/KEYBOARD.kl'

2) KeycodeCheckerでキーコードを拾う
androidzaurusさんのKeycodeCheckerを使ってます。
http://androidzaurus.seesaa.net/article/107106587.html
キーを押して表示される値をメモしておきます。Androidで認識され
ないキーはkeyが0、nameがUNKNOWNになります。
key - scan - modifier - nameのうち、scanが重要です。

3) 専用のlayoutファイルをつくる
/system/usr/keylayout/qwerty.klを1)で調べた名前.klという
ファイル名でコピーを作成します。エディタなどで変更が必要なの
でPCで行ったほうがいいです。

4) layoutファイルをカスタマイズする
作成したlayoutファイルに割り当てたいキーのレイアウトを追加
します。書式は、
key [2)で調べたscanコード] 機能 [|WAKE|WAKE_DROPPED]

5) ターゲットへインストール
4)で作ったファイルを、/system/usr/keylayoutにコピーし、
パーミッションを0777にしておきます。

6) /system/usr/keychars
keycharsファイルも3)と同様にqwerty.kcm.binを1)で調べた名前
でコピーして作成します。

参考までに私が使っているキーボードでのklファイルに追加した部
分を貼り付けておきます。

key 1 BACK WAKE_DROPPED
key 41 HOME WAKE
key 59 HOME WAKE_DROPPED
key 88 ENDCALL WAKE_DROPPED
key 116 ENDCALL WAKE_DROPPED
key 99 ENDCALL WAKE_DROPPED
key 70 MENU
key 119 DPAD_CENTER WAKE_DROPPED

ESCで[Back]、PrintScreenで[End]、ScrollLockで[Menu]、
Pauseで[OK]になるようにしてます。使っている折りたたみ式の
コンパクトなキーボードで具合のいい配列になるようにしていま
す。

DPAD_CENTERは[OK]です。エミュレータ時代の名残りのような
名前ですね。WAKE/WAKE_DROPPEDはサスペンドからの復帰を行
うかどうかの指定です。常時ON状態のBeagleでは関係ないと思
います。

1つのscanコードに複数の機能を割り当てないよう注意してく
ださい。

ではでは。

Yoshitake Takata

unread,
Jul 29, 2009, 12:51:09 PM7/29/09
to android-g...@googlegroups.com
みずのさま

たかたです。
確認方法だけでなく設定変更まで丁寧に返信頂きありがとうございました。

起動メッセージ表示、及び uevent にNAME="KEYBOARD" と記録されて
いることを確認しました。

頂いた情報を元にキーを確認、変更設定させて頂きます。
追って結果が出ましたら報告させていただきます。

2009/7/29 mizmit1222 <mizmi...@gmail.com>:

Yoshitake Takata

unread,
Jul 31, 2009, 2:33:19 PM7/31/09
to android-g...@googlegroups.com
たかたです。
お世話になっております。

ご指示頂いた手順で確認、設定を行いキーが効くようになりました。

偶然私の購入したキーボードも下記の折りたたみタイプだったので
参考に貼り付けていただいた内容、殆どそのまま利用することが
出来ました。
http://www.diatec.co.jp/products/det.php?prod_c=452

ありがとうございました。

2009/7/30 Yoshitake Takata <yo.t...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages