OpenWiki

Cyrhack Keyboard

Palm Notes | Recent Changes | Title Index | User Preferences | Random Page | Help
Difference from prior major revision.
minor diff author diff hide diff

Руссификатор CyrHack поддерживает внешние клавиатуры. Причем поддержка реализована достаточно универсально. Все (все 3 ;-) ) клавиатуры, с которыми я сталкивался вполне пристойно руссифицируются. Для поддержки важны три вещи:
  1. Способ 
проверки 
активности 
клавиатуры. 
Обычно 
используется выставление фичи. Все определяемые клавиатуры содержатся внутри кода CyrHack и не могут быть добавлены пользователем.
  2. Внутренние
таблицы
драйвера
клавиатуры.
Иногда их
приходится
изменять для
правильной 
перекодировки 
нестандвртных 
нестандартных
символов
  3. Таблица 
перекодировки клавиш. Она хранится во внешнем языковом модуле и представляет из себя байтовый массив из 128 символов ( char transTbl[128]). При активной внешней клавиатуре и включенном русском регистре все символы из первой половины перекодируются по таблице:
<code>
char ch; // входящий 
символ
if (chMode == RusMode)
{
  if (ch < 128)
  {
    ch = transTbl[ch];
  }
}
</code>
  
Если 
клавиатура 
не 
поддерживается в CyrHack, то скорее всего это легко лечится.
Во-первых 
нужно 
указать ему, 
что 
клавиатура 
подключена. 
Проще всего 
это можно 
сделать 
имитацией 
подключения 
PPK, выставив feature, 
указывающую 
на его 
активность. 
Здесь лежит 
программа: 
http://yahm.palmoid.com/setnrftr.prc , а вот 
ее исходник.
<code>
#include <PalmOS.h>
  
UInt32 PilotMain(UInt16 cmd, MemPtr cmdPBP, UInt16 launchFlags)
{
  FtrSet('KO01', 0, 0x100001);
  return 0;
}
</code>
  
Известные 
мне 
клавиатуры:
  * Palm Portable keyboard, она же PPK, Targus, 
ThinkOutside, Stowaway. 
Поддержка 
встроена в 
драйвер
  * Sony Clie NR70 обладает 
собственной 
клавиатурой. 
Мою 
руссификацию нестандартных клавиатур для NR-70 можно взять здесь: http://yahm.palmoid.com/cyrhacknr.zip . Руссифицированна указанными выше способами.
  * клавиатура 
Belkin G700. Прекрасно 
работает с 
русским с 
помощью 
[http://yahm.palmoid.com/setnrftr.prc SetNRFtr ].

Palm Notes | Recent Changes | Title Index | User Preferences | Random Page | Help
Edit this page | View other revisions
Print this page | View XML
Find page by browsing, searching or an index
Edited December 24, 2003 (hide diff)