[Armadillo:05685] Re: Armadillo-440でキーパッドを使う方法について
muroi
email@hidden
2010年 8月 23日 (月) 17:42:54 JST
nakai様
情報ありがとうございます。
該当箇所に定義されていました。
疑問が解決し助かりました。
今後とも、宜しくお願い致します。
室井
On Mon, 23 Aug 2010 12:58:23 +0900
nakai <email@hidden> wrote:
> 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 mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
armadillo メーリングリストの案内