Руссификатор
<ow:link name="CyrHack" href="ow.asp?CyrHack" date="2003-05-15T17:05:58+01:00">Cyr Hack</ow:link>
поддерживает внешние клавиатуры. Причем поддержка реализована достаточно универсально. Все (все 3
<img src="ow/images/icons/emoticon-wink.gif" width="14" height="12" alt="" />
) клавиатуры, с которыми я сталкивался вполне пристойно руссифицируются. Для поддержки важны три вещи:
Способ проверки активности клавиатуры. Обычно используется выставление фичи. Все определяемые клавиатуры содержатся внутри кода
<ow:link name="CyrHack" href="ow.asp?CyrHack" date="2003-05-15T17:05:58+01:00">Cyr Hack</ow:link>
и не могут быть добавлены пользователем.
</li>
<li>Внутренние таблицы драйвера клавиатуры. Иногда их приходится изменять для правильной перекодировки нестандартных символов</li>
<li>Таблица перекодировки клавиш. Она хранится во внешнем языковом модуле и представляет из себя байтовый массив из 128 символов ( char transTbl[128]). При активной внешней клавиатуре и включенном русском регистре все символы из первой половины перекодируются по таблице:</li>
</ol>
<pre class="code">
char ch; // входящий символ
if (chMode == RusMode)
{
if (ch < 128)
{
ch = transTbl[ch];
}
}
</pre>
Если клавиатура не поддерживается в
<ow:link name="CyrHack" href="ow.asp?CyrHack" date="2003-05-15T17:05:58+01:00">Cyr Hack</ow:link>
, то скорее всего это легко лечится.
Во-первых нужно указать ему, что клавиатура подключена. Проще всего это можно сделать имитацией подключения PPK, выставив feature, указывающую на его активность. Здесь лежит программа:
<a href="http://yahm.palmoid.com/setnrftr.prc" class="external" target="_blank">http://yahm.palmoid.com/setnrftr.prc</a>
, а вот ее исходник.
<pre class="code">
#include <PalmOS.h>
UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags)
{
FtrSet('KO01', 0, 0x100001);
return 0;
}
</pre>
Известные мне клавиатуры:
Palm Portable keyboard, она же PPK, Targus,
<ow:link name="ThinkOutside" href="ow.asp?p=ThinkOutside&a=edit">ThinkOutside</ow:link>
, Stowaway. Поддержка встроена в драйвер
</li>
Sony Clie NR70 обладает собственной клавиатурой. Мою руссификацию нестандартных клавиатур для NR-70 можно взять здесь:
<a href="http://yahm.palmoid.com/cyrhacknr.zip" class="external" target="_blank">http://yahm.palmoid.com/cyrhacknr.zip</a>
. Руссифицированна указанными выше способами.
</li>
клавиатура Belkin G700. Прекрасно работает с русским с помощью
<a href="http://yahm.palmoid.com/setnrftr.prc" class="external" target="_blank">SetNRFtr</a>
.
</li>
</ul>
</ow:body>