diff --git a/meta-oniro-core/recipes-graphics/wayland/weston-init.bbappend b/meta-oniro-core/recipes-graphics/wayland/weston-init.bbappend
index a3f928b4325bfaa7a71859327ea0585f80cd6979..91642e28d6df1f2747516da68516fbec42c2fcc1 100644
--- a/meta-oniro-core/recipes-graphics/wayland/weston-init.bbappend
+++ b/meta-oniro-core/recipes-graphics/wayland/weston-init.bbappend
@@ -15,6 +15,7 @@ WESTON_INI_BACKGROUND_IMAGE ?= ""
 WESTON_INI_BACKGROUND_IMAGE_BASENAME = "${@os.path.basename("${WESTON_INI_BACKGROUND_IMAGE}")}"
 WESTON_INI_BACKGROUND_COLOR ?= "0xffffffff"
 WESTON_INI_BACKGROUND_TYPE ?= "centered"
+WESTON_INI_INPUT_METHOD_PATH ?= "/usr/libexec/weston-keyboard"
 
 do_install_append() {
 	# The filename references in WESTON_INI_BACKGROUND_IMAGE needs to be
@@ -65,6 +66,13 @@ python generate_dynamic_ini() {
             config.add_section('shell')
         config.set('shell', 'locking', d.getVar('WESTON_INI_SHELL_LOCKING'))
 
+    # Handle Input method
+    if d.getVar('WESTON_INI_INPUT_METHOD_PATH') != None:
+        bb.note('Handling WESTON_INI_INPUT_METHOD_PATH')
+        if 'input-method' not in config.sections():
+            config.add_section('input-method')
+        config.set('input-method', 'path', d.getVar('WESTON_INI_INPUT_METHOD_PATH'))
+
     # Handle background.
     background_image = d.getVar('WESTON_INI_BACKGROUND_IMAGE', True)
     if background_image: