Japanese KeyMap issues...

This forum is for discussion of the AmigaOS 4.x localization. This includes translation errors as well as proposals for improved translations, and other topics related to localization.
Post Reply
Belxjander
Posts: 314
Joined: Mon May 14, 2012 10:26 pm
Location: 日本千葉県松戸市 / Matsudo City, Chiba, Japan
Contact:

Japanese KeyMap issues...

Post by Belxjander »

The following Keymap file has 1 Character and 3 non-typed keys more than the existing layouts define,
what rawkeys are available to trigger accessing these 4 extra keys?

They are currently mapped (I have relocated the one-typing-required key for now as a workaround,
however to properly support Japanese Input I will need ALL of the keys present and accounted for,
Do you have any suggestions?

I am currently going to look at writing a commodity to filter the 4 non-typing JP[0-3] Keys
however... I would like to have the typing keys remain unaffected by any commodities handling.

The following is the keymap I have had to define for my own keyboard setup (Japanese)

The Following is tested and ****working**** with a live Japanese Wireless keyboard and mouse set (two such were tested and both function under AmigaOS 4.x)

There is an extra set of keys which do not map accurately when I have tried testing other numbers (this is needed for the \| key next to the backspace)
Does AmigaOS 4.x currently not support quite enough character codes to remap this properly? -- needs discussion within the dev team,

of Jp1 Jp2 Jp3 and Jp4 "JP1" maps as 30, another key on the same row needs to be allowed for, with JP2 JP3 and JP4 as an additional set of "Command" keys,
JP1, JP2, JP3 and JP4 are *only* known to be present on Japanese Keyboards so don't need a keymap entry for normal typing (filtered by IME subsystems)

Perception-IME will be filtering JP1 on rawkey 30, but JP2, JP3 and JP4 still require filter values to be marked somewhere.

Code: Select all

; KeymapFileMagicCookie

; $VER: japanese_ISO-2022-jp 1.7 (06.2.2012)
; Electrified Nardicles, seriously painful!
; Written by Jeremy Sutherland (Belxjander Serechai == Belxjander@gmail.com)
; With Testing by Krister "Kicko" Skrtic

; Each line of this file is parsed with ReadArgs() with the pattern
; CHARSET/K,ENGLISHINFOTEXT/K,LOCALINFOCHARSET/K,LOCALINFOTEXT/K,KEYBOARDTYPE/K,CAPSLOCKMODE/K,
; KEY/K,ALONE/K,SHIFT/K,ALT/K,SHIFT_ALT/K

; MIME name of the charset of this file (UTF-8 or an 8bit charset)
CHARSET="UTF-8"
; What do I need for ISO-2022-JP Character set support to work here?

; Info text to display in Prefs/Input (english, US-ASCII)
ENGLISHINFOTEXT="Japanese ISO-2022-JP"
; I need to actively setup for ISO-2022-JP more completely from Perception-IME

; MIME name of the charset of the following LOCALINFO string (an 8bit charset)
LOCALINFOCHARSET="iso-2022-jp"

; Info text to display in Prefs/Input (locale language)
LOCALINFOTEXT="Japanese"

; CapsLock mode (Default or Numbers)
CAPSLOCKMODE="Default"

; For which keyboard type (ClassicAmiga or PC) this keymap can be used
KEYBOARDTYPE="PC"

; ----------- Key Translation Table (PC keyboard) ---------------Numeric Pad --
;
;  Esc     F1  F2  F3  F4   F5  F6  F7  F8    F9 F10 F11 F12    NL  5C  5D
;  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  XX  BS   3C  5E  4A
;  Tab   10  11  12  13  14  15  16  17  18  19  1A  1B         3D  3E  3F
;  CapsL  20  21  22  23  24  25  26  27  28  29  2A  2B Ret    2D  2E  2F
; Shift 30  31  32  33  34  35  36  37  38  39  3A 3B  Shift    1D  1E  1F
;  Ctrl Win  Alt            Space          Alt Win Menu Ctrl    0F  Enter
;
;  Esc     F1  F2  F3  F4   F5  F6  F7  F8    F9 F10 F11 F12    NL  /   *
;  Jp1  1!  2"  3#  4$  5%  6&  7'  8(  9)  0   -=  ^~  \| BS   .   +   - 
;  Tab   qQ  wW  eE  rR  tT  yY  uU  iI  oO  pP  @`  [{  Ret    7   8   9 
;  CapsL  aA  sS  dD  fF  gG  hH  jJ  kK  lL  ;+  :*  ]}  urn   4   5   6 
;  Shift    zZ  xX  cC  vV  bB  nN  mM  ,<  .>  /? \_  Shift    1   2   3
;  Ctrl Cmd Alt Jp2         Space          Jp3 Jp4 Menu Ctrl    0  Enter
;
; There is no "ALT" or "SHIFT_ALT" symbol entry currently defined,
;  this is used through the IME commodity to be written later
;  (Exception: Workaround for the "|" character to be typed out of position for now, this is TODO:!!)
;
; Jp1 = Zenkaku_Hankaku		= Toggles English and Japanese IME usage
; Jp2 = Muhenkan			= Not-Enabled in this KeyMap (ToDo:Find and map this key)
; Jp3 = Henkan				= Not-Enabled in this KeyMap (ToDo:Find and map this key)
; Jp4 = Hiragana/Katakana		= Not-Enabled in this KeyMap (ToDo:Find and map this key)
;
; -----------------------------------------------------------------------------

; " has to be escaped as "*""
; * has to be escaped as "**"

; First row

;KEY 00 ALONE "" SHIFT ""   ; JP1==Zenkaku_Hankaku
KEY 01 ALONE "1" SHIFT "!"
KEY 02 ALONE "2" SHIFT "*""
KEY 03 ALONE "3" SHIFT "#"
KEY 04 ALONE "4" SHIFT "$"
KEY 05 ALONE "5" SHIFT "%"
KEY 06 ALONE "6" SHIFT "&"
KEY 07 ALONE "7" SHIFT "'"
KEY 08 ALONE "8" SHIFT "("
KEY 09 ALONE "9" SHIFT ")"
KEY 0A ALONE "0"
KEY 0B ALONE "-" SHIFT "="
KEY 0C ALONE "^" SHIFT "~"
; TODO: Map the following entry for the last key symbol to type (shifted form)
KEY 6C ALONE "\" SHIFT "|"	; TODO: THIS KEY IS UNMAPPED AND UNABLED TO BE TYPED (No Map allowance)
;

; Second row

KEY 10 ALONE "q" SHIFT "Q"
KEY 11 ALONE "w" SHIFT "W"
KEY 12 ALONE "e" SHIFT "E"
KEY 13 ALONE "r" SHIFT "R"
KEY 14 ALONE "t" SHIFT "T"
KEY 15 ALONE "y" SHIFT "Y"
KEY 16 ALONE "u" SHIFT "U"
KEY 17 ALONE "i" SHIFT "I"
KEY 18 ALONE "o" SHIFT "O"
KEY 19 ALONE "p" SHIFT "P"
KEY 1A ALONE "@" SHIFT "`"
KEY 1B ALONE "[" SHIFT "{"

; Third row

KEY 20 ALONE "a" SHIFT "A"
KEY 21 ALONE "s" SHIFT "S"
KEY 22 ALONE "d" SHIFT "D"
KEY 23 ALONE "f" SHIFT "F" ALT "DeadAcute" SHIFT_ALT "DeadAcute"
KEY 24 ALONE "g" SHIFT "G" ALT "DeadGrave" SHIFT_ALT "DeadGrave"
KEY 25 ALONE "h" SHIFT "H" ALT "DeadCircumflex" SHIFT_ALT "DeadCaron"
KEY 26 ALONE "j" SHIFT "J" ALT "DeadTilde" SHIFT_ALT "DeadTilde"
KEY 27 ALONE "k" SHIFT "K" ALT "DeadDiaeresis" SHIFT_ALT "DeadDiaeresis"
KEY 28 ALONE "l" SHIFT "L"
KEY 29 ALONE ";" SHIFT "+"
KEY 2A ALONE ":" SHIFT "**"
KEY 2B ALONE "]" SHIFT "}"

; Fourth row

KEY 31 ALONE "z" SHIFT "Z"
KEY 32 ALONE "x" SHIFT "X"
KEY 33 ALONE "c" SHIFT "C"
KEY 34 ALONE "v" SHIFT "V"
KEY 35 ALONE "b" SHIFT "B"
KEY 36 ALONE "n" SHIFT "N"
KEY 37 ALONE "m" SHIFT "M"
KEY 38 ALONE "," SHIFT "<"
KEY 39 ALONE "." SHIFT ">"
KEY 3A ALONE "/" SHIFT "?" ALT "|" SHIFT_ALT "|" ; TODO: Remove this workaround - Requires prior TODO completion
KEY 3B ALONE "\" SHIFT "_" ALT "|" SHIFT_ALT "|" ; TODO: Remove this workaround - Requires prior TODO completion
; Numeric pad first row

KEY 5C ALONE "/"
KEY 5D ALONE "**"
KEY 4A ALONE "-"

; Numeric pad second row

KEY 3D ALONE "7"
KEY 3E ALONE "8"
KEY 3F ALONE "9"
KEY 5E ALONE "+"

; Numeric pad third row

KEY 2D ALONE "4"
KEY 2E ALONE "5"
KEY 2F ALONE "6"
; KEY 6C is missing (Brazil ABNT keyboard only)

; Numeric pad fourth row

KEY 1D ALONE "1"
KEY 1E ALONE "2"
KEY 1F ALONE "3"

; Numeric pad fifth row

KEY 0F ALONE "0"
KEY 3C ALONE "."

; For which keyboard type (ClassicAmiga or PC) this keymap can be used
KEYBOARDTYPE="ClassicAmiga"

; ----------- Key Translation Table (Classic Keyboard) --------- Numeric Pad --
;
;  Esc F1   F2   F3   F4   F5    F6   F7   F8   F9   F10
;  00  01  02  03  04  05  06  07  08  09  0A  0B  0C  0D BS    5A  5B  5C  5D
;  Tab   10  11  12  13  14  15  16  17  18  19  1A  1B  Ret    3D  3E  3F  4A
; Ctrl CL 20  21  22  23  24  25  26  27  28  29  2A  2B urn    2D  2E  2F  5E
; Shift 30  31  32  33  34  35  36  37  38  39  3A     Shift    1D  1E  1F  En
;   Alt Amiga                 Space                Amiga Alt    0F      3C  ter
;
;  Esc F1   F2   F3   F4   F5    F6   F7   F8   F9   F10
;  `~  1!  2@  3#  4$  5%  6^  7&  8*  9(  0)  -_  =+  \| BS    (   )   /   * 
;  Tab   qQ  wW  eE  rR  tT  yY  uU  iI  oO  pP  [{  ]}  Ret    7   8   9   - 
; Ctrl CL aA  sS  dD  fF  gG  hH  jJ  kK  lL  ;:  '"     urn    4   5   6   + 
; Shift     zZ  xX  cC  vV  bB  nN  mM  ,<  .>  /?     Shift    1   2   3   En
;   Alt Amiga                 Space                Amiga Alt    0       .   ter
;
; -----------------------------------------------------------------------------

; " has to be escaped as "*""
; * has to be escaped as "**"

; First row

KEY 00 ALONE "`" SHIFT "~"
KEY 01 ALONE "1" SHIFT "!"
KEY 02 ALONE "2" SHIFT "@"
KEY 03 ALONE "3" SHIFT "#"
KEY 04 ALONE "4" SHIFT "$"
KEY 05 ALONE "5" SHIFT "%"
KEY 06 ALONE "6" SHIFT "^"
KEY 07 ALONE "7" SHIFT "&"
KEY 08 ALONE "8" SHIFT "**"
KEY 09 ALONE "9" SHIFT "("
KEY 0A ALONE "0" SHIFT ")"
KEY 0B ALONE "-" SHIFT "_"
KEY 0C ALONE "=" SHIFT "+"
KEY 0D ALONE "\" SHIFT "|"

; Second row

KEY 10 ALONE "q" SHIFT "Q"
KEY 11 ALONE "w" SHIFT "W"
KEY 12 ALONE "e" SHIFT "E"
KEY 13 ALONE "r" SHIFT "R"
KEY 14 ALONE "t" SHIFT "T"
KEY 15 ALONE "y" SHIFT "Y"
KEY 16 ALONE "u" SHIFT "U"
KEY 17 ALONE "i" SHIFT "I"
KEY 18 ALONE "o" SHIFT "O"
KEY 19 ALONE "p" SHIFT "P"
KEY 1A ALONE "[" SHIFT "{"
KEY 1B ALONE "]" SHIFT "}"

; Third row

KEY 20 ALONE "a" SHIFT "A"
KEY 21 ALONE "s" SHIFT "S"
KEY 22 ALONE "d" SHIFT "D"
KEY 23 ALONE "f" SHIFT "F" ALT "DeadAcute" SHIFT_ALT "DeadAcute"
KEY 24 ALONE "g" SHIFT "G" ALT "DeadGrave" SHIFT_ALT "DeadGrave"
KEY 25 ALONE "h" SHIFT "H" ALT "DeadCircumflex" SHIFT_ALT "DeadCaron"
KEY 26 ALONE "j" SHIFT "J" ALT "DeadTilde" SHIFT_ALT "DeadTilde"
KEY 27 ALONE "k" SHIFT "K" ALT "DeadDiaeresis" SHIFT_ALT "DeadDiaeresis"
KEY 28 ALONE "l" SHIFT "L"
KEY 29 ALONE ";" SHIFT ":"
KEY 2A ALONE "'" SHIFT "*""
; KEY 2B is missing (not present on US-american keyboards)

; Fourth row

; KEY 30 is missing (not present on US-american keyboards)
KEY 31 ALONE "z" SHIFT "Z"
KEY 32 ALONE "x" SHIFT "X"
KEY 33 ALONE "c" SHIFT "C"
KEY 34 ALONE "v" SHIFT "V"
KEY 35 ALONE "b" SHIFT "B"
KEY 36 ALONE "n" SHIFT "N"
KEY 37 ALONE "m" SHIFT "M"
KEY 38 ALONE "," SHIFT "<"
KEY 39 ALONE "." SHIFT ">"
KEY 3A ALONE "/" SHIFT "?"

; Numeric pad first row

KEY 5A ALONE "("
KEY 5B ALONE ")"
KEY 5C ALONE "/"
KEY 5D ALONE "**"

; Numeric pad second row

KEY 3D ALONE "7"
KEY 3E ALONE "8"
KEY 3F ALONE "9"
KEY 4A ALONE "-"

; Numeric pad third row

KEY 2D ALONE "4"
KEY 2E ALONE "5"
KEY 2F ALONE "6"
KEY 5E ALONE "+"

; Numeric pad fourth row

KEY 1D ALONE "1"
KEY 1E ALONE "2"
KEY 1F ALONE "3"

; Numeric pad fifth row

KEY 0F ALONE "0"
KEY 3C ALONE "."
chris
Posts: 562
Joined: Sat Jun 18, 2011 11:05 am
Contact:

Re: Japanese KeyMap issues...

Post by chris »

Download AllKeys - you'll be able to press keys and see what the rawkey codes are (if supported)
Belxjander
Posts: 314
Joined: Mon May 14, 2012 10:26 pm
Location: 日本千葉県松戸市 / Matsudo City, Chiba, Japan
Contact:

Re: Japanese KeyMap issues...

Post by Belxjander »

chris wrote:Download AllKeys - you'll be able to press keys and see what the rawkey codes are (if supported)
Ive checked that out before... it seems to be some kind of modified Fkey clone from what I can tell... and has nothing I saw about printing raw key codes
chris
Posts: 562
Joined: Sat Jun 18, 2011 11:05 am
Contact:

Re: Japanese KeyMap issues...

Post by chris »

Belxjander wrote:
chris wrote:Download AllKeys - you'll be able to press keys and see what the rawkey codes are (if supported)
Ive checked that out before... it seems to be some kind of modified Fkey clone from what I can tell... and has nothing I saw about printing raw key codes
I'm not on it at the moment.. but you need to click something like "add" and then "learn"(?), you will get a little window pop up then which gives you the codes for the keys that are being pressed.
Belxjander
Posts: 314
Joined: Mon May 14, 2012 10:26 pm
Location: 日本千葉県松戸市 / Matsudo City, Chiba, Japan
Contact:

Re: Japanese KeyMap issues...

Post by Belxjander »

chris wrote:
Belxjander wrote:
chris wrote:Download AllKeys - you'll be able to press keys and see what the rawkey codes are (if supported)
Ive checked that out before... it seems to be some kind of modified Fkey clone from what I can tell... and has nothing I saw about printing raw key codes
I'm not on it at the moment.. but you need to click something like "add" and then "learn"(?), you will get a little window pop up then which gives you the codes for the keys that are being pressed.
well THAT is definitely useful to know... and a definitely hidden feature (not apparent without checking it out completely)
User avatar
nbache
Beta Tester
Beta Tester
Posts: 1714
Joined: Mon Dec 20, 2010 7:25 pm
Location: Copenhagen, Denmark
Contact:

Re: Japanese KeyMap issues...

Post by nbache »

Belxjander wrote:well THAT is definitely useful to know... and a definitely hidden feature (not apparent without checking it out completely)
The LEARN mode of AllKeys is described in the doc.

Best regards,

Niels
Belxjander
Posts: 314
Joined: Mon May 14, 2012 10:26 pm
Location: 日本千葉県松戸市 / Matsudo City, Chiba, Japan
Contact:

Re: Japanese KeyMap issues...

Post by Belxjander »

nbache wrote:
Belxjander wrote:well THAT is definitely useful to know... and a definitely hidden feature (not apparent without checking it out completely)
The LEARN mode of AllKeys is described in the doc.

Best regards,

Niels

Tried the learning mode and that also failed to present raw input events as well

However it did display *repeat* input events when one of the 4 missing keys were held

I will need those extra keys or some means of teaching input.device they exist
Post Reply