[, ] 和 / 的 gtk 名称

[, ] 和 / 的 gtk 名称

我正在尝试通过编辑 accels.scm 文件来更改我的 xfce4 终端键绑定。我写的行的更改之一是(gtk_accel_path "<Actions>/terminal-window/next-tab" "<Alt>]")。然而,这不起作用:似乎 gtk 需要我使用一些名称,如“RightSquareBracket”或类似的名称,而不是简单的“]”。 [ 和 / 也会发生同样的情况。我搜索了一些带有 gtk 名称键对应关系的列表,但没有运气。

你知道我在哪里可以找到这些信件吗?或者至少与 [、] 和 / 对应的字符串是什么?

答案1

启动xev,按下 键并使用第三行括号内的第二个值:

KeyPress event, serial 38, synthetic NO, window 0x4200001,
    root 0x7b9, subw 0x0, time 18425452, (520,545), root:(522,547),
    state 0x0, keycode 51 (keysym 0x5d, bracketright), same_screen YES,
    XLookupString gives 1 bytes: (5d) "]"
    XmbLookupString gives 1 bytes: (5d) "]"
    XFilterEvent returns: False

你会发现bracketleftslash对于其他的。因此

(gtk_accel_path "<Actions>/terminal-window/next-tab" "<Alt>bracketright")

更糟糕的选择是查看/usr/include/X11/keysymdef.h,您会在其中找到诸如

#define XK_bracketright                  0x005d  /* U+005D RIGHT SQUARE BRACKET */

相关内容