我必须在C中使用杂乱创建一个垂直菜单。任何人都可以使用我想要突出显示焦点菜单选项的菜单的导航键来帮助我实现焦点移动。
答案 0 :(得分:2)
最简单的方法是将包含所有菜单项的actor标记为被动,使用clutter_actor_grab_key_focus()
为其指定关键焦点并连接到key-press-event
信号。然后,您可以对传递给信号的clutter_event_get_key_symbol()
使用ClutterEvent
,并再次匹配CLUTTER_KEY_Down
或CLUTTER_KEY_Up
等关键符号。
然后甚至可以使用ClutterBindingPool
来处理(键符号,修饰符)的元组并将它们分配给特定的回调函数。
有关详细信息,请参阅API参考:
http://developer.gnome.org/clutter/stable/ClutterActor.html#clutter-actor-grab-key-focus http://developer.gnome.org/clutter/stable/ClutterActor.html#ClutterActor-key-press-event http://developer.gnome.org/clutter/stable/clutter-Events.html#clutter-event-get-key-symbol http://developer.gnome.org/clutter/stable/clutter-Key-Bindings.html
clutter-keysyms.h标题中的键符号列表:
http://git.gnome.org/browse/clutter/tree/clutter/clutter-keysyms.h
食谱中也有各种食谱:
https://developer.gnome.org/clutter-cookbook/stable/events-handling-key-events.html