I found the Samsung blog post, which outlines how to write a simple native tizen program for using the watch bezel. See the blog post, named Use Tizen To Enable Galaxy Watch Rotary Events, by Md. Iqbal Hossain, Engineer, Samsung Developer Program. (Note, external links are not permitted. A simple google search should suffice to find the source code). I downloaded the sample project for Bezel support, and compiled it using the most recent version of Tizen Studio.
I'm using the Wearable Circle x86 (version 4.0) emulator. In the C code (also in the blog post above), there is the following check, to determine if using the Bezel is supported:
static int
checkBezelSupport(){
bool rotaryValue;
int rotaryRet;
// Notice the edit, due to external links not being permitted in blog posts.
rotaryRet = system_info_get_platform_bool("http-tizen-org/feature/input.rotating_bezel", &rotaryValue);
if(rotaryRet != SYSTEM_INFO_ERROR_NONE){
//error handling
dlog_print(DLOG_DEBUG, LOG_TAG, "Rotary Error");
}
if(rotaryValue){
dlog_print(DLOG_DEBUG, LOG_TAG, "Bezel: Supported");
return 1;
}
dlog_print(DLOG_DEBUG, LOG_TAG, "Bezel: Not supported");
return 0;
}
Unfortunately, the system_info_get_platform_bool function sets the rotaryValue boolean to false. I also checked the log, and it prints "Bezel: Not supported" On a hunch, changed the final return statement to return 1, so that even if the bezel is "not supported" I could test whether the rest of the Bezel Native sample code works. To my surprise it did. When I rotate the bezel on the emulator, the output on the screen is either clockwise or counterclockwise, depending on which direction the bezel is moved.
I also tried setting the key value to the system_info_get_platform_bool function to "http-tizen-org/feature/battery" to test if it would return true. This worked, but using the feature input.rotating_bezel seems to always return false. I also read that it's necessary to include the following line to the tizen-manifest.xml file:
<feature name="http-tizen-org/feature/input.rotating_bezel">true</feature>
This didn't seem to made any difference, and from my understanding, this simply affects the filtering of an app, in the app store. Regardless, adding or removing this line from the mainfest file does not change the output. When I check if the bezel is supported, the system_info_get_platform_bool function sets the rotaryValue to false. As I mentioned, the bezel is clearly supported, because moving the bezel, when the function always returns 1, indeed works. At tis point, I'm unsure how to proceed, without simply omitting the check, which I'd prefer not to do, since watches without bezels would not support code based off of this sample.
Any help would be much appreciated.