Fishbowl
Browse documentation

Philips - Replace Kika Keyboard

Philips 10BDL series devices ship with the Kika (IQQI) third-party keyboard as the only installed input method. While there is no evidence of this keyboard being compromised, there is no reason to risk using a third-party keyboard when entering login credentials. This guide replaces it with an open-source AOSP-based keyboard via ADB.

The replacement keyboard is downloaded from F-Droid, a trusted open-source app repository that builds all apps from source. Learn more about F-Droid's security model.

Requires: ADB connected to the device (over network or USB). See our ADB Deployment Guide for setup instructions. For USB, skip adb connect/adb disconnect and omit -s <device-ip>:5555 if only one device is plugged in.

1. Download the keyboard APK

Download Simple Keyboard from F-Droid. This is a lightweight, open-source keyboard based on the Android AOSP keyboard.

On macOS/Linux:

curl -fSL -o simple-keyboard.apk "https://f-droid.org/repo/rkr.simplekeyboard.inputmethod_144.apk"

On Windows (PowerShell):

Invoke-WebRequest -Uri "https://f-droid.org/repo/rkr.simplekeyboard.inputmethod_144.apk" -OutFile simple-keyboard.apk -UseBasicParsing

Note: The version number in the URL (_144) may change over time. Check the F-Droid page for the latest version if the download fails.

2. Install and activate

# Connect to the device
adb connect <device-ip>:5555

# Install the keyboard
adb -s <device-ip>:5555 install simple-keyboard.apk

# Enable it as an input method
adb -s <device-ip>:5555 shell ime enable rkr.simplekeyboard.inputmethod/.latin.LatinIME

# Set it as the default keyboard
adb -s <device-ip>:5555 shell ime set rkr.simplekeyboard.inputmethod/.latin.LatinIME

3. Disable Kika

adb -s <device-ip>:5555 shell pm disable-user --user 0 com.kika.imeservice

4. Verify

# Should show only Simple Keyboard
adb -s <device-ip>:5555 shell ime list -s

Expected output:

rkr.simplekeyboard.inputmethod/.latin.LatinIME

Batch deployment

To replace the keyboard on multiple devices, create a devices.txt file with one IP per line and run:

macOS/Linux:

while IFS= read -r ip || [ -n "$ip" ]; do
  ip=$(echo "$ip" | sed 's/#.*//' | xargs)
  [ -z "$ip" ] && continue
  echo "--- $ip ---"
  adb connect "$ip:5555"
  adb -s "$ip:5555" install simple-keyboard.apk
  adb -s "$ip:5555" shell ime enable rkr.simplekeyboard.inputmethod/.latin.LatinIME
  adb -s "$ip:5555" shell ime set rkr.simplekeyboard.inputmethod/.latin.LatinIME
  adb -s "$ip:5555" shell pm disable-user --user 0 com.kika.imeservice
  adb disconnect "$ip:5555"
done < devices.txt

Windows (PowerShell):

Get-Content devices.txt | ForEach-Object {
    $ip = ($_ -replace '#.*','').Trim()
    if (-not $ip) { return }
    Write-Host "--- $ip ---"
    adb connect "${ip}:5555"
    adb -s "${ip}:5555" install simple-keyboard.apk
    adb -s "${ip}:5555" shell ime enable rkr.simplekeyboard.inputmethod/.latin.LatinIME
    adb -s "${ip}:5555" shell ime set rkr.simplekeyboard.inputmethod/.latin.LatinIME
    adb -s "${ip}:5555" shell pm disable-user --user 0 com.kika.imeservice
    adb disconnect "${ip}:5555"
}

Reverting

To re-enable Kika if needed:

adb -s <device-ip>:5555 shell pm enable com.kika.imeservice
adb -s <device-ip>:5555 shell ime set com.kika.imeservice/com.iqqi.inputmethod.IMEService