compositor: fetch repeat info from weston.ini
This commit is contained in:
committed by
Pekka Paalanen
parent
05e4a1f768
commit
66a41a06e7
@@ -396,6 +396,17 @@ sets the keymap options (string). See the Options section in
|
|||||||
.B "xkeyboard-config(7)."
|
.B "xkeyboard-config(7)."
|
||||||
.RE
|
.RE
|
||||||
.RE
|
.RE
|
||||||
|
.TP 7
|
||||||
|
.BI "repeat-rate=" "40"
|
||||||
|
sets the rate of repeating keys in characters per second (unsigned integer)
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
|
.TP 7
|
||||||
|
.BI "repeat-delay=" "400"
|
||||||
|
sets the delay in milliseconds since key down until repeating starts (unsigned
|
||||||
|
integer)
|
||||||
|
.RE
|
||||||
|
.RE
|
||||||
.SH "TERMINAL SECTION"
|
.SH "TERMINAL SECTION"
|
||||||
Contains settings for the weston terminal application (weston-terminal). It
|
Contains settings for the weston terminal application (weston-terminal). It
|
||||||
allows to customize the font and shell of the command line interface.
|
allows to customize the font and shell of the command line interface.
|
||||||
|
|||||||
@@ -3792,6 +3792,11 @@ weston_compositor_init(struct weston_compositor *ec,
|
|||||||
if (weston_compositor_xkb_init(ec, &xkb_names) < 0)
|
if (weston_compositor_xkb_init(ec, &xkb_names) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
weston_config_section_get_int(s, "repeat-rate",
|
||||||
|
&ec->kb_repeat_rate, 40);
|
||||||
|
weston_config_section_get_int(s, "repeat-delay",
|
||||||
|
&ec->kb_repeat_delay, 400);
|
||||||
|
|
||||||
text_backend_init(ec);
|
text_backend_init(ec);
|
||||||
|
|
||||||
wl_data_device_manager_init(ec->wl_display);
|
wl_data_device_manager_init(ec->wl_display);
|
||||||
|
|||||||
@@ -649,6 +649,9 @@ struct weston_compositor {
|
|||||||
|
|
||||||
/* Raw keyboard processing (no libxkbcommon initialization or handling) */
|
/* Raw keyboard processing (no libxkbcommon initialization or handling) */
|
||||||
int use_xkbcommon;
|
int use_xkbcommon;
|
||||||
|
|
||||||
|
int32_t kb_repeat_rate;
|
||||||
|
int32_t kb_repeat_delay;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct weston_buffer {
|
struct weston_buffer {
|
||||||
|
|||||||
+6
-3
@@ -1721,8 +1721,11 @@ seat_get_keyboard(struct wl_client *client, struct wl_resource *resource,
|
|||||||
wl_resource_set_implementation(cr, &keyboard_interface,
|
wl_resource_set_implementation(cr, &keyboard_interface,
|
||||||
seat, unbind_resource);
|
seat, unbind_resource);
|
||||||
|
|
||||||
if (wl_resource_get_version(cr) >= WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION)
|
if (wl_resource_get_version(cr) >= WL_KEYBOARD_REPEAT_INFO_SINCE_VERSION) {
|
||||||
wl_keyboard_send_repeat_info(cr, 30, 200);
|
wl_keyboard_send_repeat_info(cr,
|
||||||
|
seat->compositor->kb_repeat_rate,
|
||||||
|
seat->compositor->kb_repeat_delay);
|
||||||
|
}
|
||||||
|
|
||||||
if (seat->compositor->use_xkbcommon) {
|
if (seat->compositor->use_xkbcommon) {
|
||||||
wl_keyboard_send_keymap(cr, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
|
wl_keyboard_send_keymap(cr, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
|
||||||
@@ -1816,7 +1819,7 @@ bind_seat(struct wl_client *client, void *data, uint32_t version, uint32_t id)
|
|||||||
enum wl_seat_capability caps = 0;
|
enum wl_seat_capability caps = 0;
|
||||||
|
|
||||||
resource = wl_resource_create(client,
|
resource = wl_resource_create(client,
|
||||||
&wl_seat_interface, MIN(version, 3), id);
|
&wl_seat_interface, MIN(version, 4), id);
|
||||||
wl_list_insert(&seat->base_resource_list, wl_resource_get_link(resource));
|
wl_list_insert(&seat->base_resource_list, wl_resource_get_link(resource));
|
||||||
wl_resource_set_implementation(resource, &seat_interface, data,
|
wl_resource_set_implementation(resource, &seat_interface, data,
|
||||||
unbind_resource);
|
unbind_resource);
|
||||||
|
|||||||
Reference in New Issue
Block a user