使用c中的混乱工具包通过导航键转移焦点?
我必须使用 C 中的混乱创建一个垂直菜单。任何人都可以帮助我如何使用我想要突出显示焦点菜单选项的菜单的导航键来实现焦点转移。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我必须使用 C 中的混乱创建一个垂直菜单。任何人都可以帮助我如何使用我想要突出显示焦点菜单选项的菜单的导航键来实现焦点转移。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
最简单的方法是将包含所有菜单项的 actor 标记为响应式,使用 clutter_actor_grab_key_focus() 为其分配按键焦点并连接到按键事件信号。那么您可以在传递给信号的
ClutterEvent
上使用clutter_event_get_key_symbol()
并将其与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-按键事件
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
the easiest way is to mark the actor that contains all the menu items as reactive, assign to it the key focus using
clutter_actor_grab_key_focus()
and connect to thekey-press-event
signal. then you can useclutter_event_get_key_symbol()
on theClutterEvent
passed to the signal and match it agains key symbols likeCLUTTER_KEY_Down
orCLUTTER_KEY_Up
.then there's even the possibility to use
ClutterBindingPool
to handle tuples of (key symbol, modifier) and assign them to a specific callback function.for more information, see the API reference:
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
the list of key symbols in in the clutter-keysyms.h header:
http://git.gnome.org/browse/clutter/tree/clutter/clutter-keysyms.h
there are various recipes in the Cookbook as well:
https://developer.gnome.org/clutter-cookbook/stable/events-handling-key-events.html