[Armadillo:05674] Re: Armadillo-440でキーパッドを使う方法について
nakai
email@hidden
2010年 8月 23日 (月) 12:58:23 JST
nakaiです。
> と定義されておりましたので、"/dev/input/event0"で拾える
> イベント名は、"mxc_keypad"だと思ったのですが実際に拾えた
> イベント名は、"mxckpd"でした。
> これは正しい動作でしょうか。
platform_device名としては、"mxc_keypad"となっていますが、
インプットデバイス名としては、"mxcpkd"となっています。
linux-2.6.26-at10のlinux-2.6.26-at/drivers/input/keyboard/mxc_keyb.c
の次のコードで設定しています。
902 mxckbd_dev->keycode = &mxckpd_keycodes;
903 mxckbd_dev->keycodesize = sizeof(unsigned char);
904 mxckbd_dev->keycodemax = mxckpd_keycodes_size;
905 mxckbd_dev->name = "mxckpd";
906 mxckbd_dev->id.bustype = BUS_HOST;
907 mxckbd_dev->open = mxc_kpp_open;
908 mxckbd_dev->close = mxc_kpp_close;
909
910 __set_bit(EV_KEY, mxckbd_dev->evbit);
911 for (i = 0; i < mxckpd_keycodes_size; i++)
912 __set_bit(mxckpd_keycodes[i], mxckbd_dev->keybit);
913
914 key_pad_enabled = 1;
915
916 retval = input_register_device(mxckbd_dev);
(2010/08/20 22:07), muroi wrote:
> 室井です、自己レス致します。
>
> 動かない原因は、menuconfigの使い方に問題がありました。
> カーネルコンフィグの設定を触った後、ファイル名を入力して
> Save操作を行うとコンフィグが反映されていませんでした。
>
> 質問に記載したコンフィグレーションとソース修正のみで
> キーパッドドライバからのイベントを拾うことが出来ました。
>
> お騒がせしました。
>
> ただ疑問があります。
>
> "/linux-2.6.26-at9/arch/arm/mach-mx25/devices.c"に
>
> struct platform_device mx25_keypad_device = {
> .name = "mxc_keypad",
> .id = 0,
> .num_resources = ARRAY_SIZE(mx25_keypad_resources),
> .resource = mx25_keypad_resources,
> .dev = {
> .release = mx25_nop_release,
> },
> };
>
> と定義されておりましたので、"/dev/input/event0"で拾える
> イベント名は、"mxc_keypad"だと思ったのですが実際に拾えた
> イベント名は、"mxckpd"でした。
> これは正しい動作でしょうか。
>
> 以上、宜しくお願い致します。
>
>
> On Fri, 20 Aug 2010 11:01:51 +0900
> muroi<email@hidden> wrote:
>
>> MLの皆様、お世話になります。
>> 室井と申します。
>>
>> Armadillo-440のキーパッドドライバを用いて2×4のキーマトリクスを
>> 構築したいと考えております。
>> そこでカーネルコンフィグレーションとソースの修正を行いました。
>>
>> ◆有効にしたコンフィグレーション
>> ・CONFIG_INPUT
>> ・CONFIG_INPUT_EVDEV
>> ・CONFIG_KEYBOARD_MXC
>> ・CONFIG_ARMADILLO400_KEYPAD_CON11
>> ・CONFIG_ARMADILLO400_KEYPAD_ROW0_CON11_40
>> ・CONFIG_ARMADILLO400_KEYPAD_ROW1_CON11_41
>> ・CONFIG_ARMADILLO400_KEYPAD_ROW2_CON11_42
>> ・CONFIG_ARMADILLO400_KEYPAD_ROW3_CON11_43
>> ・CONFIG_ARMADILLO400_KEYPAD_COL0_CON11_44
>> ・CONFIG_ARMADILLO400_KEYPAD_COL1_CON11_45
>>
>> ◆ソースの修正
>> linux-2.6.x/arch/arm/mach-mx25/armadillo400.c(816)に
>> 定義されている構造体を下記のように定義し直しました。
>>
>> static struct keypad_data armadillo440_keypad_data = {
>> .row_first = 0,
>> .row_last = 3,
>> .col_first = 0,
>> .col_last = 1,
>> .matrix = armadillo440_keymapping,
>> };
>>
>> ★上記2点の対応を行いビルドして出来あがった
>> linux.bin.gz と romfs.img.gz をArmadilloに
>> 書き込んだ後に CON11の40pin〜45pin をオシロで
>> あたってみたのですが、どのポートからも
>> スキャン信号が出てきませんでした。
>>
>> キーパッドを使うには、他にどのような作業が必要でしょうか。
>>
>> 以上、宜しくお願い致します。
>>
>>
>> _______________________________________________
>> armadillo mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>>
>
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
armadillo メーリングリストの案内