Thursday, 7 February 2019

iOS API update

InputStick iOS API has just received a major update. 


Here's what's new:

  • supports both iOS and macOS (demo app coming soon)
  • supports latest InputStick firmware
  • supports encryption (AES 128) and authentication (HMAC-SHA256)
  • ready to use InputStick-related UI components (no need to write custom UI anymore)
  • separated UI from core-logic (easier to integrate and customize the API)
  • many minor improvements and bug fixes (many parts were redesigned from scratch)


InputStickDemo application

InputStickDemo shows how to use the API in iOS application. You will learn how to:

  • use InputStickMenu and other ready to use UI components
  • manage InputStick connection
  • perform HID actions (keyboard, mouse, touch-screen, etc.)
  • implement mousepad area, intercept keys from soft keyboard, implement simple gamepad
  • check state of HID buffers
  • send and receive InputStick packets


Demo app: main menu

Demo app: HID keyboard actions
Demo app: type with soft keyboard



Demo app: mousepad area

Tuesday, 8 January 2019

KP2A plugin v1.35

What's new in v1.35:

in order to comply with new Google Play store requirements, option to intercept incoming SMS messages (that allowed to type text from SMS) was removed.

At this moment there are two options being considered to bring back this feature:
  • separate version of KP2A InputStick plugin, distributed outside of Google Play store
  • external application for intercepting SMS messages, distributed outside of Google Play store
If you think that one way is better than the other, or that there is a better way to solve this problem, leave comments below.

Friday, 28 December 2018

Important notice for Android app developers

Android version of InputStickUtility application will receive a major update in second half of January 2019. To make it compatible with latest Google Play requirements, InputStickService will now run as a foreground service.
If your Android application connects to InputStick using InputStickService, please make sure to build your app using latest version of InputStick API. 
If your Android application will still use old version of InputStickAPI it may crash once new version of InputStickUtility is released.
If you are not able to update your app in time, it will be possible to download current version of InputStickUtility app as .apk file.

InputStickUtility update will not affect applications that implement direct connection or broadcasts to communicate with InputStick receiver.

Friday, 30 November 2018

iOS apps update

iOS versions of USB Remote and InputStickUtility apps will soon receive update making them compatible with the latest InputStick firmware (v1.00 beta and later).
New firmware introduces (among other improvements) better security of Bluetooth connection by protecting against "replay attack".

Thursday, 1 November 2018

USB Remote v1.92

What's new in USB Remote v1.92:

Uses latest InputStick API:

contains latest security and performance updates. Supports v1.00 InputStick firmware. Application will no longer support older firmware versions (earlier than v0.99).

Other:


  •  bug fixes

Important info:


Latest version of InputStickUtility (v1.60) introduced new feature that prevents packet loss that could occur in some scenarios (what could result in skipped keyboard/mouse actions or firmware initialization failure). Unfortunately this introduces additional latency that can be particularly noticeable when using mousepad area. This affects only Bluetooth 4.0 InputStick devices. Firmware v1.00 introduced features that minimizes additional latency.


If mousepad area no longer works as "smoothly" as before:
  • disable transmission delays (works only for v0.99 firmware): InputStickUtility → Settings → Bluetooth section → Add transmission delays → Disable
  • update InputStick firmware to v1.00 (beta): InputStickUtility → My devices → select → more (dots) → Firmware Upgrade → Flash

InputStickUtility v1.60

What's new in InputStickUtility v1.60:

Optional firmware update (v1.00 beta):

you can now update your InputStick firmware to v1.00: InputStickUtility → My devices → select → more (dots) → Firmware Upgrade → Flash


Important! If password protection was enabled:

  • latest version of InputStickUtility is required (make sure it was updated on all your devices)
  • iOS apps are not supported yet (will be updated in next few days)

Uses latest InputStick API:

contains latest security and performance updates. Supports v1.00 InputStick firmware. Application will no longer support older firmware versions (earlier than v0.99).

Adds delays to prevent packet loss:

this change affects only Bluetooth 4.0 InputStick devices. Until now,  in some scenarios there was a small chance that a packet loss could occur, what could result in skipped keyboard/mouse actions or firmware initialization failure. In order to prevent this from happening, InputStickUtility will now introduce short delays when sending packets what prevents packet loss from happening. Unfortunately this results in additional latency that can be noticed when using mouse or touchscreen interfaces. Devices running firmware 0.99 or earlier are particularly affected by this. Firmware v1.00 introduced features that minimizes additional latency.

If you can notice additional latency when using mousepad areas try following solutions:
  • update InputStick firmware to v1.00:  InputStickUtility → My devices → select → more (dots) → Firmware Upgrade Flash
  • disable adding delays (this will work only if you are still using v0.99): InputStickUtility → Settings → Bluetooth section → Add transmission delays → Disable

Other:

  • minor UI changes
  • bug fixes

InputStick firmware v1.00 (beta)

What's new in v1.00 (beta):

  • increased size of HID buffers
  • added support for data authentication on protocol level (prevents replay attacks)
  • allows to generate encryption key in a more secure way (will be supported in next InputStickUtility update)
  • added support for packet loss prevention
  • allows to detect when USB host is ready for keyboard input in a more accurate way
  • removed old method of restoring factory defaults


How to update: 


  • make sure that you have latest version of InputStickUtility app (v1.60, currently Android only)
  • InputStickUtility → My devices → select → more (dots) → Firmware Upgrade → Flash

Important info:

if your device is password protected it will no longer work with previous versions of InputStickUtility (before v1.60) or iOS apps. Make sure that you have the latest version of InputStickUtility on all your Android devices before flashing latest firmware. If you also use iOS applications, do not update yet (apps will be updated within next few days).

This release is intended mainly for those that want to test new features. Within next two weeks new firmware update will be released. It will introduce support for macros (can be executed on startup or  when remote device disconnects), additional security and performance improvements.
Once ready it will be available on both Android and iOS versions of InputStickUtility and all users will get notification that will recommend to update firmware.