[G2 and Desire Z Android Development] Barret7sc:
So, using a slightly modified version of this tool: https://github.com/asedeno/unkcm (Python script to decompile the kcm files)

I was able to decompile the .kcm.bin files included with this mod.

The UNKNOWN97, UNKNOWN98,UNKNOWN99, and UNKNOWN105 are unknown to me.

I can be certain that the UNKNOWN105 identifier is the ?/" key.

This data can be used with the kcm utility to generate a .kcm.bin file with changes.

Here is the original kcm file

[type=QWERTY]
# keycode Display Number Base Shift Alt Shift+Alt
0 '0' '0' '0' '0' '0' '0'
1 '1' '1' '1' '1' '1' '1'
2 '2' '2' '2' '2' '2' '2'
3 '3' '3' '3' '3' '3' '3'
4 '4' '4' '4' '4' '4' '4'
5 '5' '5' '5' '5' '5' '5'
6 '6' '6' '6' '6' '6' '6'
7 '7' '7' '7' '7' '7' '7'
8 '8' '8' '8' '8' '8' '8'
9 '9' '9' '9' '9' '9' '9'
STAR '*' '*' '*' '*' '*' '*'
POUND '#' '#' '#' '#' '#' '#'
A 'A' '2' 'a' 'A' '!' '!'
B 'B' '2' 'b' 'B' '+' '+'
C 'C' '2' 'c' 'C' '_' '_'
D 'D' '3' 'd' 'D' '$' '$'
E 'E' '3' 'e' 'E' '3' '3'
F 'F' '3' 'f' 'F' '%' '%'
G 'G' '4' 'g' 'G' '&' '&'
H 'H' '4' 'h' 'H' '*' '*'
I 'I' '4' 'i' 'I' '8' '8'
J 'J' '5' 'j' 'J' '(' '('
K 'K' '5' 'k' 'K' ')' ')'
L 'L' '5' 'l' 'L' '/' '/'
M 'M' '6' 'm' 'M' ''' '''
N 'N' '6' 'n' 'N' '=' '='
O 'O' '6' 'o' 'O' '9' '9'
P 'P' '7' 'p' 'P' '0' '0'
Q 'Q' '7' 'q' 'Q' '1' '1'
R 'R' '7' 'r' 'R' '4' '4'
S 'S' '7' 's' 'S' '#' '#'
T 'T' '8' 't' 'T' '5' '5'
U 'U' '8' 'u' 'U' '7' '7'
V 'V' '8' 'v' 'V' '-' '-'
W 'W' '9' 'w' 'W' '2' '2'
X 'X' '9' 'x' 'X' 0x20AC 0x20AC
Y 'Y' '9' 'y' 'Y' '6' '6'
Z 'Z' '9' 'z' 'Z' 0x9 0x9
COMMA ',' 0x0 ',' ',' ';' ';'
PERIOD '.' 0x0 '.' '.' ':' ':'
TAB 0x9 0x9 0x9 0x9 0x9 0x9
SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
ENTER 0xA 0xA 0xA 0xA 0xA 0xA
GRAVE '`' '`' '`' '~' '`' '~'
MINUS '-' '-' '-' '_' '-' '_'
EQUALS '=' '=' '=' '+' '=' '+'
LEFT_BRACKET '[' '[' '[' '{' '[' '{'
RIGHT_BRACKET ']' ']' ']' '}' ']' '}'
BACKSLASH '\' '\' '\' '|' '\' '|'
SEMICOLON ';' ';' ';' ':' ';' ':'
APOSTROPHE ''' ''' ''' '"' ''' '"'
SLASH '/' '/' '/' '?' '?' '\'
AT '@' 0x0 '@' '@' '~' '~'
PLUS '+' '+' '+' '+' '+' '+'
UNKNOWN97 0xEF02 0xEF02 0xEF02 0xEF02 0xEF02 0xEF02
UNKNOWN98 0xEF01 0xEF01 0xEF01 0xEF01 0xEF01 0xEF01
UNKNOWN99 0xEF03 0xEF03 0xEF03 0xEF03 0xEF04 0xEF04
UNKNOWN105 '?' 0x0 '?' '?' '"' '"'

And the modified one

[type=QWERTY]
# keycode Display Number Base Shift Alt Shift+Alt
0 '0' '0' '0' '0' '0' '0'
1 '1' '1' '1' '1' '1' '1'
2 '2' '2' '2' '2' '2' '2'
3 '3' '3' '3' '3' '3' '3'
4 '4' '4' '4' '4' '4' '4'
5 '5' '5' '5' '5' '5' '5'
6 '6' '6' '6' '6' '6' '6'
7 '7' '7' '7' '7' '7' '7'
8 '8' '8' '8' '8' '8' '8'
9 '9' '9' '9' '9' '9' '9'
STAR '*' '*' '*' '*' '*' '*'
POUND '#' '#' '#' '#' '#' '#'
A 'A' '2' 'a' 'A' '!' '!'
B 'B' '2' 'b' 'B' '+' '+'
C 'C' '2' 'c' 'C' '_' '_'
D 'D' '3' 'd' 'D' '$' '$'
E 'E' '3' 'e' 'E' '3' '3'
F 'F' '3' 'f' 'F' '%' '%'
G 'G' '4' 'g' 'G' '&' '&'
H 'H' '4' 'h' 'H' '*' '*'
I 'I' '4' 'i' 'I' '8' '8'
J 'J' '5' 'j' 'J' '(' '('
K 'K' '5' 'k' 'K' ')' ')'
L 'L' '5' 'l' 'L' '/' '/'
M 'M' '6' 'm' 'M' ''' '''
N 'N' '6' 'n' 'N' '=' '='
O 'O' '6' 'o' 'O' '9' '9'
P 'P' '7' 'p' 'P' '0' '0'
Q 'Q' '7' 'q' 'Q' '1' '1'
R 'R' '7' 'r' 'R' '4' '4'
S 'S' '7' 's' 'S' '#' '#'
T 'T' '8' 't' 'T' '5' '5'
U 'U' '8' 'u' 'U' '7' '7'
V 'V' '8' 'v' 'V' '-' '-'
W 'W' '9' 'w' 'W' '2' '2'
X 'X' '9' 'x' 'X' 0x20AC 0x20AC
Y 'Y' '9' 'y' 'Y' '6' '6'
Z 'Z' '9' 'z' 'Z' 0x9 0x9
COMMA ',' 0x0 ',' ',' ';' ';'
PERIOD '.' 0x0 '.' '.' ':' ':'
TAB 0x9 0x9 0x9 0x9 0x9 0x9
SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
ENTER 0xA 0xA 0xA 0xA 0xA 0xA
GRAVE '`' '`' '`' '~' '`' '~'
MINUS '-' '-' '-' '_' '-' '_'
EQUALS '=' '=' '=' '+' '=' '+'
LEFT_BRACKET '[' '[' '<' '>' '[' '{'
RIGHT_BRACKET ']' ']' ']' '}' ']' '}'
BACKSLASH '\' '\' '\' '|' '\' '|'
SEMICOLON ';' ';' ';' ':' ';' ':'
APOSTROPHE ''' ''' ''' '"' ''' '"'
SLASH '/' '/' '/' '?' '?' '\'
AT '@' 0x0 '@' '@' '~' '~'
PLUS '+' '+' '+' '+' '+' '+'
UNKNOWN97 0xEF02 0xEF02 0xEF02 0xEF02 0xEF02 0xEF02
UNKNOWN98 0xEF01 0xEF01 0xEF01 0xEF01 0xEF01 0xEF01
UNKNOWN99 0xEF03 0xEF03 0xEF03 0xEF03 0xEF04 0xEF04
UNKNOWN105 '?' 0x0 '?' '?' '"' '"'