Index: gtk/gtk-im-uim.c =================================================================== --- gtk/gtk-im-uim.c (revision 360) +++ gtk/gtk-im-uim.c (working copy) @@ -169,18 +169,6 @@ case GDK_Home: return UKey_Home; case GDK_End: return UKey_End; case GDK_Zenkaku_Hankaku: return UKey_Zenkaku_Hankaku; - case GDK_F1: return UKey_F1; - case GDK_F2: return UKey_F2; - case GDK_F3: return UKey_F3; - case GDK_F4: return UKey_F4; - case GDK_F5: return UKey_F5; - case GDK_F6: return UKey_F6; - case GDK_F7: return UKey_F7; - case GDK_F8: return UKey_F8; - case GDK_F9: return UKey_F9; - case GDK_F10: return UKey_F10; - case GDK_F11: return UKey_F11; - case GDK_F12: return UKey_F12; case GDK_Multi_key: return UKey_Multi_key; case GDK_Mode_switch: return UKey_Mode_switch; case GDK_Henkan_Mode: return UKey_Henkan_Mode; @@ -195,6 +183,9 @@ case GDK_Meta_R: return UKey_Meta_key; } + if(key >= GDK_F1 && key <= GDK_F35) { + return key - GDK_F1 + UKey_F1; + } if(key >= GDK_KP_0 && key <= GDK_KP_9) { return key - GDK_KP_0 + UKey_0; } Index: uim/uim.h =================================================================== --- uim/uim.h (revision 360) +++ uim/uim.h (working copy) @@ -35,7 +35,11 @@ UKey_Next , /* page down */ UKey_Home, UKey_End, - UKey_Zenkaku_Hankaku, + UKey_Zenkaku_Hankaku, /* japanese keyboard */ + UKey_Multi_key, + UKey_Mode_switch, /* codepage switch */ + UKey_Henkan_Mode, /* japanese keyboard */ + UKey_Muhenkan, /* japanese keyboard */ UKey_F1, UKey_F2, UKey_F3, @@ -48,10 +52,60 @@ UKey_F10, UKey_F11, UKey_F12, - UKey_Multi_key, - UKey_Mode_switch, - UKey_Henkan_Mode, - UKey_Muhenkan, + UKey_F13, + UKey_F14, + UKey_F15, + UKey_F16, + UKey_F17, + UKey_F18, + UKey_F19, + UKey_F20, + UKey_F21, + UKey_F22, + UKey_F23, + UKey_F24, + UKey_F25, + UKey_F26, + UKey_F27, + UKey_F28, + UKey_F29, + UKey_F30, + UKey_F31, + UKey_F32, + UKey_F33, + UKey_F34, + UKey_F35, /* X, Gtk and Qt supports up to F35 */ + /* non-standard platform specific keys (e.g. Zaurus PDA) */ + UKey_F101, + UKey_F102, + UKey_F103, + UKey_F104, + UKey_F105, + UKey_F106, + UKey_F107, + UKey_F108, + UKey_F109, + UKey_F110, + UKey_F111, + UKey_F112, + UKey_F113, + UKey_F114, + UKey_F115, + UKey_F116, + UKey_F117, + UKey_F118, + UKey_F119, + UKey_F120, + UKey_F121, + UKey_F122, + UKey_F123, + UKey_F124, + UKey_F125, + UKey_F126, + UKey_F127, + UKey_F128, + UKey_F129, + UKey_F130, /* this part is especially unstable */ UKey_Shift_key, UKey_Control_key, Index: uim/uim-key.c =================================================================== --- uim/uim-key.c (revision 360) +++ uim/uim-key.c (working copy) @@ -19,6 +19,10 @@ {UKey_Home, "home"}, {UKey_End, "end"}, {UKey_Zenkaku_Hankaku, "zenkaku-hankaku"}, + {UKey_Multi_key, "Multi_key"}, + {UKey_Mode_switch, "Mode_switch"}, + {UKey_Henkan_Mode, "Henkan_Mode"}, + {UKey_Muhenkan, "Muhenkan"}, {UKey_F1, "F1"}, {UKey_F2, "F2"}, {UKey_F3, "F3"}, @@ -31,10 +35,59 @@ {UKey_F10, "F10"}, {UKey_F11, "F11"}, {UKey_F12, "F12"}, - {UKey_Multi_key, "Multi_key"}, - {UKey_Mode_switch, "Mode_switch"}, - {UKey_Henkan_Mode, "Henkan_Mode"}, - {UKey_Muhenkan, "Muhenkan"}, + {UKey_F13, "F13"}, + {UKey_F14, "F14"}, + {UKey_F15, "F15"}, + {UKey_F16, "F16"}, + {UKey_F17, "F17"}, + {UKey_F18, "F18"}, + {UKey_F19, "F19"}, + {UKey_F20, "F20"}, + {UKey_F21, "F21"}, + {UKey_F22, "F22"}, + {UKey_F23, "F23"}, + {UKey_F24, "F24"}, + {UKey_F25, "F25"}, + {UKey_F26, "F26"}, + {UKey_F27, "F27"}, + {UKey_F28, "F28"}, + {UKey_F29, "F29"}, + {UKey_F30, "F30"}, + {UKey_F31, "F31"}, + {UKey_F32, "F32"}, + {UKey_F33, "F33"}, + {UKey_F34, "F34"}, + {UKey_F35, "F35"}, + {UKey_F101, "F101"}, + {UKey_F102, "F102"}, + {UKey_F103, "F103"}, + {UKey_F104, "F104"}, + {UKey_F105, "F105"}, + {UKey_F106, "F106"}, + {UKey_F107, "F107"}, + {UKey_F108, "F108"}, + {UKey_F109, "F109"}, + {UKey_F110, "F110"}, + {UKey_F111, "F111"}, + {UKey_F112, "F112"}, + {UKey_F113, "F113"}, + {UKey_F114, "F114"}, + {UKey_F115, "F115"}, + {UKey_F116, "F116"}, + {UKey_F117, "F117"}, + {UKey_F118, "F118"}, + {UKey_F119, "F119"}, + {UKey_F120, "F120"}, + {UKey_F121, "F121"}, + {UKey_F122, "F122"}, + {UKey_F123, "F123"}, + {UKey_F124, "F124"}, + {UKey_F125, "F125"}, + {UKey_F126, "F126"}, + {UKey_F127, "F127"}, + {UKey_F128, "F128"}, + {UKey_F129, "F129"}, + {UKey_F130, "F130"}, {UKey_Shift_key, "Shift_key"}, {UKey_Alt_key, "Alt_key"}, {UKey_Control_key, "Control_key"},