diff --git a/areaplan.md b/areaplan.md
index 8c27b9c..2b7e2f7 100644
--- a/areaplan.md
+++ b/areaplan.md
@@ -728,6 +728,7 @@ type KeyArea struct {
 	// and AZERTY keyboards, not when pressing the key that would be
 	// A on QWERTY keyboards on all layouts).
 	// If this field is zero, see ExtKey.
+	// [TODO: how do we handle numlock and capslock?]
 	Rune			rune
 
 	// If Rune is zero, ExtKey contains a predeclared identifier
@@ -778,3 +779,206 @@ This just leaves the GTK+ geometry mapping: there is a way to do it if X11 is th
     [12:29] <ebassi> yes, you can assume that they are the same
 (irc.gimp.net/#gtk+) ok; that works too I guess
 let's go!
+
+### And finally... COMMON KEYS
+I meant Windows might be the biggest filter because it has a concrete list of virtual key codes but meh
+
+Windows | GDK | [Cocoa if known]
+----- | ----- | -----
+VK_LBUTTON (0x01) - Left mouse button
+VK_RBUTTON (0x02) - Right mouse button
+VK_CANCEL (0x03) - Control-break processing
+VK_MBUTTON (0x04) - Middle mouse button (three-button mouse)
+VK_XBUTTON1 (0x05) - X1 mouse button
+VK_XBUTTON2 (0x06) - X2 mouse button
+VK_BACK (0x08) - BACKSPACE key
+VK_TAB (0x09) - TAB key
+VK_CLEAR (0x0C) - CLEAR key
+VK_RETURN (0x0D) - ENTER key
+VK_SHIFT (0x10) - SHIFT key
+VK_CONTROL (0x11) - CTRL key
+VK_MENU (0x12) - ALT key
+VK_PAUSE (0x13) - PAUSE key
+VK_CAPITAL (0x14) - CAPS LOCK key
+VK_KANA/VK_HANGUEL/VK_HANGUL (0x15) - IME Kana mode/IME Hanguel mode (maintained for compatibility; use VK_HANGUL)/IME Hangul mode
+VK_JUNJA (0x17) - IME Junja mode
+VK_FINAL (0x18) - IME final mode
+VK_HANJA/VK_KANJI (0x19) - IME Hanja mode/IME Kanji mode
+VK_ESCAPE (0x1B) - ESC key
+VK_CONVERT (0x1C) - IME convert
+VK_NONCONVERT (0x1D) - IME nonconvert
+VK_ACCEPT (0x1E) - IME accept
+VK_MODECHANGE (0x1F) - IME mode change request
+VK_SPACE (0x20) - SPACEBAR
+VK_PRIOR (0x21) - PAGE UP key
+VK_NEXT (0x22) - PAGE DOWN key
+VK_END (0x23) - END key
+VK_HOME (0x24) - HOME key
+VK_LEFT (0x25) - LEFT ARROW key
+VK_UP (0x26) - UP ARROW key
+VK_RIGHT (0x27) - RIGHT ARROW key
+VK_DOWN (0x28) - DOWN ARROW key
+VK_SELECT (0x29) - SELECT key
+VK_PRINT (0x2A) - PRINT key
+VK_EXECUTE (0x2B) - EXECUTE key
+VK_SNAPSHOT (0x2C) - PRINT SCREEN key
+VK_INSERT (0x2D) - INS key
+VK_DELETE (0x2E) - DEL key
+VK_HELP (0x2F) - HELP key
+0x30 - 0 key
+0x31 - 1 key
+0x32 - 2 key
+0x33 - 3 key
+0x34 - 4 key
+0x35 - 5 key
+0x36 - 6 key
+0x37 - 7 key
+0x38 - 8 key
+0x39 - 9 key
+0x41 - A key
+0x42 - B key
+0x43 - C key
+0x44 - D key
+0x45 - E key
+0x46 - F key
+0x47 - G key
+0x48 - H key
+0x49 - I key
+0x4A - J key
+0x4B - K key
+0x4C - L key
+0x4D - M key
+0x4E - N key
+0x4F - O key
+0x50 - P key
+0x51 - Q key
+0x52 - R key
+0x53 - S key
+0x54 - T key
+0x55 - U key
+0x56 - V key
+0x57 - W key
+0x58 - X key
+0x59 - Y key
+0x5A - Z key
+VK_LWIN (0x5B) - Left Windows key (Natural keyboard)
+VK_RWIN (0x5C) - Right Windows key (Natural keyboard)
+VK_APPS (0x5D) - Applications key (Natural keyboard)
+VK_SLEEP (0x5F) - Computer Sleep key
+VK_NUMPAD0 (0x60) - Numeric keypad 0 key
+VK_NUMPAD1 (0x61) - Numeric keypad 1 key
+VK_NUMPAD2 (0x62) - Numeric keypad 2 key
+VK_NUMPAD3 (0x63) - Numeric keypad 3 key
+VK_NUMPAD4 (0x64) - Numeric keypad 4 key
+VK_NUMPAD5 (0x65) - Numeric keypad 5 key
+VK_NUMPAD6 (0x66) - Numeric keypad 6 key
+VK_NUMPAD7 (0x67) - Numeric keypad 7 key
+VK_NUMPAD8 (0x68) - Numeric keypad 8 key
+VK_NUMPAD9 (0x69) - Numeric keypad 9 key
+VK_MULTIPLY (0x6A) - Multiply key
+VK_ADD (0x6B) - Add key
+VK_SEPARATOR (0x6C) - Separator key
+VK_SUBTRACT (0x6D) - Subtract key
+VK_DECIMAL (0x6E) - Decimal key
+VK_DIVIDE (0x6F) - Divide key
+VK_F1 (0x70) - F1 key
+VK_F2 (0x71) - F2 key
+VK_F3 (0x72) - F3 key
+VK_F4 (0x73) - F4 key
+VK_F5 (0x74) - F5 key
+VK_F6 (0x75) - F6 key
+VK_F7 (0x76) - F7 key
+VK_F8 (0x77) - F8 key
+VK_F9 (0x78) - F9 key
+VK_F10 (0x79) - F10 key
+VK_F11 (0x7A) - F11 key
+VK_F12 (0x7B) - F12 key
+VK_F13 (0x7C) - F13 key
+VK_F14 (0x7D) - F14 key
+VK_F15 (0x7E) - F15 key
+VK_F16 (0x7F) - F16 key
+VK_F17 (0x80) - F17 key
+VK_F18 (0x81) - F18 key
+VK_F19 (0x82) - F19 key
+VK_F20 (0x83) - F20 key
+VK_F21 (0x84) - F21 key
+VK_F22 (0x85) - F22 key
+VK_F23 (0x86) - F23 key
+VK_F24 (0x87) - F24 key
+VK_NUMLOCK (0x90) - NUM LOCK key
+VK_SCROLL (0x91) - SCROLL LOCK key
+0x92 - OEM specific
+0x93 - OEM specific
+0x94 - OEM specific
+0x95 - OEM specific
+0x96 - OEM specific
+VK_LSHIFT (0xA0) - Left SHIFT key
+VK_RSHIFT (0xA1) - Right SHIFT key
+VK_LCONTROL (0xA2) - Left CONTROL key
+VK_RCONTROL (0xA3) - Right CONTROL key
+VK_LMENU (0xA4) - Left MENU key
+VK_RMENU (0xA5) - Right MENU key
+VK_BROWSER_BACK (0xA6) - Browser Back key
+VK_BROWSER_FORWARD (0xA7) - Browser Forward key
+VK_BROWSER_REFRESH (0xA8) - Browser Refresh key
+VK_BROWSER_STOP (0xA9) - Browser Stop key
+VK_BROWSER_SEARCH (0xAA) - Browser Search key
+VK_BROWSER_FAVORITES (0xAB) - Browser Favorites key
+VK_BROWSER_HOME (0xAC) - Browser Start and Home key
+VK_VOLUME_MUTE (0xAD) - Volume Mute key
+VK_VOLUME_DOWN (0xAE) - Volume Down key
+VK_VOLUME_UP (0xAF) - Volume Up key
+VK_MEDIA_NEXT_TRACK (0xB0) - Next Track key
+VK_MEDIA_PREV_TRACK (0xB1) - Previous Track key
+VK_MEDIA_STOP (0xB2) - Stop Media key
+VK_MEDIA_PLAY_PAUSE (0xB3) - Play/Pause Media key
+VK_LAUNCH_MAIL (0xB4) - Start Mail key
+VK_LAUNCH_MEDIA_SELECT (0xB5) - Select Media key
+VK_LAUNCH_APP1 (0xB6) - Start Application 1 key
+VK_LAUNCH_APP2 (0xB7) - Start Application 2 key
+VK_OEM_1 (0xBA) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ';:' key
+VK_OEM_PLUS (0xBB) - For any country/region, the '+' key
+VK_OEM_COMMA (0xBC) - For any country/region, the ',' key
+VK_OEM_MINUS (0xBD) - For any country/region, the '-' key
+VK_OEM_PERIOD (0xBE) - For any country/region, the '.' key
+VK_OEM_2 (0xBF) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '/?' key
+VK_OEM_3 (0xC0) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '`~' key
+VK_OEM_4 (0xDB) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '[{' key
+VK_OEM_5 (0xDC) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the '\|' key
+VK_OEM_6 (0xDD) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the ']}' key
+VK_OEM_7 (0xDE) - Used for miscellaneous characters; it can vary by keyboard. For the US standard keyboard, the 'single-quote/double-quote' key
+VK_OEM_8 (0xDF) - Used for miscellaneous characters; it can vary by keyboard.
+0xE1 - OEM specific
+VK_OEM_102 (0xE2) - Either the angle bracket key or the backslash key on the RT 102-key keyboard
+0xE3 - OEM specific
+0xE4 - OEM specific
+VK_PROCESSKEY (0xE5) - IME PROCESS key
+0xE6 - OEM specific
+VK_PACKET (0xE7) - Used to pass Unicode characters as if they were keystrokes. The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP
+0xE9 - OEM specific
+0xEA - OEM specific
+0xEB - OEM specific
+0xEC - OEM specific
+0xED - OEM specific
+0xEE - OEM specific
+0xEF - OEM specific
+0xF0 - OEM specific
+0xF1 - OEM specific
+0xF2 - OEM specific
+0xF3 - OEM specific
+0xF4 - OEM specific
+0xF5 - OEM specific
+VK_ATTN (0xF6) - Attn key
+VK_CRSEL (0xF7) - CrSel key
+VK_EXSEL (0xF8) - ExSel key
+VK_EREOF (0xF9) - Erase EOF key
+VK_PLAY (0xFA) - Play key
+VK_ZOOM (0xFB) - Zoom key
+VK_NONAME (0xFC) - Reserved
+VK_PA1 (0xFD) - PA1 key
+VK_OEM_CLEAR (0xFE) - Clear key
+
+Windows keys that will not be handled:
+```
+(TODO)
+```