Здравствуйте.
Задался вопросом ввода Emoji с помощью UOPilota в Telegram.
Имеется: Windows 10 и iGram (клиент телеграм)
Сразу скажу, имеется более легкий способ через простой набор шорткода в ТГ, например :joy: для . Но захотелось проверить получится ли именно отправлять эмодзи средствами пилота в винде 10.
Поиск Эмодзи показал только одно упоминание
тут. Уважаемый FREEON дал очевидную точку отправки
Цитата
нужно искать шорткоды эмодзи или юникод код с зажимом клавиши Alt.
Вариант 1: Самым очевидным вводом
эмодзи мне видится комбинация Alt+цифры.
Вариант 2: Есть еще коды виртуальных клавиш
https://docs.microsoft.com/en-us/windows/de...rtual-key-codesДля примера взял
//0x30 0 key
//0x34 4 key
Проверяю:
Код
// всё отлично, в чат вводится 0
Пробую узнать вирт. код клавиши для эмодзи. Для себя отобрал сайты
https://apps.timwhitlock.info/unicode/ и
https://graphemica.com/%D0%AF К сожалению, кода виртуальных клавиш эмодзи для Windows 10 найти так и не смог. Точнее не совсем вышло разобраться, что является этим кодом.
На timwhitlock ввел пример из символов и эмодзи
timwhitlock.info ▬╤209яЯ‼��*4��☠ Цифра 2 на
docs.microsoft.com...virtual-key-codes имеет код
0x32 и на сайте в графе HEX Code стоит
0032, а UTF-8 (hex)
32 И тут
первый нюанс -
HEX Code иUTF-8 (hex) других символов имеют уже 16-ричный вид.
☠ "череп" = UTF-8 (hex) 0xE2 0x98 0xA0 (e298a0)
▬ "черта" (альт+209) = UTF-8( E2 96 AC ) Code (25AC)
"Я" = UTF-8 (hex) 0xD0 0xAF (d0af)
https://graphemica.com/Я "Я"
Код
, но такое не работает
Как быть с двойными указателями кода?
Ради интереса вместо HEX попробую использовать DEX коды
timwhitlock.info символы ▬╤209яЯ‼��*4��☠1 //"
Я" =
HEX Code:042F UTF-8(hex): D0 AF |
DEX Code:1071 UTF-8(dex) 208 175
//"
4" =
HEX Code:0034 UTF-8(hex): 34 |
DEX Code:52 UTF-8(dex) 52
//"
╤" =
HEX Code:2564 UTF-8(hex): E2 95 A4 |
DEX Code:9572 UTF-8(dex) 226 149 164
Символ "4":
Код
send {0x0034} //4 HEX оба варианта пишут 4
send [code]{0x034} //4 HEX оба варианта пишут 4
send {52} //4 DEX пишет 4.
Очень похоже, что DEX значения так же можно использовать.
Символ "╤" Код
send {0x2564} // ╤ HEX получаю в строке цифру 4
send {9572} // ╤ DEX и снова получаю 4.
Зато руками набранное ALT + 209 вводит ╤ . Почему в этом случае не срабатывает прежний способ ввода HEX и DEX как с цифрами?
Буква "Я" так же не удалось набрать, хоть её DEX Code одни цифры
А UTF-8 (dex)
Код
Отправляет в iGram (клиент для Telegram) {220088}{117755}, а
Код
просто выбил iGram
Ради интереса попробовал UTF-8(hex): D0 AF
Код
это на 1 добавляло громкость винды, скрипт был привязан к окну. (Получается, одно из значений - код кнопки громкости).
А с цифрами всё было просто.
И это еще не встретились 16-ричные значения.
Встретим их.
Возможно придется уточнить с левым или правым ALT набирать.
Проверю еще раз левый Alt+209 это "
╤" Всё работает, но если в коде есть буква, то ничего не получалось - вводились буквы и набор кода пропадал!
На
http://www.fileformat.info/tip/microsoft/enter_unicode.htm и в обсуждении
superuser.com how-to-insert-any-unicode-character-using-the-unicode-hex-code-on-windows-word совет добавить кое-что в реестр. Возможно, по другому никак.
Пробую
Проба:
‼ После перезагрузки alt+203C ("+" тоже нужно нажимать). Результат "
‼" (в тг это ярко красные знаки) Но! работает это не стабильно. Может ввестись последняя буква, станет -
"С‼"⛺️
(U+26FA = Alt+26FA Результат ⛺️, в Телеграм вводятся (Вот только в Chrome не работает, т.к. alt+F открывает меню)
(U+1F496) и набираем alt+1F496 . Результат ни-че-го.
То есть после правки реестра 100% гарантий нет. Бывает, что вводится только эмодзи с 1 буквой на конце
Выводы:
1. Альт-коды не лучшее решение, придется править реестр - само по себе не работает Не универсально, в разных приложениях могут сработать горячие клавиши
2. Виртуальные коды эмодзи не получается взять из DEX и HEX значений. Но раз средствами Windows они вводятся с виртуально клавиатуры, то должен быть способ.
Хотя может показаться, что этой темой я делаю мозг. Но с эмодзи просто запутался. Скорее не хватает базового понимая кодировок и ввода символов.
Прошу поделиться советами.