Wednesday, January 1, 2014

EKH Tutorial 7 - Enabling Voice Input

With version 6.4 of External Keyboard Helper a new keycode has been added that is called Voice Input. It can be mapped to a key and then that key can be used to start voice input. Exactly how this works out may vary between different devices and Android versions but here I will describe how it works on my Nexus 5 that runs Android 4.4.2.

First of all you need to assign a key to trigger the voice input. Since version 6.5 of the app you find the configuration for this in Advanced Settings > Other settings. In this example I've mapped it to Scancode 57 which is Space and I've checked the checkbox that says it also requires Alt to be held down.

As an alternative way to configure this there is also a keycode that can be used to trigger voice input (this is the only way to map voice input in if you are still on version 6.4 of the app). The example below maps scancode 88 to the keycode that triggers voice input. Scancode 88 is usually F12.

Voice Input can be accessed in two ways. The first way is with Google voice typing enabled.

In this mode you must disable the Physical keyboard switch or voice input will not start.

To be extra clear, you need to turn the above switch to OFF.

In this mode pushing our mapped button (Alt+Space in my case) will automatically switch to the Google voice typing input method and it will looks something like this.


As you speak the text will be continuously added to the input field.

The other mode is when "Google voice input" is disabled.

In this mode it does not matter if Physical keyboard is ON or OFF and when we press our mapped key it will start voice input in a less integrated way.

Once you spoken it will present you with a list of interpretations.

Once you make your choice it will pass that line of text into the active input field.

This is the two ways I got it working on my Nexus 5, it may look and work different on your device so you may need to experiment a bit to get it working.

On one device (ZTE Blade III) that was running an unofficial CyanogenMod version I needed to install this to get it working:

So basically this tutorial doesn't necessarily show the exact solution for your setup but hopefully it will provide enough help to get you going.