$ plutil -p ~/Downloads/org.jpn.lacaille.Lacaille.plist
:
{
"bsemu" => 0
"enabled" => 1
"escemu" => 0
"firstIgnoredSingleThumbL" => 1
"layout" => [
0 => {
"ASCII - No shift" => <00ffff>
"ASCII - With outer shift" => <3800ff>
"No shift" => <20ffff>
"With left shift" => <0d1fff>
"With modifier key" => <00ffff>
"With outer shift" => <3800ff>
"With right shift" => <0920ff>
}
...
plistlib --- Mac OS X .plist file generation and parsing - Python 3.8.1 documentation :
{'NSStatusItem Preferred Position Item-0': 450.0,
'layout': [{'With outer shift': b'8\x00\xff',
'With right shift': b'\t \xff',
'No shift': b' \xff\xff',
'ASCII - With outer shift': b'8\x00\xff',
'ASCII - No shift': b'\x00\xff\xff',
'With left shift': b'\r\x1f\xff',
'With modifier key': b'\x00\xff\xff'},
c
static NSString* keymap[0x80] = {
@"a", @"s", @"d", @"f", @"h", @"g", @"z", @"x",
@"c", @"v", @"[Section]", @"b", @"q", @"w", @"e", @"r",
@"y", @"t", @"1", @"2", @"3", @"4", @"6", @"5",
@"^"/* = */, @"9", @"7", @"-", @"8", @"0", @"["/* ] */, @"o",
@"u", @"@"/* [ */, @"i", @"p", @"↩", @"l", @"j", @":"/* ' */,
@"k", @";", @"]"/* \ */, @",", @"/", @"n", @"m", @".",
@"⇥", @"␣", @"`", @"⌫", @"⌤"/* no def */, @"⎋", @"[R⌘]", @"⌘",
@"⇧", @"⇪", @"⌥", @"⌃", @"[R⇧]", @"[R⌥]", @"[R⌃]", @"[fn]",
@"[F17]", @"[K.]", @"<42>", @"[K*]", @"<44>", @"[K+]", @"<46>", @"⌧"/* Keypad */,
@"[VolumeUp]", @"[VolumeDown]", @"[Mute]", @"[K/]", @"[K⌤]", @"<4d>", @"[K-]", @"[F18]",
@"[F19]", @"[K=]", @"[K0]", @"[K1]", @"[K2]", @"[K3]", @"[K4]", @"[K5]",
@"[K6]", @"[K7]", @"[F20]", @"[K8]", @"[K9]", @"¥", @"_", @"[K,]",
@"[F5]", @"[F6]", @"[F7]", @"[F3]", @"[F8]", @"[F9]", @"[Eisu]", @"[F11]",
@"[Kana]", @"[F13]", @"[F16]", @"[F14]", @"<6c>", @"[F10]", @"<6e>", @"[F12]",
@"<70>", @"[F15]", @"[Help]", @"↖", @"⇞", @"⌦", @"[F4]", @"↘",
@"[F2]", @"⇟", @"[F1]", @"←", @"→", @"↓", @"↑", @"<7f>",
};
- layout:0 = keycode:0 = keymap “a”
"No shift" => <20ffff>
- 0x20 = 32 = keymap “u”
"With right shift" => <0920ff>
: vu"With left shift" => <0d1fff>
: wo
- layout:48=@”¥”
- layout:49=@”_”
- see keycode
I was able to decipher the format, so it looks like I can spit out Lacaille data directly from keylayout.
This page is auto-translated from /nishio/Lacailleのplistを解読 using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I’m very happy to spread my thought to non-Japanese readers.