Skip to main content

IME Functions

Overview

tip
  • IME functions are provided by the EasyClick Cloud Test built-in keyboard, designed specifically for text input
  • Enable the IME before use:
  • Go to Settings > General > Keyboard > Keyboards > Add New Keyboard and enable the [packaged app name (default: EasyClick Cloud Test; custom name after packaging)] keyboard. If you cannot find it, restart the device
  • After setup, tap the keyboard name on the keyboard screen and select [Allow Full Access]
  • Once enabled, the keyboard appears when a text field is focused. If multiple keyboards are available, tap the [Globe] button at the bottom-left to switch to EasyClick Cloud Test
  • When the [EasyClick Cloud Test (goose-yellow background)] keyboard is visible, the functions are ready to use
  • Important: functions work only when the EasyClick Cloud Test keyboard is shown; otherwise they have no effect. Use imeApi.isOk() to check whether the IME is ready
  • The IME can fully replace previous input functions and avoids freezing the proxy app
  • ***Not suitable for: password fields and fields that disallow third-party keyboards — iOS will switch back to the system keyboard automatically ***
tip
  • File Transfer Assistant IPA is EasyClick Cloud Test — they are the same package
  • File Transfer Assistant module functions and IME functions share the same IPA package

imeApi.isOk Check IME Status

  • Check whether the IME is available
  • Supported EC iOS USB 6.37.0+
  • @return {boolean} true if available, false otherwise
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
logd("IME is ready")
}

main();

imeApi.input Input String

  • Input a string
  • Supported EC iOS USB 6.37.0+
  • @param content string
  • @returns {string} empty if input failed; non-empty if input succeeded (returns the entered data)
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.input("我是数据")
logd("Text field data: " + result)
}

main();

imeApi.paste Paste String

  • Paste a string — copy to clipboard first, then insert into the text field
  • Supported EC iOS USB 6.37.0+
  • @param content string; if empty, uses clipboard data directly
  • @returns {string} empty if failed; non-empty if succeeded (returns the pasted data)
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.paste("我是粘贴数据")
logd("Pasted text field data: " + result)
}

main();

imeApi.pressDel Delete Text in Input Field

  • Delete text in the input field
  • Supported EC iOS USB 6.37.0+
  • @returns {string} empty if the field has no data; non-empty if data remains
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.pressDel()
logd("Remaining text field data: " + result)
}

main();

imeApi.pressEnter Press Enter Key

  • Press the Enter key
  • Supported EC iOS USB 6.37.0+
  • @returns {boolean} true on success, false on failure
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.pressEnter()
logd("pressEnter: " + result)
}

main();

imeApi.dismiss Hide Keyboard

  • Hide the keyboard
  • Supported EC iOS USB 6.37.0+
  • @returns {boolean} true on success, false on failure
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.dismiss()
logd("dismiss: " + result)

}

main();

imeApi.copyToClipboard Copy Input Field Data to Clipboard

  • Copy input field data to the clipboard
  • Supported EC iOS USB 6.37.0+
  • @returns {string} empty if the field has no data; non-empty if data was copied to the clipboard
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.copyToClipboard()
logd("copyToClipboard data: " + result)
}

main();

imeApi.changeKeyboard Switch to Another Keyboard

  • Switch to another keyboard
  • Returns first, then switches after a 2-second wait
  • Supported EC iOS USB 6.37.0+
  • @returns {boolean} true on success, false on failure
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.changeKeyboard()
logd("changeKeyboard data: " + result)
}

main();

imeApi.removeAllContent Clear Input Field

  • Clear all content in the input field
  • Supported EC iOS USB 6.37.0+
  • @returns {boolean} true on success, false on failure
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.removeAllContent()
logd("removeAllContent : " + result)
}

main();

imeApi.getClipboard Read Clipboard Data

  • Read clipboard data
  • Supported EC iOS USB 6.37.0+
  • @returns {string} clipboard data
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.getClipboard()
logd("getClipboard data : " + result)
}

main();

imeApi.setClipboard Set Clipboard Data

  • Set clipboard data
  • Supported EC iOS standalone 3.15.0+
  • @param content string
  • @param type 1 for plain string, 2 for URL data
  • @returns {boolean} true on success, false on failure
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.setClipboard("我是剪切板的的数据","1")
logd("setClipboard : " + result)
}

main();
  • Open a URL link
  • Supported EC iOS standalone 3.15.0+
  • @param url URL address, e.g. http://baidu.com
  • @returns {boolean} true on success, false on failure
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.openUrl("http://baidu.com")
logd("openUrl : " + result)
}

main();

imeApi.getText Get Input Field Data

  • Get input field data
  • Supported EC iOS standalone 3.15.0+
  • @returns {string} empty if no data or not retrieved; non-empty if data was retrieved
function main() {
var ok = imeApi.isOk();
if (!ok) {
logw("IME unavailable. Go to Settings > General > Keyboard and enable the [packaged app name (default: EasyClick Cloud Test)] third-party keyboard. If the option is missing, restart the device")
logw("After enabling, tap a text field and show the [packaged app name (default: EasyClick Cloud Test, goose-yellow background)] keyboard before using these functions")
return
}
let result = imeApi.getText()
logd("getText : " + result)
}

main();

imeApi.forwardImeServer Forward Input Method Service

  • Forward the input method service
  • Supported EC iOS USB 9.20.0+
  • This avoids enabling the proxy service; if forwarding is used, the proxy service must be enabled for forwarding
  • @returns {string} null or empty on success; otherwise an error message
function testImeServer() {
imeApi.closeForwardImeServer()
let forward = imeApi.forwardImeServer();
if (forward == null) {
console.log("Input method forwarding succeeded; proxy service is not required")
} else {
logw("Forward failed")
return
}
sleep(1000)
let ok = imeApi.isOk()
if (!ok) {
logw("Input method not ready")
return
}

let rr = imeApi.input("123")
console.log("Input result: " + rr)
logd(imeApi.paste("bgigm"))
}

testImeServer()

imeApi.closeForwardImeServer Close Input Method Forwarding

  • Close input method forwarding
  • Supported EC iOS USB 9.20.0+
  • @returns {string} null or empty on success; otherwise an error message
function testImeServer() {
imeApi.closeForwardImeServer()
let forward = imeApi.forwardImeServer();
if (forward == null) {
console.log("Input method forwarding succeeded; proxy service is not required")
} else {
logw("Forward failed")
return
}
sleep(1000)
let ok = imeApi.isOk()
if (!ok) {
logw("Input method not ready")
return
}

let rr = imeApi.input("123")
console.log("Input result: " + rr)
logd(imeApi.paste("bgigm"))
}

testImeServer()