Search code examples
tizentizen-web-apptizen-wearable-sdk

Interaction with the bezel in custom keyboard doesn't work


I'm trying to create a keyboard with the feature to change layouts using the bezel (similar feature is in the standard Samsung keyboard). The problem is that handling the rotation event doesn't work at all.

What I've tried:

  • Web: rotarydetent event isn't caught by the listener. It's funny that when testing on the emulator, even checking for the bezel rotating capability returns false, but on a target device same returns true and still not working
  • .NET: IRotaryEventReceiver correctly implemented doesn't work either.

I'm sure I'm doing everything right cause that code works fine in non-IME applications. It feels like it's intentionally blocked and documentation doesn't mention it.

So far, I've found only one explanation (here) that can be correct:

The problem is that the bezel rotation is working on the application "under" the keyboard and not on the keyboard itself.

Has anyone else come across this and found a solution?


Solution

  • According to this link IME applications have strictly limited set of supported APIs, please notice the quotation:

    All the APIs you can use for your Web IME are provided by the WebHelperClient

    and

    The Device APIs are currently not supported in Web IME applications.

    As I've tested on my device, the conclusion:

    The problem is that the bezel rotation is working on the application "under" the keyboard and not on the keyboard itself.

    seem to be correct and bezel is handled by application itself, not the IME keyboard.

    As the default Tizen keyboard supports the bezel rotation, I think that you can workaround the problem with bezel with using native API directly - these methods seem to be suitable: