Roozbeh Pournader <roozbeh at sharif dot edu> wrote:
> BTW, I would love to see a standard keyboard layout/input method
> specification language. Why no one has started such a thing?
There is such a thing -- ISO 9995. This standard comprises seven parts;
Part 1 defines a row-column notation for every key on the keyboard. For
example, the "2" key is at position E02, and the "S" key two rows below
that is at C02. The shift states ("levels") are also identified: Level
1 is the normal state, Level 2 is the Shift state, and Level 3 is the
AltGr or Ctrl+Alt state. (There isn't supposed to be a "Level 4,"
corresponding to Shift+AltGr, but many systems provide one.)
I can't find a definitive online reference to Part 1, but if you visit
Alain LaBonté's site at:
http://iquebec.ifrance.com/cyberiel/sc35wg1/
you can read and download draft copies of Parts 2 and 3, which should
give you all the information you need to figure things out. (Alain is
the project editor for the ISO 9995 series.)
The nice thing about ISO 9995 nomenclature is that you can refer
unambiguously to, say, the "B01" key instead of calling it the "Z" key
and confusing your French and German users. The disadvantages are that
the system is not familiar or convenient to many people, especially end
users -- quick, what key is at C07? -- plus there are some keys that may
appear in different physical locations, such as the (U.S.) backslash/
vertical bar key, which may be found at D13, C12, or even B00.
Your ISIRI 2901:1994 keyboard layout, displayed using ISO 9995 notation,
would look like this:
--
Key Level 1 Level 2
--- ------- -------
E00 U+200D --
E01 U+06F1 U+066C
E02 U+06F2 U+0021
E03 U+06F3 U+066B
E04 U+06F4 U+FDFC
E05 U+06F5 U+066A
E06 U+06F6 U+00D7
E07 U+06F7 U+060C
E08 U+06F8 U+002A
E09 U+06F9 U+0029
E10 U+06F0 U+0028
E11 U+002D U+0640
E12 U+003D U+002B
D01 U+0636 U+0652
D02 U+0635 U+064C
D03 U+062B U+064D
D04 U+0642 U+064B
D05 U+0641 U+064F
D06 U+063A U+0650
D07 U+0639 U+064E
D08 U+0647 U+0651
D09 U+062E U+005D
D10 U+062D U+005B
D11 U+062C U+007D
D12 U+0686 U+007B
C01 U+0634 U+0624
C02 U+0633 U+0626
C03 U+06CC U+064A
C04 U+0628 U+0625
C05 U+0644 U+0623
C06 U+0627 U+0622
C07 U+062A U+0629
C08 U+0646 U+00BB
C09 U+0645 U+00AB
C10 U+06A9 U+003A
C11 U+06AF U+061B
C12 U+005C U+007C
B01 U+0638 U+0643
B02 U+0637 --
B03 U+0632 U+0698
B04 U+0631 --
B05 U+0630 U+200C
B06 U+062F --
B07 U+067E U+0621
B08 U+0648 U+003E
B09 U+002E U+003C
B10 U+002F U+061F
A U+0020 U+200C
--
-Doug Ewell
Fullerton, California