Uinput виртуальное устройство определяется как физическая клавиатура на Android
Мы создали простую нативную библиотеку на C, которая позволяет пользователю создавать устройства с помощью модуля uinput. Код, кажется, работает, но естьПроблема: мое виртуальное устройство определяется как физическая клавиатура, и, когда мне нужно написать текст, программная клавиатура непоявляется, так как Android обнаруживает, что подключена настоящая клавиатура.
Как настроить это устройство виртуальным? Если я неДля набора клавиш он не определяется как физическая клавиатура, но мне нужно, чтобы клавиши были включены.
#include
#include
#include
#include
#include
#include "input.h"
#include "uinput.h"
static int fd;
static struct uinput_user_dev dev;
jint Java_com_vektor_amapper_util_InputDeviceManager_CreateVirtualDevice(
JNIEnv* env, jobject thiz, jstring param) {
int aux;
fd = open("/dev/uinput", O_WRONLY | O_NONBLOCK);
if (fd < 0)
return -1;
if (ioctl(fd, UI_SET_EVBIT, EV_KEY)