方法

GdkDisplaytranslate_key

声明 [源]

gboolean
gdk_display_translate_key (
  GdkDisplay* display,
  guint keycode,
  GdkModifierType state,
  int group,
  guint* keyval,
  int* effective_group,
  int* level,
  GdkModifierType* consumed
)

描述 [源]

GdkEventKey 的内容转换为 keyval、有效组和级别。

影响转换且不可用于应用程序的修改符返回在 consumed_modifiers 中。

有效组是实际用于转换的组;有些键如 Enter 受活动键盘组的影响。级别来自 state

consumed_modifiers 提供了在比较此按键与键盘快捷方式时应该从 state 中屏蔽的修改符。例如,在US键盘上,加号符号是按 shift 键的,因此在比较按键到 <Control>plus 加速器时,应该屏蔽 <Shift>

此函数很少需要,因为 GdkEventKey 已经包含转换后的 keyval。它是为了虚拟化测试环境的好处而导出的。

参数

keycode

类型: guint

一个按键码。

state

类型: GdkModifierType

一个修改状态。

group

类型: int

活动键盘组。

keyval

类型: guint*

keyval 的返回位置。

该参数将由函数设置。
该参数可以是 NULL
effective_group

类型: int*

有效组的返回位置。

该参数将由函数设置。
该参数可以是 NULL
level

类型: int*

级别的返回位置。

该参数将由函数设置。
该参数可以是 NULL
consumed

类型: GdkModifierType

用于确定组或级别的修改符的返回位置。

该参数将由函数设置。
该参数可以是 NULL
该方法调用者将拥有返回的数据,并负责释放它。

返回值

类型: gboolean

TRUE 表示与keycode/state/group绑定了一个keyval。