When building a shell-plugin the developer might not want to implement
an input method. Nevertheless weston will look for one, print errors
complaining that the input method died and then give up.

Signed-off-by: Murray Calavera <[email protected]>
---
 man/weston.ini.man | 9 ++++++++-
 src/compositor.c   | 6 +++++-
 weston.ini.in      | 1 +
 3 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/man/weston.ini.man b/man/weston.ini.man
index fe86bb6..f922440 100644
--- a/man/weston.ini.man
+++ b/man/weston.ini.man
@@ -180,7 +180,7 @@ The
 section is used to configure input devices when using the libinput input device
 backend.
 .PP
-Available configuration are:
+Available configurations are:
 .TP 7
 .BI "enable_tap=" true
 enables tap to click on touchpad devices
@@ -422,6 +422,13 @@ configurations. The default seat is called "default" and 
will always be
 present. This seat can be constrained like any other.
 .RE
 .SH "INPUT-METHOD SECTION"
+This section configures the onscreen keyboard input method.
+.TP 7
+.BI "enable=" true
+whether to use the input method (boolean) . You may wish to disable this if
+there is no input method available.
+.RE
+.RE
 .TP 7
 .BI "path=" "/usr/libexec/weston-keyboard"
 sets the path of the on screen keyboard input method (string).
diff --git a/src/compositor.c b/src/compositor.c
index 8f02b4d..c00da85 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -4505,6 +4505,7 @@ weston_compositor_init(struct weston_compositor *ec,
        struct wl_event_loop *loop;
        struct xkb_rule_names xkb_names;
        struct weston_config_section *s;
+       int use_input_method;
 
        ec->config = config;
        ec->wl_display = display;
@@ -4578,7 +4579,10 @@ weston_compositor_init(struct weston_compositor *ec,
        weston_config_section_get_int(s, "repeat-delay",
                                      &ec->kb_repeat_delay, 400);
 
-       text_backend_init(ec);
+       s = weston_config_get_section(ec->config, "input-method", NULL, NULL);
+       weston_config_section_get_bool(s, "enable", &use_input_method, 1);
+       if(use_input_method)
+               text_backend_init(ec);
 
        wl_data_device_manager_init(ec->wl_display);
 
diff --git a/weston.ini.in b/weston.ini.in
index 4fca0bb..c918061 100644
--- a/weston.ini.in
+++ b/weston.ini.in
@@ -43,6 +43,7 @@ path=@libexecdir@/weston-screensaver
 duration=600
 
 [input-method]
+enable=true
 path=@libexecdir@/weston-keyboard
 
 #[output]
-- 
2.4.2

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to