LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1099|回复: 1

GTK+DFB按键问题

[复制链接]
发表于 2009-4-1 20:59:21 | 显示全部楼层 |阅读模式
最近在ARM上移植GTK+DFB,遇到按键无响应问题,请各位大侠帮帮忙。

目前GTK+DFB运行正常,DFB能正常接收按键并传输到GTK。
GTK窗口和其中一个button能获取到焦点。
但是,此时按键(如TAB或方向键)焦点不会在各个控件间切换。

按键后,程序流程会跑过以下这些函数:
gdkevents-directfb.c,dfb_events_io_func
gdkevents-directfb.c,gdk_event_translate:type 8 keyval ff09 length 1 hardware_keycode f
gtkmain.c,IA__gtk_main_do_event
gtkmain.c,rewrite_event_for_grabs:type 8
gtkmain.c,rewrite_event_for_grabs
gdkmain-directfb.c,IA__gdk_keyboard_grab_info_libgtk_only
gtkmain.c,IA__gtk_main_do_event:event->type 8

松开按键时程序也跑过同样的流程。
我在虚拟机上安装GTK测试,发现按下TAB键后,程序除了跑过以上流程外还会跑以下流程:
gdk.c,gdk_threads_dispatch
gdkwindow-directfb.c,gdk_window_directfb_process_all_updates
gdkwindow.c,IA__gdk_window_process_updates
gdkwindow-directfb.c,gdk_window_impl_directfb_process_updates
gtkmain.c,IA__gtk_main_do_event
gtkmain.c,rewrite_event_for_grabs:type 2
gtkmain.c,IA__gtk_main_do_event

真心希望各位大侠不吝赐教,伸出援手帮帮忙,小弟在此先谢谢了!!

以下是directfbrc的设置:
wm=default
fbdev=/dev/fb/0
mode=720x576
depth=16
pixelformat=ARGB1555
bg-color=00000000
no-vt
no-vt-switch
no-vt-switching
no-graphics-vt
tmpfs=/tmp
 楼主| 发表于 2009-4-2 11:26:25 | 显示全部楼层
最新情况:
我在程序启动时将焦点设置到一个button上,按键后能够进入callback。
焦点设置到entry控件上,也能获取按键,并将键值显示到一个label控件上。而且也会跑上面讲的虚拟机上的流程,并且会不断的跑。
因为焦点在entry上时,会有光标不停的闪,所以窗口就要不断刷新,而那段流程时正是刷新窗口用的。

所以我认为问题出在:按键被按下后,没有激发控件的形态改变(变成被按下的样子);同样按方向键时,也没有激发相邻两个控件的形态改变。

是不是有个什么用来控制控件或窗口形态的部件,是需要特别的配置吗,是不是有什么选项没有加入呢?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表