Environment :
-
Custom Board with MCU NordicSemi nRF51822-QFAA
-
Softdevice S110 7.1
-
IAR for ARM 7.1
-
SDK 7.2 using HID keyboard example + testing with Galaxy Note 3 (Android 4.4.2)
/***************************************************************************************/
I am not sure about the term "soft keyboard" is mentioning this keyboard shown on the next
picture (the yellow arrow is pointing it),
anyways the word soft keyboard I'm saying is this keyboard.
(Whereas, the iOS devices' keyboard is called virtual keyboard.)
Before connecting the HID peripheral, the soft keyboard appears.
However, after connecting the peripheral, the soft keyboard does not appear.
(The string hello was typed by pressing the board's button.)
/***************************************************************************************/
So I asked the Samsung Service Center to receive help.
The center told me to go to "Settings -> Controls -> Language and input ->
Default (at Keyboards and input methods)" and activate "Use on-screen keyboard".
Saying that, this menu shows up when the user connects Bluetooth keyboards.
For example, I have Microsoft Wedge Mobile Keyboard. When I connect this keyboard
to my Galaxy Note 3, the setting menu above does appear.
(The MS Keyboard is using Bluetooth 3.0 so maybe comparing
with this and the HID peripheral could be absurd.)
/***************************************************************************************/
Now back to the HID peripheral, that setting does not shows up.
When I go there, I cannot activate it.
(Thus, the activating button should have appeared according from the service center,
however, it did not. Also, when the phone is not using Bluetooth, in this state, the activating
button does not appear either.)
/***************************************************************************************/
So, my question is,
- What do I have to do to pop up the soft keyboard
when I use the HID service in Android environment?
- Does the same phenomenon occurs when using other Android phones?
/*
P.S. : I added a consumer report to send AL Keyboard Layout key.
When I send this key to the iOS devices, the hidden virtual keyboard reappeared.
(Ref. Question from Stackoverflow )
However, this doesn't work at Android devices.
Plus, I did not changed the device appearance.
I setted as keyboard but as you see in the screenshot, it wasn't discovered as a keyboard
regardless I added Consumer report or not.
static void gap_params_init(void){
uint32_t err_code;
ble_gap_conn_params_t gap_conn_params;
ble_gap_conn_sec_mode_t sec_mode;
BLE_GAP_CONN_SEC_MODE_SET_OPEN(&sec_mode);
err_code = sd_ble_gap_device_name_set(&sec_mode,
(const uint8_t *)DEVICE_NAME,
strlen(DEVICE_NAME));
APP_ERROR_CHECK(err_code);
err_code = sd_ble_gap_appearance_set(BLE_APPEARANCE_HID_KEYBOARD);
APP_ERROR_CHECK(err_code);
memset(&gap_conn_params, 0, sizeof(gap_conn_params));
gap_conn_params.min_conn_interval = MIN_CONN_INTERVAL;
gap_conn_params.max_conn_interval = MAX_CONN_INTERVAL;
gap_conn_params.slave_latency = SLAVE_LATENCY;
gap_conn_params.conn_sup_timeout = CONN_SUP_TIMEOUT;
err_code = sd_ble_gap_ppcp_set(&gap_conn_params);
APP_ERROR_CHECK(err_code);
}
*/
-Regards, Mango922