On Thu, 28 Aug 2014 19:44:10 +0300
Giulio Camuffo <giuliocamu...@gmail.com> wrote:

> Add a new "numlock-on" option in the [keyboard] section of weston.ini
> which, if set to true, is used to enable the numlock of the keyboards
> attached at startup.
> ---
>  man/weston.ini.man |  6 ++++++
>  src/compositor.c   | 13 +++++++++++++
>  2 files changed, 19 insertions(+)
> 
> diff --git a/man/weston.ini.man b/man/weston.ini.man
> index ccd7185..c05a221 100644
> --- a/man/weston.ini.man
> +++ b/man/weston.ini.man
> @@ -446,6 +446,12 @@ sets the delay in milliseconds since key down until 
> repeating starts (unsigned
>  integer)
>  .RE
>  .RE
> +.TP 7
> +.BI "numlock-on=" "false"
> +sets the default state of the numlock on weston startup for the backends 
> which
> +support it.
> +.RE
> +.RE
>  .SH "TERMINAL SECTION"
>  Contains settings for the weston terminal application (weston-terminal). It
>  allows to customize the font and shell of the command line interface.
> diff --git a/src/compositor.c b/src/compositor.c
> index 8705950..20ff6b2 100644
> --- a/src/compositor.c
> +++ b/src/compositor.c
> @@ -4303,10 +4303,12 @@ int main(int argc, char *argv[])
>       const char *socket_name = NULL;
>       int32_t version = 0;
>       int32_t noconfig = 0;
> +     int32_t numlock_on;
>       struct weston_config *config = NULL;
>       struct weston_config_section *section;
>       struct wl_client *primary_client;
>       struct wl_listener primary_client_destroyed;
> +     struct weston_seat *seat;
>  
>       const struct weston_option core_options[] = {
>               { WESTON_OPTION_STRING, "backend", 'B', &option_backend },
> @@ -4477,6 +4479,17 @@ int main(int argc, char *argv[])
>       if (load_modules(ec, option_modules, &argc, argv) < 0)
>               goto out;
>  
> +     section = weston_config_get_section(config, "keyboard", NULL, NULL);
> +     weston_config_section_get_bool(section, "numlock-on", &numlock_on, 0);
> +     if (numlock_on) {
> +             wl_list_for_each(seat, &ec->seat_list, link) {
> +                     if (seat->keyboard)
> +                             weston_keyboard_set_locks(seat->keyboard,
> +                                                       WESTON_NUM_LOCK,
> +                                                       WESTON_NUM_LOCK);
> +             }
> +     }
> +
>       weston_compositor_wake(ec);
>  
>       wl_display_run(display);

Cool, both tested by me, and pushed.


Thanks,
pq
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to