Lines 353-360
Link Here
|
353 |
¤t_state_out->indicators)) |
353 |
¤t_state_out->indicators)) |
354 |
current_state_out->indicators &= |
354 |
current_state_out->indicators &= |
355 |
xkl_engine_backend(engine, XklXkb, |
355 |
xkl_engine_backend(engine, XklXkb, |
356 |
cached_desc)-> |
356 |
cached_desc)->indicators-> |
357 |
indicators->phys_indicators; |
357 |
phys_indicators; |
358 |
else |
358 |
else |
359 |
current_state_out->indicators = 0; |
359 |
current_state_out->indicators = 0; |
360 |
} |
360 |
} |
Lines 402-409
Link Here
|
402 |
xkl_engine_backend |
402 |
xkl_engine_backend |
403 |
(engine, XklXkb, |
403 |
(engine, XklXkb, |
404 |
device_id), |
404 |
device_id), |
405 |
cached-> |
405 |
cached->names-> |
406 |
names->indicators |
406 |
indicators |
407 |
[indicator_num], set, |
407 |
[indicator_num], set, |
408 |
False, NULL); |
408 |
False, NULL); |
409 |
else { |
409 |
else { |
Lines 541-547
Link Here
|
541 |
#ifdef LIBXKBFILE_PRESENT |
541 |
#ifdef LIBXKBFILE_PRESENT |
542 |
gint opcode; |
542 |
gint opcode; |
543 |
gboolean xkl_xkb_ext_present; |
543 |
gboolean xkl_xkb_ext_present; |
544 |
int xi_opc, xi_event_type, xi_error_code; |
544 |
int xi_opc; |
545 |
|
545 |
|
546 |
xkl_engine_priv(engine, backend_id) = "XKB"; |
546 |
xkl_engine_priv(engine, backend_id) = "XKB"; |
547 |
xkl_engine_priv(engine, features) = XKLF_CAN_TOGGLE_INDICATORS | |
547 |
xkl_engine_priv(engine, features) = XKLF_CAN_TOGGLE_INDICATORS | |
Lines 564-569
Link Here
|
564 |
xkl_engine_priv(engine, get_num_groups) = xkl_xkb_get_num_groups; |
564 |
xkl_engine_priv(engine, get_num_groups) = xkl_xkb_get_num_groups; |
565 |
xkl_engine_priv(engine, lock_group) = xkl_xkb_lock_group; |
565 |
xkl_engine_priv(engine, lock_group) = xkl_xkb_lock_group; |
566 |
xkl_engine_priv(engine, process_x_event) = xkl_xkb_process_x_event; |
566 |
xkl_engine_priv(engine, process_x_event) = xkl_xkb_process_x_event; |
|
|
567 |
xkl_engine_priv(engine, process_x_error) = xkl_xkb_process_x_error; |
567 |
xkl_engine_priv(engine, free_all_info) = xkl_xkb_free_all_info; |
568 |
xkl_engine_priv(engine, free_all_info) = xkl_xkb_free_all_info; |
568 |
xkl_engine_priv(engine, if_cached_info_equals_actual) = |
569 |
xkl_engine_priv(engine, if_cached_info_equals_actual) = |
569 |
xkl_xkb_if_cached_info_equals_actual; |
570 |
xkl_xkb_if_cached_info_equals_actual; |
Lines 615-628
Link Here
|
615 |
xkl_engine_priv(engine, features) |= |
616 |
xkl_engine_priv(engine, features) |= |
616 |
XKLF_MULTIPLE_LAYOUTS_SUPPORTED; |
617 |
XKLF_MULTIPLE_LAYOUTS_SUPPORTED; |
617 |
|
618 |
|
|
|
619 |
#if HAVE_XINPUT |
618 |
if (XQueryExtension |
620 |
if (XQueryExtension |
619 |
(display, "XInputExtension", &xi_opc, |
621 |
(display, "XInputExtension", &xi_opc, |
620 |
&xi_event_type, &xi_error_code)) { |
622 |
&xkl_engine_backend(engine, XklXkb, xi_event_type), |
|
|
623 |
&xkl_engine_backend(engine, XklXkb, xi_error_code))) { |
621 |
xkl_debug(150, "XInputExtension found (%d, %d, %d)\n", |
624 |
xkl_debug(150, "XInputExtension found (%d, %d, %d)\n", |
622 |
xi_opc, xi_event_type, xi_error_code); |
625 |
xi_opc, |
|
|
626 |
xkl_engine_backend(engine, XklXkb, |
627 |
xi_event_type), |
628 |
xkl_engine_backend(engine, XklXkb, |
629 |
xi_error_code)); |
623 |
xkl_engine_priv(engine, features) |= XKLF_DEVICE_DISCOVERY; |
630 |
xkl_engine_priv(engine, features) |= XKLF_DEVICE_DISCOVERY; |
624 |
} else |
631 |
} else { |
625 |
xkl_debug(0, "XInputExtension not found\n"); |
632 |
xkl_debug(0, "XInputExtension not found\n"); |
|
|
633 |
xkl_engine_backend(engine, XklXkb, xi_event_type) = -1; |
634 |
xkl_engine_backend(engine, XklXkb, xi_error_code) = -1; |
635 |
} |
636 |
#endif |
626 |
return 0; |
637 |
return 0; |
627 |
#else |
638 |
#else |
628 |
xkl_debug(160, |
639 |
xkl_debug(160, |