Download
Написал я тут свою клаву для КПК, хотя их есть много и разных, но...
Despite the fact that there exist many good keyboards for Pocket PC, I decided to create my own...
Во-первых, мне реально нужна мультиязычность, заметно большая, чем даёт правый Alt в раскладке "US International" - там например нет чешских букв (вроде Ř и Ů), а чешско-русским словарём в lingvo приходится пользоваться часто.
First of all, I need support for many languages, more extensive than just using Right-Alt in the "US International" layout (on a PC or on PC emulation keyboards like vgakey.net), for instance it does not have any Czech letters (like Ř or Ů), and as I use Czech-Russian dictionary (lingvo.ru) very often and I need to type both Czech and Russian characters.
И не тока чешским - в итоге мой набор необходимых символов получается большим и странным.
Sometimes I use some other languages with their typical characters (Spanish, ...). Thus, the character set I need to operate with is big and specific.
Вот этот пункт был очень важный, искал готовое решение, но не нашёл. As this is of great importance for me, I had been looking for a ready-made solution but without any success.
Зато сейчас сделал с запасом - не переключая раскладку можно ввести любую букву любого европейского языка :)
The present solution actually exceeds my needs - it is possible to enter any character of any European language without endless switching of layouts.
Во-вторых, перенос идеи механической клавиатуры на тачскрин мне всегда не нравился: какие-то возможности пропали (ну например нажать и держать Shift+стрелку наслаждаясь автоповтором), а взамен ничего не появилось.
Secondly, I have never been happy with the idea of one-to-one translation of physical keyboard behavior on the touch-screen: some features disappear (for example, automatic repeating while holding Shift+arrow), but not a single advantage appears in return.
А, еще Shift и CapsLock на тачскрине выглядят как-то нелепо.
Also, Shift and CapsLock look out of place on a touch screen.
В итоге решил развить идею, которая есть на многих клавиатурах - "смещение стилуса вверх -> клавиша с шифтом". идея очень хорошая, только если эту букву на экране нарисовать, будут видны границы этого "вверха". Finally, I decided to develop the idea, which is implemented in many virtual keyboards: "drag slylus up to get upcased letter". This idea is very elegant, but I find one addition necessary: we should prompt user with region borders where to release stylus in case he wants to type the uppercase letter, or lowercase letter, or to type nothing.
Тогда можно несколько кнопочек там разместить. При смещении курсора после нажатия на u получатся не только U но заодно и Ů и Г. И Ctrl-U.

А на кнопках 1-10 можно разместить F1-F12

Как-то так:
This concept makes it possible to add more than one additional letter. The button u can help us type not only u and U, but also Ů and Ü. As well as Ctrl-U.

Keys 1-0 can serve as F1-F12.

We can look at the picture for better understanding:


Вроде нагромождение жуткое, но:
1. На картинках всё по максимуму, что не нужно - закоменчивается в конфиге, это проще чем добавлять :)
Looks a bit cluttered, but this layout has some advantages:
1. At the pictures almost all possible keys are visible. If you do not need some of them (actually, you won’t need more than half of them), you can comment them out. It is more simple than adding new keys, that’s why so many characters are enabled by default.
2. Становятся легко доступны всякие значки вроде ± † ™ ∞ ≈ ¿ ¾ и буквы с ударениями 2. Easy and intuitive access to symbols (like ± † ™ ∞ ≈ ¿ ¾) and accented characters of national alphabets.
3. Всякие комбинации screen типаCtrl-A Shift-S набираются в 2 тыка (A+вниз S+вверх), а не в 4. 3. Ugly key combinations of screen (unix session manager, if you using Pocket PC as ssh client for your unix computers) like Ctrl-A Shift-S can be entered in two touches (A-dragdown, S-dragup) instead of four.
4. При наборе русской буквы основная раскладка переключатеся на русскую без дополнительной кнопки Rus/Lat и наоборот при наборе латинской буквы при основной русской) 4. Entering a Russian letter switches main layout to Russian automatically, with no touch of additional Rus/Lat key which serve only for change layouts. Changing from Russian to Latin also works, of course.
5. Автоповтор работает на любой комбинации с Shift и Ctrl. 5. Automatic repeat works for any combination involving Shift or Ctrl keys.
6. Можно выкинуть горизонтальный ряд F1-F10 и вертикальный Tab-CapsLock-Shift-Ctrl и сделать кнопки крупнее, чтобы было удобно на них нажимать пальцем без стилуса. 6. It is possible to remove the row of keys F1-F10 and the column Tab-CapsLock-Shift-Ctrl in order to make the rest of the keys a little bigger, thus allowing to press them by fingers.
И этому привыкаешь быстро, так же как и сдвигать стилус вверх для ввода большой буквы, глазами искать приходится только если реально редко используемая буква нужна. It’s very fast and easy to get used to the new way of typing, as to hold'n'drag using any other virtual keyboard. You will need to find only rarely used characters, because it is very easy to remember where the frequently used characters are located. At least, you can always relocate (or duplicate) them by changing the configuration file.
Попап всплывает или через 300ms удержания стилуса на кнопке или при уводе стилуса за её границы. То есть оно не мешает набирать текст быстро тыкая. The popup window appears after 300ms from holding stylus over a button or immediately on dragging stylus out of the bounds of the button. So, the popup does not interfere with fast typing.
Ну и до кучи добавил возможнось ввода произвольных строк (это просто текстовой конфиг с кастомной раскладной, кнопка Mod показывает список доступных конфигов): There is also a feature which allows entering any predefined strings instead of single characters. (An example of such configuration is shown on the picture. The key Mod shows list of available configuration files).

Текущего времени и содержимого клипборда: ...current time and content of the clipboard.

Да, координаты кнопок и раскладки - они в текстовых конфигах, можно исправлять прямо на кпк. Графический конфигуратор конечно было бы прикольно, но вряд ли стоит его делать? The coordinates of all buttons and characters/symbols/strings they correspond are stored in text format configuration files. Of course some GUI configurator would look nice, but is it really necessary?
TODO примерно такое (только вряд ли в ближайшее время оно будет делаться):
1. Диалог для конфигурации параметров независимых от раскладки/скина: таймингы автоповтора, включение-выключение групп символов без редактирования раскладки (например греческий или македонская кириллица мало кому нужны)
TODO list (roughly):
1. Configuration dialog to set up global variables independed from config files (common for all configurations): autorepeat times, enabling-disabling groups of symbol without editing configuration files (for example, disable Macedonian and Greek).
2. Шаблоны strftime для кнопок вставки времени
3. Кнопки Cut, Copy и PrintScreen
4. charmap для ввода символов, кот-е нужны редко, такие символы будет можно смело выкинуть с самой клавиатуры и она будет попроще выглядеть, а если эти символы понадобятся - то их можно вводить через charmap
5. арабский, тайский и иврит
6. подержка кнопок состоящих из 2-х прямоугольников (кривой Enter), возможно еще и 6-угольных кнопок, по ним легче целиться.
2. strftime-like templates for inserting current time.
3. Keys Cut, Copy and PrintScreen
4. Utility like Windows' charmap.exe. It allows to remove rarely used keys from popups, removed characters could be entered via the charmap.
5. Arabic, Thai, Hebrew languages support.
6. More complex button shapes than simple rectangle. For example curved Enter key, or maybe hexagonal keys for easier targeting.
SourceForge.net Logo