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: https://play.google.com/store/apps/details?id=com.google.android.voicesearch

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.

6 comments:

  1. Can you please add a "switch to last app" keycode? I want to be able to switch between two apps simply by pressing the right alt key. Thanks!

    ReplyDelete
    Replies
    1. I'm 100% sure that it can be done but try Alt+Tab, it might be just what you are after.

      Delete
  2. Can you please tell me how to add Alt+Tab to a single key?
    Thanks!

    ReplyDelete
  3. Can you please tell me how to add Alt+Tab to a single key?
    Thanks!

    ReplyDelete
  4. Valuable in fields, for example, training, incapacity administrations, PC interface, media transmission, and customer items, text-to-speech changes over composed text to computerized sound read by human voices. speech to text

    ReplyDelete
  5. Hi apedroid,

    you have written a really good tool here.
    But unfortunately, on two Samsung devices (a S5 and a GALAXY Tab A) I face the problem that I want to use F12 to reliably enable the external voice recognition (Google voice input disabled) so that my handicapped mother can use her voice instead of a keyboard to write emails / messages etc.
    The enabling of the voice recognition works well, but often the written text returned from the voice recognition is not written to the focussed GUI element (such as a text field / memo field etc.). Instead, the text is buffered invisibly and written to the input element which receives the focus next (e.g. by clicking an input element with the touch screen).

    Sometimes this problem doesn't occur and the text goes directly into the input element.

    I couldn't find out what the conditions are which decide about whether the text immediately written to the currently focused input elemenet or whether it is buffered and written to the next element which gets the focus.

    As - due to her handicap - my mother cannot handle a mouse or the touch screen (only a few special bluetooth keyboard buttons TAB/Cursor/Enter/ESC which are used to move the GUI focus between elements and select/leave them plus F12 to enable the voice input), she can't use voice input reliably. Often, the dictated text just gets lost somewhere.

    This is a pity because the External Keyboard Helper is a really cool tool which would basically allow my mother to use the tablet despite their handicap, only with the few mentioned bluetooth keys.

    Can you help us here to solve the problem, so that the text from the voice input reliably gets filled into the current GUI element in focus (without the need to click it with the touch screen/mouse) ? We would be really happy !

    Thanks a lot !

    Best Regards,
    Philipp

    ReplyDelete