Android TV Remote V2 Protocol: Backspace не работает при отправке отдельных символовAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android TV Remote V2 Protocol: Backspace не работает при отправке отдельных символов

Сообщение Anonymous »

Я внедряю протокол удаленного V2 Android TV в Flutter/Dart. Моя цель - отправить ввод клавиатуры из мобильного приложения в телевизор. Для большинства персонажей все работает нормально. Тем не менее, ключ Backspace не работает, когда я отправляю символы по одному.TextField(
controller: controller,
focusNode: focusNode,
onChanged: (value) {
// send only the latest character typed
String char = value.substring(value.length - 1);
provider.sendText(char);
},
style: GoogleFonts.montserrat(color: Colors.white),
decoration: const InputDecoration(
hintText: "Type here...",
hintStyle: TextStyle(color: Colors.grey, fontSize: 20.0),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide.none,
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide.none,
),
),
)

< /code>
и текст отправки логики: < /p>
void sendText(String text) {
pairing?.sendTextToTv(text);
}

void sendTextToTv(String text) {
final payload = buildPayload(text);
if (commandSocket != null) {
commandSocket!.add(payload);
commandSocket!.flush();
}
}

List buildPayload(String text) {
final asciiValues = text.codeUnits;
final asciiLen = asciiValues.length;

// innermost block
List block1 = [8, 11, 16, 11, 26, asciiLen, ...asciiValues];
block1.insert(0, block1.length);

// wrap with block2
List block2 = [8, 0, 18, ...block1];
block2.insert(0, block2.length);

// wrap with block3
List block3 = [8, 0, 16, 0, 26, ...block2];
block3.insert(0, block3.length);

// add header
List payload = [170, 1, ...block3];
payload.insert(0, payload.length);

return payload;
}

< /code>
Проблема: < /p>
Отправка одного символа за раз работает для букв и чисел. < /p>
Backspace не работает в этом одноразовом режиме отправки. Я правильно реализую Backspace при отправке отдельных символов на телевизор с помощью этого протокола V2? Должен ли я отправлять специальную полезную нагрузку для Backspace вместо того, чтобы отправлять его как обычный символ?

Подробнее здесь: https://stackoverflow.com/questions/797 ... le-charact
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»