static gboolean run_func(ObActionsData *data, gpointer options);
static gboolean i_input_func(guint initial_state,
XEvent *e,
+ ObtIC *ic,
gpointer options,
gboolean *used);
static void i_cancel_func(gpointer options);
static gboolean i_input_func(guint initial_state,
XEvent *e,
+ ObtIC *ic,
gpointer options,
gboolean *used)
{
}
if (e->type == KeyPress) {
+ KeySym sym = obt_keyboard_keypress_to_keysym(e);
+
/* Escape cancels no matter what */
- if (ob_keycode_match(e->xkey.keycode, OB_KEY_ESCAPE)) {
+ if (sym == XK_Escape) {
o->cancel = TRUE;
o->state = e->xkey.state;
return FALSE;
}
/* There were no modifiers and they pressed enter */
- else if (ob_keycode_match(e->xkey.keycode, OB_KEY_RETURN) &&
- !initial_state)
- {
+ else if (sym == XK_Return && !initial_state) {
o->cancel = FALSE;
o->state = e->xkey.state;
return FALSE;