The [underdocumented] world of the Korean keyboard layout

Sorting it all Out
Michael Kaplan's random stuff of dubious value
Be sure to read the disclaimer here first!

The [underdocumented] world of the Korean keyboard layout

  • Comments 3

The Korean keyboard layout has several diferent flavors, all of which get molded into the one big "kbdkor.dll" file that contains four different regular keyboard DLLs.

You might be curious what those four Korean layouts are:

  • kbd101a (Type A)
  • kbd101b (Type B)
  • kbd101c (Type C)
  • kbd103

Note that none of these four are documented keybord subtypes for GetKeyboardType. And note that 106 isn't on the list (the Korean 106 is exacyly captured by the Korean 103).

There is a reason for all of that....

Because unlike the Japanese "kbdjpn.dll" keyboard, it is not so much hardware incompatibility that drives the differences, it is how the 101 keyboards handle the two missing keys (when they are missing).

The four different layouts (this is information from the actual source; it seems to be docmented nowhere!):

kbd101a:

  • Hanguel Toggle: Right Alt
  • Junja Toggle  : Left Alt + '='
  • Hanja Toggle  : Right Ctrl

kbd101b:

  • Hanguel Toggle: Right Ctrl
  • Junja Toggle  : Left Alt + '='
  • Hanja Toggle  : Right Alt

kbd101c:

  • Hanguel Toggle: Shift + ' '
  • Junja Toggle  : Left Alt + '='
  • Hanja Toggle  : Control + ' '

kbd103:

  • Hanguel Toggle: Hanguel key
  • Junja Toggle  : Left Alt + '='
  • Hanja Toggle  : Hanja key 

Now of course there isn't much documentation on these differences.

Though how to detect them can be found, in the Microsoft Knowledge Base (927824: Windows may not use the correct keyboard layout when you connect a USB keyboard to the computer), which has the following info listed:

English and Korean keyboard registry entries

English US 101/102-key keyboard

The following table illustrates the

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

registry entries for an English US 101/102 key USB keyboard.

Value nameValue typeValue data
LayerDriver JPN REG_SZ kbd101.dll
OverrideKeyboardIdentifier REG_SZ PCAT_101KEY
OverrideKeyboardSubtype DWORD 0
OverrideKeyboardType DWORD 7

Korean 101-key Type 1 USB keyboard

The following table illustrates the

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

registry entries for a Korean 101-key Type 1 USB keyboard.

Value nameValue typeValue data
LayerDriver KOR REG_SZ kbd101a.dll
OverrideKeyboardIdentifier REG_SZ PCAT_101AKEY
OverrideKeyboardSubtype DWORD 3
OverrideKeyboardType DWORD 8

Korean 101-key Type 2 USB keyboard

The following table illustrates the

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

registry entries for a Korean 101-key Type 2 USB keyboard.

Value nameValue typeValue data
LayerDriver KOR REG_SZ kbd101b.dll
OverrideKeyboardIdentifier REG_SZ PCAT_101BKEY
OverrideKeyboardSubtype DWORD 4
OverrideKeyboardType DWORD 8

Korean 101-key Type 3 USB keyboard

The following table illustrates the

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

registry entries for a Korean 101-key Type 3 USB keyboard.

Collapse this tableExpand this table
Value nameValue typeValue data
LayerDriver KOR REG_SZ kbd101c.dll
OverrideKeyboardIdentifier REG_SZ PCAT_101CKEY
OverrideKeyboardSubtype DWORD 5
OverrideKeyboardType DWORD 8

Korean 103/106-key USB keyboard

The following table illustrates the

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters

registry entries for a Korean 103/106-key USB keyboard.

Value nameValue typeValue data
LayerDriver KOR REG_SZ kbd103.dll
OverrideKeyboardIdentifier REG_SZ PCAT_103KEY
OverrideKeyboardSubtype DWORD 6
OverrideKeyboardType DWORD 8

 Now one very reasonable question one may expect to have here is perfectly obvious.

WHY?

As in....

Why go through all of these tortuous levels of complication at all?

I have no idea, though I suspect it is compatibility with various other layouts, and giving OEMs a way to support it.

But in any case, Korean keyboard problems are much easier to grok than the Japanese ones. And at least now much of this info is documented somewhere!

Comment on the blather
Leave a Comment
  • Please add 2 and 5 and type the answer here:
  • Post
Blog - Comment List
  • Is it really misspelled "Hanguel" in the source?

  • Yes it is, in fact... :-)

  • It wasn't too long go (in The [underdocumented] world of the Korean keyboard layout ) where I talked

Page 1 of 1 (3 items)