Wednesday, 18 September 2019

InputStickUtility v2.00 (Android)

Redesigned UI:

InputStickUtility was redesigned from scratch. New interface is much more intuitive and easier to use.

Main screen

All important info in one place
Configuration options

Security options

Compatible with Android 10:

InputStickUtility is now compatible with Android 10. Unfortunately this required changes that make it no longer compatible with apps that use old versions of InputStick API (USB Remote and KP2A InputStick plugin both use latest API and won't be affected by this issue).

If after updating InputStickUtility to v2.00, your app crashes on connection attempt ask app developer to update the app using the latest InputStick API. If you have Android 9 or earlier you can switch to InputStickUtility v1.60 until the update is ready.


Requires Android 4.4 or later:

Older Android versions are no longer supported in new app releases. You can still use InputStick with older devices, however you are limited to InputStickUtility v1.60 (supports Android 2.3 up to 9.0).

Optional firmware update (v1.10):

You can now update your InputStick to the latest available firmware (v1.10). Main new feature is an option to exchange encryption key via USB. More info below.

Supports new firmware features (exchange encryption key via USB):

It is now possible to exchange encryption key via USB. Here's how it works:

  • open simple text editor (Notepad etc.)
  • plug InputStick into USB port
  • open InputStickUtility → select device → switch to Security tab → Set/Change password → Generate password → adjust options → Generate
  • InputStick generates password and types it (as a keyboard)
  • re-type password into InputStickUtility
  • the app verifies if it can establish encrypted connection using entered password. If yes, encryption key is saved

This method takes a bit more time than exchanging encryption key via Bluetooth, but in most cases should be more secure, preventing against eavesdropping attacks.

Generate password

Improved device discovery:

When scanning for nearby Bluetooth devices, devices named InputStick are marked with green color. When LE scanning mode is used (recommended by the app, unless you have InputStick BT2.0) other Bluetooth devices will not appear on the list, making it easier to find your device when there are many Bluetooth devices nearby.

InputStick devices are now marked with green color


Simplified app settings:

Settings that were no longer used or could be confusing were removed.

New Settings screen

Added Help section:

In-app help is now available. It contains information about InputStick security features, shows how to troubleshoot connection problems, restore factory defaults and recover firmware.

Help section: how to restore factory defaults

Improved widgets and Tasker actions:

Widgets and Tasker actions will now work correctly when device name is changed. Important: old widgets and actions are no longer supported, you must delete old ones and create new widgets / Tasker actions.

Other:

Multiple bug fixes and minor improvements.

Saturday, 14 September 2019

Android apps compatibility

In order to make InputStickUtility compatible with Android 10, it was necessary to make some changes that make it no longer compatible with some apps using older versions of InputStick API  when running on Android 8 or higher (USB Remote and KP2A plugin are NOT affected by this issue).

Android 10 (and some Android 9 devices):

  • you must update InputStickUtility to v2.00 (older versions will not work correctly)
  • if an app crashes on connection attempt, ask its developer to rebuild the app using the latest available InputStick API (more info below)

Android 8 - Android 9:

  • you should update InputStickUtility to v2.00
  • if an app crashes on connection attempt, ask its developer to rebuild the app using the latest available InputStick API (more info below)
  • if that is not possible, download InputStickUtility v1.60 (link below)

Android 4.4 - Android 7.1:

  • you should update InputStickUtility to v2.00
  • all apps should work normally (even older ones)

Android 2.3 - Android 4.3:

  • your device is not supported by InputStickUtility v2.00, download InputStickUtility v1.60 (link below)
  • all apps should work normally (even older ones)

Download URLs:

InputStickUtility v2.00 (Google Play Store)
InputStickUtility v2.00 (.apk)
InputStickUtility v1.60 (.apk, signed with debug certificate, will not get updated via Google Play)


More details:

  • USB Remote and KP2A InputStick plugin use latest InputStick API and are 100% compatible with InputStickUtility v2.00
  • apps that use InputStickUtility as proxy  using IPC connection method (most popular one) must use latest InputStick API in order to work with InputStickUtility v2.00
  • apps that use InputStickUtility as proxy using broadcasts are not affected
  • apps that connect directly to InputStick are not affected

App developers:

If your app uses IPC connection method, make sure that it was built using latest InputStick API:

or find: IPCConnectionManager.java file and replace line:

mCtx.startService(intent);

with:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
mCtx.startService(intent);
} else {
mCtx.startForegroundService(intent);
}

Your app uses IPC connection if following method is used (from InputStickHID class):
connect(Application app)



Tuesday, 13 August 2019

KP2A plugin v1.40

What's new in KP2A plugin v1.40:

New app icon:




Improved masked password UI:

Typed characters are now marked in a more visible way (green text color instead of dark green background).
Typing masked password

Other:

  • fixed bug when queuing multiple actions (Type+Enter etc.) did not work properly when InputStick is disconnected
  • optimized for Android Pie

Sunday, 9 June 2019

USB Remote for iOS v1.40

What's new in USB Remote v1.40 (iOS): 

"Type" Share Extension:

You can now use USB Remote app to type URLs, selected text and text from text files. Here's an example showing how to type content of .txt file:


Using "Files" app, locate text file, long press, select "Share"

Select "Type" (or "More → "Type")

If necessary, modify text or settings and press "Type"

Important: USB Remote and extension can NOT be both connected at the same time. Make sure to disconnect USB Remote before using extension. The extension will automatically disconnect once it is done typing.

Other:

  • bug fixes

Tuesday, 7 May 2019

USB Remote for iOS v1.33

What's new in USB Remote v1.33 (iOS): 

New auto-connect options:

You can now choose between 3 different modes for Auto-connect feature (Control tab → Settings General Auto-connect):

  • Disabled
  • Smart auto-connect: recommended if you have more than one InputStick. Application will try to connect to the most recently used device. If the attempt fails, auto-connect will be temporarily disabled, until you manually reconnect to the most recently used device or connect to a different InputStick
  • Always auto-connect: recommended if you have one InputStick. Application will always try to auto-connect to the most recently used device


Other:


  • added missing dead keys for US International and Dutch keyboard layouts
  • connection errors will now be ignored when app is in background (connection error dialog will not be displayed)
  • uses updated InputStick API

Wednesday, 20 February 2019

KP2A plugin v1.36

What's new in v1.36:

This update added support for SMS Proxy app. This is a work-around new Google Play Store rules that no longer allow the plugin to receive SMS directly.
If you often receive authentication codes via SMS and want to use the plugin to type the codes, try SMS Proxy app. If you type text from SMS occasionally, you can copy text to system clipboard and use Type from clipboard option instead.



Source code


Setup:

  • make sure you have the latest version for the plugin (v1.36 or later)
  • download .apk
  • make sure that your Android device allows to install apps from "Unknown sources" *(.apk files)
  • install .apk
  • run SMS Proxy and give it permission to read SMS
  • open InputStick KP2A Plugin settings
  • navigate to SMS section and click on SMS Proxy App
  • click Allow

Tuesday, 19 February 2019

SMS Proxy

Since January 2019 InputStick KP2A Plugin can no longer listen to incoming SMS, because of new Google Play Store rules. Only way to type authentication codes received via SMS was to do so by coping SMS content to system clipboard. However this method is not ideal for users that received dozens of SMS codes every day.
SMS Proxy app is a solution to this problem. Since it is distributed as .apk file it is not affected by Google Play regulations.
You should use SMS Proxy app only if you often receive authentication codes via SMS and want to use InputStick KP2A Plugin to type the codes.
SMS Proxy is supported by InputStick KP2A Plugin v1.36 and later.



SMS Proxy - main screen

SMS Proxy - activation

How does this work?

  • InputStick KP2A Plugin starts and stops SMS Proxy app
  • when active, the app listens for incoming SMS
  • once SMS is received, SMS Proxy relies it to the plugin


Setup:

  • make sure you have the latest version for the plugin (v1.36 or later)
  • download .apk
  • make sure that your Android device allows to install apps from "Unknown sources" *(.apk files)
  • install .apk
  • run SMS Proxy and give it permission to read SMS
  • open InputStick KP2A Plugin settings
  • navigate to SMS section and click on SMS Proxy App
  • click Allow


Security:


  • the app does not have access to local storage or the Internet
  • listens to incoming SMS only when activated by InputStick KP2A Plugin
  • open source
  • received SMS are never stored by the app
  • SMS Proxy must be activated by the plugin (apps exchange secret key)
  • the plugin verifies received SMS data using secret key to prevent from getting spoofed messages