Я внедряю протокол удаленного 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
Android TV Remote V2 Protocol: Backspace не работает при отправке отдельных символов ⇐ Android
Форум для тех, кто программирует под Android
1758825611
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 вместо того, чтобы отправлять его как обычный символ?
Подробнее здесь: [url]https://stackoverflow.com/questions/79775202/android-tv-remote-v2-protocol-backspace-not-working-when-sending-single-charact[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия