← All posts tagged Android

d4rw1n

В общем так. Решил я тут освежить память по андроидовой клавиатуре в хроме и запилить сей пост.

Андроидовый хром, на эвентах onkeydown, onkeyup(onkeypress просто не зовется) нативного инпута, для стандартных клавиш(цифры, буквы, спецсимволы и т.д., кроме энтера и бекспейса) кладет в evt(аргумент эвента(я бы даже сказал, что он кладет на evt)) в:
charCode -> 0;
keyCode -> 229;
keyIdentifier -> U+00E5;
which -> 229.

Для Go(аналог энтера):
charCode -> 0;
keyCode -> 13;
keyIdentifier -> Enter;
which -> 13.

Для бекспейса:
charCode -> 0;
keyCode -> 8;
keyIdentifier -> U+0008;
which -> 8.

Помимо того, что невозможно на эвенте определить, что же нам там нажали, на onKeyDown в инпуте, при обычной скорости набора текста, уже будет нажатая клавиша! Более того, на onKeyDown длина value инпута может отставать от длинны на onKeyUp на 2, и даже на 3!!! символа, что обуславливается скоростью нажатия клавиш(а для разницы в один символ — фазой луны, ибо от скорости может и не зависеть вовсе). Так же при нажатии бекспейса мы можем как получить разницу в 1 символ, так и не получить, и это тоже, только от фазы луны.

Вот как-то так.

d4rw1n

Нашел всего два нормальных рогалика под андроид: Pixel Dungeon и Dweller. Всё остальное — шлак и говно. По дороге домой буду выяснять, что из них лучше, ибо два рогалика я не потяну по времени.