[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 メーリングリストの案内