Igor's KeyCase keyboard driver for OS5

Written by Igor Nesterov (C) 2004-05

Download latest driver from http://g700.palmoid.com/keycase.zip
Download LayCoder layout editor there: http://g700.palmoid.com/LayCoder700.zip

News

0.9.0 (February 27, 2004)

Index

1. About Logitech TypeAway driver
2. Requirements
3. KeyCase driver Installation
4. Driver settings
5. Power consumption.
6. Hardware troubleshooting
7. User-defined layouts
8. Sample layouts
9. Registration and Purchase
10. Version History
11. Author information
12. My other Palm software

1. About Logitech TypeAway driver

Logitech KeyCase keyboard seems to be very useful for PDA users. But all drivers for OS5 users were slow and ugly. Current unofficial driver tries to fit into your needs.

Igor's driver features:

2. Requirements

Driver requires PalmOS 5.x and YAHM hack manager v.2.3.6. It can be used with Logitech KeyCase keyboard and TT1-TT2 device. Driver can't work with TT3 due to bug in serial driver. Zire devices weren't tested yet.

3. KeyCase driver Installation

Download YAHM from http://g700.palmoid.com/keycase.zip. Unzip it and install KeyCaseDriver.prc and YAHM.prc on your device. Run YAHM from launcher and click on checkbox to the left of hack name: KeyCaseDriver.prc. Driver is ready to use. Attach keyboard and try to type in any edit field.


If you want to delete driver, you should run YAHM, select hack name KeyCase driver and press Delete button.

Refer YAHM manual about YAHM advanced settings.

4. Driver settings

_

For driver customization click on "+" icon right to hack name: KeyCase Hack. At first screen you can set repeat options. Select deley before repeat (250-500-1000 msec) and repeat rate (6-10-20-30 chars/sec). Use test field to test current settings

Press "Apps..." button to open custom buttons form. Select application from drop-down list for Cmd+1 - Cmd+9 button combinations.

5. Power consumption.

Keyboard using means opened serial port. Open serial port means battery drain. Althrough unoficial driver controls serial port automatically, you should know main concepts of power control:

So, the active driver drains battery only when keyboard is attached and device is turned on.

If your range of peripheral devices is limited to USB cradle and keyboard, you can make driver active all the time. If you have serial cradle or modem, you should disable driver manually. You can make it from YAHM or from command bar.

6. Hardware troubleshooting

  1. Driver receives notifications on hardware events like "something was attached to connector", "hotsync happens" etc. On each notification driver checks for keyboard existence and tries to open port and read data. If "Ignore keyboard detach" option is checked driver always thinks that keyboard is attached to device.It can be helpful for some oddy keyboards.
  2. Sometimes Palm devices got into problems when anyone attempts to open more than one serial port: pure serial port, infrared, bluetooth serial connection etc. Originally driver closes port and disables keyboard. If you got a trouble with this feature, check "Don't release port for peripheral" option and disable keyboard manually. Checking this option can be helpful with active BtTogglePro utility.
  3. After 30 sec of inactivity driver closes serial port. Keypress on closed port generates event and driver re-open it. If your device can't re-activate keyboard, use option "Disable AutoClose".

If you got a trouble and checkbox combination solve it, please send me your hardware configuration (device, keyboard, bt/wifi usage) with proper option set.

If you got a trouble and options aren't helpful, please send me your hardware configuration (device, keyboard, bt/wifi usage) and I'll try to fix it.

7. User-defined layouts

It's possible to use own keyboard layout with driver. You can remap all buttons as you wish.

Make custom layout creation in two steps. First step: modify text file with existing layout as you wish. Second step: compile text file into .prc and install layout database on your device.

Download SDK from http://g700.palmoid.com/LayCoder700.zip. All standard layouts are inside. Use them as base for your own layouts. Edit map files with your favorite text editors. Map file syntax is very easy: each possible shift key combination is described as separate plane. Each plane mimics keyboard rows with button labels. Refer Laycoder PPK keyboard editor for unclear button labels.

Laycoder utility is used for layout compilation. It's console windows utility. It can be run under Windows family OSes and under any OS with Win32 emulation. Command line syntax is very simple:

laycoder c -b Dvorak.prc dvorak.map

8. Sample layouts

Logitech KeyCase English layout

[Plain]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |1    |2    |3    |4    |5    |6    |7    |8    |9    |0    |-    |=    |BS   |Del  |
|NxtFl|q    |w    |e    |r    |t    |y    |u    |i    |o    |p    |[    |]    |\    |SUp  |
|Caps |a    |s    |d    |f    |g    |h    |j    |k    |l    |;    |'    |Enter|SDown|
|LShft|z    |x    |c    |v    |b    |n    |m    |,    |.    |/    |RShft|Up   |OK   |
|Ctrl |MenCm|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|

[Shift]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|~    |!    |@    |#    |$    |%    |^    |&    |*    |(    |)    |_    |+    |BS   |Del  |
|PrvFl|Q    |W    |E    |R    |T    |Y    |U    |I    |O    |P    |{    |}    ||    |SUp  |
|Caps |A    |S    |D    |F    |G    |H    |J    |K    |L    |:    |"    |Enter|SDown|
|LShft|Z    |X    |C    |V    |B    |N    |M    |<    |>    |?    |RShft|Up   |OK   |
|Ctrl |Shrtk|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|


[CapsLock]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |1    |2    |3    |4    |5    |6    |7    |8    |9    |0    |-    |=    |BS   |Del  |
|NxtFl|Q    |W    |E    |R    |T    |Y    |U    |I    |O    |P    |{    |}    ||    |SUp  |
|Caps |A    |S    |D    |F    |G    |H    |J    |K    |L    |:    |"    |Enter|SDown|
|LShft|Z    |X    |C    |V    |B    |N    |M    |,    |.    |?    |RShft|Up   |OK   |
|Ctrl |MenCm|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|

[CapsLock-Shift]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|~    |!    |@    |#    |$    |%    |^    |&    |*    |(    |)    |_    |+    |BS   |Del  |
|PrvFl|q    |w    |e    |r    |t    |y    |u    |i    |o    |p    |[    |]    |\    |SUp  |
|Caps |a    |s    |d    |f    |g    |h    |j    |k    |l    |:    |"    |Enter|SDown|
|LShft|z    |x    |c    |v    |b    |n    |m    |<    |>    |/    |RShft|Up   |OK   |
|Ctrl |Shrtk|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|

[Alt]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |1    |2    |3    |4    |5    |6    |7    |8    |9    |0    |-    |=    |BS   |Del  |
|Tab  |q    |w    |e    |r    |t    |y    |u    |i    |o    |p    |[    |]    |\    |SUp  |
|Caps |a    |s    |d    |f    |g    |h    |j    |k    |l    |;    |'    |Enter|SDown|
|LShft|z    |x    |c    |v    |b    |n    |m    |,    |.    |/    |RShft|Up   |OK   |
|Ctrl |MenCm|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|

[Alt-Shift]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |1    |2    |3    |4    |5    |6    |7    |8    |9    |0    |-    |=    |BS   |Del  |
|Tab  |q    |w    |e    |r    |t    |y    |u    |i    |o    |p    |[    |]    |\    |SUp  |
|Caps |a    |s    |d    |f    |g    |h    |j    |k    |l    |:    |"    |Enter|SDown|
|LShft|z    |x    |c    |v    |b    |n    |m    |<    |>    |/    |RShft|Up   |OK   |
|Ctrl |MenCm|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|

[Screen]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |Run 1|Run 2|Run 3|Run 4|Run 5|Run 6|Run 7|Run 8|Run 9|Run 0|-    |=    |BS   |Del  |
|Tab  |BtnQ |BtnW |BtnE |BtnR |BtnT |BtnY |BtnU |BtnI |BtnO |BtnP |#00AB|#00BB|#00B6|SUp  |
|Caps |BtnA |BtnS |BtnD |BtnF |BtnG |BtnH |BtnJ |BtnK |BtnL |;    |'    |OK   |SDown|
|LShft|BtnZ |BtnX |BtnC |BtnV |BtnB |BtnN |BtnM |,    |.    |#00BF|RShft|Up   |OK   |
|Ctrl |MenCm|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|

[Emulation]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |!Hrd1|!Hrd2|!Hrd3|!Hrd4|Date |Phone|Todo |Memo |Calc |New  |-    |=    |BS   |Del  |
|Tab  |!PgUp|`+   |^+   |~+   |:+   |o+   |'+   |'+   |!Left|!Rght|!Left|!Rght|#00B6|SUp  |
|Caps |!PgDn|!PgUp|#00B0|#0083|#00A9|h    |j    |k    |l    |:    |"    |!Sel |SDown|
|LShft|!Hrd3|!Hrd4|#00E7|!Hrd3|!Hrd4|n    |m    |<    |>    |#00BF|!PgUp|RShft|BS   |
|Ctrl |Fn   |!Sel |!Sel |!Sel |Alt  |MenCm|Delet|!Left|!PgDn|!Rght|

[Cmd]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |Run 1|Run 2|Run 3|Run 4|Run 5|Run 6|Run 7|Run 8|Run 9|Run 0|-    |=    |BS   |Del  |
|Tab  |q    |w    |e    |r    |t    |y    |u    |i    |o    |p    |[    |]    |\    |SUp  |
|Caps |a    |s    |d    |f    |g    |h    |j    |#011A|l    |;    |'    |Enter|SDown|
|LShft|z    |x    |c    |v    |b    |n    |m    |,    |.    |/    |RShft|Up   |OK   |
|Ctrl |MenCm|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|

[Ctrl]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |1    |2    |3    |4    |5    |6    |7    |8    |9    |0    |-    |=    |BS   |Del  |
|Tab  |q    |w    |e    |r    |t    |y    |u    |i    |o    |Paste|[    |]    |\    |SUp  |
|Caps |a    |s    |d    |f    |g    |h    |j    |k    |Backl|;    |'    |Enter|SDown|
|LShft|z    |Cut  |Copy |Paste|b    |n    |m    |,    |.    |/    |RShft|Up   |OK   |
|Ctrl |MenCm|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|

[Select]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |1    |2    |3    |4    |5    |6    |7    |8    |9    |0    |-    |=    |BS   |Del  |
|NxtFl|q    |w    |e    |r    |t    |y    |u    |i    |o    |p    |[    |]    |\    |SUp  |
|Caps |a    |s    |d    |f    |g    |h    |j    |k    |l    |;    |'    |Enter|SDown|
|LShft|z    |x    |c    |v    |b    |n    |m    |,    |.    |/    |RShft|Up   |OK   |
|Ctrl |MenCm|Fn   |Alt  |Space|Done |Cancl|SelL |Down |SelR |

[Fn-Shift]
|Apps |Selct|Cut  |Copy |Paste|Find |Date |Phone|Todo |Memo |Mail |
|`    |Apps |Menu |3    |Find |Date |Phone|Todo |Memo |Calc |New  |-    |=    |BS   |Del  |
|Tab  |'+   |`+   |^+   |~+   |:+   |o+   |'+   |'+   |#00D8|#00A3|#00AB|#00BB|#00B6|SUp  |
|Caps |#00E6|#00A7|#00B0|#0083|#00A9|h    |j    |k    |l    |;    |'    |OK   |SDown|
|LShft|z    |x    |#00E7|v    |#00DF|n    |m    |,    |.    |#00BF|RShft|Up   |OK   |
|Ctrl |MenCm|Fn   |Alt  |Space|Done |Cancl|Left |Down |Right|

9. Registration and Purchase

This driver is shareware program. you can try it two weeks for free. You can buy it at Get it at PalmGear for $7.95.

10. Version History

11. Author information

Feel free to send bugreports and suggestions to me.
Web page: http://g700.palmoid.com/keycase.htm
Email: support@palmoid.com
Yahoo group: palmnest

12. My other Palm software