Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
272 / 176 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
1

Эмуляция мобильной клавиатуры

18.08.2021, 13:54. Показов 2102. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, подскажите плиииз.

Разрабатываю на компе сайт, который должен работать на мобилке.

А у мобилки... есть одна гадость которой нет у компа:

При установке ФОКУСА на любой инпут где предполагается ввод текста - выпрыгивает клавиатура!

...даже если она мне не нужна!!!

Например отладка компонента, где можно стрелками что-нибудь выбирать после того как фокус установишь кликом мышки. В мобилке сразу клавиатура показывается, хотя кроме стрелок там ничего не используется.

На какие события "выпрыгиывает клавиатура"??? и на каких компонентах?
Можно ли это заблокировать?

Хочу написать мини-фреймворк для отладки мобильных сайтов. Будет "маркер видимости клавиатуры" выпрыгиывать.
Но на какие события?

Сначала думал все input.onfocus переховатить, но ведь и "галочка" = это тоже интпут.
А может еще где? input-text, input-password, input-select, textarea...

...отладка сайта сразу на мобилке - не самый приятный процесс и без консоли не удобно.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.08.2021, 13:54
Ответы с готовыми решениями:

Эмуляция PS/2 клавиатуры
А нет ли у Уважаемого сообщества примера эмуляции клавиатуры PS/2, что бы воткнуть в гнездо...

Эмуляция клавиатуры
Имеется игра, которая использует DirectX. Как отправить в игру нажатие клавиш?

Эмуляция клавиатуры
Подскажите, пожалуйста, как эмулировать нажатие клавиш клавиатуры для конкретного процесса? Т.е....

Эмуляция нажатий клавиатуры
Привет всем. Я только начал изучать делфи7 и хочу написать свою первую программу. Суть такова....

6
331 / 238 / 80
Регистрация: 15.11.2017
Сообщений: 453
Записей в блоге: 4
18.08.2021, 14:41 2
Отладку делайте на десктопе, включите режим мобильного браузера.

Либо не фокусируйтесь автоматически на инпуте, если определено, что смартфон, а не десктоп, например, по размеру экрана.

Добавлено через 1 минуту
ctrl+shift+m при открытой панели разработчика.
0
272 / 176 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
18.08.2021, 15:30  [ТС] 3
Цитата Сообщение от DimaDima1985 Посмотреть сообщение
Отладку делайте на десктопе, включите режим мобильного браузера.
Либо не фокусируйтесь автоматически на инпуте, если определено, что смартфон, а не десктоп, например, по размеру экрана.
Сайт - "монстр фроанкенштейна" = состоит из разных ЧУЖИХ(опенсорсных) компонент где не понятно что разрабы внутрь впихнули. А выявить "наличие инпута" получается лишь уже полностью поключив очередной компонент и привязав его к остальным. Потом когда все более менее работает, так и быть запускаю еще и на мобилке/планшете, а там только узнаю что компонент предстоит либо заменять, либо взламываь/переписывать. Хотелось бы подобное выяснять еще на ранних стадиях!

Не по теме:

Режим ctrl+shift+m дает лишь ширину экрана. Возможно, если справлюсь с виртуальной клавой, и этот смогу подделать, и со скролом пальцем в разы удобнее, и эмулятор мутльтитатча встрою(зум якобы без ролика и клавы) и имитацию "мы на андроиде / мы на айфоне"... и быстрый перебор всех "тестовых моделей телефонов/планшетов" (некоторые планшеты ШИРЕ моего ноутбука и приходится ловить не ширину экрана, а маркеры android/ios.



Но начать хочу именно с индикации/информирования пользователя/разработчика о том "если бы вы были на мобилке, то здесь бы уже клава выскочила"!

Есть хотябы полный СПИСОК типов "базовых" компонент на которых мобилка клаву открывает? (гугл пока не помог)
0
958 / 520 / 244
Регистрация: 20.05.2015
Сообщений: 774
22.08.2021, 22:21 4
andyj, здравствуйте. Современный атрибут inputmode может Вам помочь?

Вы можете заставить, выставив значение none полностью заблокировать вызов клавиатуры.

Поддержка на 22.08.21 мобильными браузерами очень даже хорошая.

Демонстрация

Добавлено через 48 минут
UPD: Хотя, мне кажется, я неправильно понял Вашу задачу.
3
272 / 176 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
23.08.2021, 06:38  [ТС] 5
Цитата Сообщение от evikza Посмотреть сообщение
мне кажется, я неправильно понял Вашу задачу.
Спасибо за технологию (не знал что такое возможно - изучу), но вы действительно не правильно поняли.

Задача - не заблокировать в мобилке, добавив теги, а ВЫЯВИТЬ наличие "не заблокированных инпутов".

Тоесть получить в ДЕСКТОПЕ тот-же эффект, как и на мобилке - инпут получил фокус == сработал (мой) колбэк, сообщающий пользователя что "если бы ты был в мобилке, то уже наблюдал бы клавиатуру".

Задача - еще до тестирования на мобилке, протестировать не десктопе и выявить все "слабые для мобилки места".
Особенно касается "чужих" компонент, найденных на просторах и не понятно как работающих. Например сложный календарь может для возможности "управления клавишами" вставить скрытый инпут, в котором нет тега inputmode="none".

Учитывая что это для меня "критично" и "непонятно когда оно вылетет", могу на пол экрана надпись выдавать, музыку проигрывать или просто через alert() разработчиков придупредить. В 99% случаев в мобилке клава не нужна! (кроме случаем "введите что-нибудь текстом или цифрами" ) Но она очень полезна в десктопе...

Сейчас решил вопрос тем что на ВСЕ инпуты навесил addEventLis.. ('focus') и на потерю фокуса. Но понимаю что это "полумера", не учитывающая ни innerHtml = '<input>' ни doc.createElement('input'). И вообще не до конца понимаю в каких элементах можно ожидать клаву, а где она точно не выпрыгнет...

Нашел еще такое http://mobileinputtypes.com
0
958 / 520 / 244
Регистрация: 20.05.2015
Сообщений: 774
23.08.2021, 16:18 6
Цитата Сообщение от andyj Посмотреть сообщение
… не самый приятный процесс и без консоли не удобно.
Еще раз здравствуйте. Вы можете подключить эмуляцию консоли — vConsole от Tencent или Eruda.
1
272 / 176 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
23.08.2021, 18:58  [ТС] 7
Цитата Сообщение от evikza Посмотреть сообщение
Вы можете подключить эмуляцию консоли
(не знал о таких готовых решениях - пока не знаю зачем, но изучу спасибо)

А чем это поможет в моем случае???

Я написал компонент, который использует скрытый инпут для захвата клавиш и удержания фокуса. Насколько я знаю так многие делают. Мне нужны были только "стрелки" для навигации. В мобилке пришлось отключать функцию.

Теперь хочу проверить ("потыкав") мои проекты, в которых использую чужие компоненты, которые могли использовать скрытый инпут. Причем сделать это ДО того как проект попадет на мобилку!!! Тестировать на десктопе в разы проще...

Хочу ЭМУЛИРОВАТЬ поведение мобильного браузера на десктопе! Для начала нужно поймать дополнительным(моим) обработчиком "фокус" на ВСЕХ инпутах, включая "скрытые".

Сейчас это сделал тем что "перебором" навесил на все инпуты addEvListener('focus') через секунду после создания... Но это не всегда будет работать, если компоненты скрытых инпутов будут создаваться динамически и удаляться если не нужны!
0
23.08.2021, 18:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.08.2021, 18:58
Помогаю со студенческими работами здесь

Эмуляция bluetooth клавиатуры
Дано: ПК c bluetooth-адаптером и PS/2 клавиатурой Нужно: bluetooth-клавиатура с минимальными...

Эмуляция клавиатуры и мыши
Доброго времени суток! Столкнулся с такой проблемой: нужно эмулировать нажатия клавиш, передвижение...

Как сделать ввод с мобильной клавиатуры?
Подскажите как сделать ввод с мобильной клавиатуры. Пробывал как написано в документации не чего не...

Эмуляция нажатия кнопки клавиатуры
Всем доброго времени суток. Облазил кучу сайтов но так и не нашел ответ. Собственно так же лазил по...

Эмуляция нажатия клавиши клавиатуры
Здравствуйте! Возникла задача написания сервиса Windows, который, в том числе, посылает код...

Эмуляция нажатия клавиатуры в Selenium
Встала задача в развороте окна браузера на 90 град для корректного снятия скриншотов. Раньше делал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru