[uim-commit] r841 - trunk/fep
yamamoto at freedesktop.org
yamamoto at freedesktop.org
Sun May 15 21:47:19 PDT 2005
Author: yamamoto
Date: 2005-05-15 21:47:15 -0700 (Sun, 15 May 2005)
New Revision: 841
Modified:
trunk/fep/README.key
trunk/fep/key.c
trunk/fep/uim-fep.c
Log:
* fep/{uim-fep.c,key.c}: handle 8bit characters
Modified: trunk/fep/README.key
===================================================================
--- trunk/fep/README.key 2005-05-15 06:15:51 UTC (rev 840)
+++ trunk/fep/README.key 2005-05-16 04:47:15 UTC (rev 841)
@@ -164,162 +164,432 @@
Alt + ascii character
-Alt + Ctrl + space "<Alt><Control> "
-Alt + Ctrl + a "<Alt><Control>a"
-Alt + Ctrl + b "<Alt><Control>b"
-Alt + Ctrl + c "<Alt><Control>c"
-Alt + Ctrl + d "<Alt><Control>d"
-Alt + Ctrl + e "<Alt><Control>e"
-Alt + Ctrl + f "<Alt><Control>f"
-Alt + Ctrl + g "<Alt><Control>g"
-Alt + Ctrl + h "<Alt>backspace"
-Alt + Ctrl + i "<Alt>tab"
-Alt + Ctrl + j "<Alt><Control>j"
-Alt + Ctrl + k "<Alt><Control>k"
-Alt + Ctrl + l "<Alt><Control>l"
-Alt + Ctrl + m "<Alt>return"
-Alt + Ctrl + n "<Alt><Control>n"
-Alt + Ctrl + o "<Alt><Control>o"
-Alt + Ctrl + p "<Alt><Control>p"
-Alt + Ctrl + q "<Alt><Control>q"
-Alt + Ctrl + r "<Alt><Control>r"
-Alt + Ctrl + s "<Alt><Control>s"
-Alt + Ctrl + t "<Alt><Control>t"
-Alt + Ctrl + u "<Alt><Control>u"
-Alt + Ctrl + v "<Alt><Control>v"
-Alt + Ctrl + w "<Alt><Control>w"
-Alt + Ctrl + x "<Alt><Control>x"
-Alt + Ctrl + y "<Alt><Control>y"
-Alt + Ctrl + z "<Alt><Control>z"
-Alt + Ctrl + [ "<Alt>escape"
-Alt + Ctrl + \ "<Alt><Control>\\"
-Alt + Ctrl + ] "<Alt><Control>]"
-Alt + Ctrl + ^ "<Alt><Control>^"
-Alt + Ctrl + _ "<Alt><Control>_"
-Alt + space "<Alt> "
-Alt + ! "<Alt>!"
-Alt + " "<Alt>\""
-Alt + # "<Alt>#"
-Alt + $ "<Alt>$"
-Alt + % "<Alt>%"
-Alt + & "<Alt>&"
-Alt + ' "<Alt>'"
-Alt + ( "<Alt>("
-Alt + ) "<Alt>)"
-Alt + * "<Alt>*"
-Alt + + "<Alt>+"
-Alt + , "<Alt>,"
-Alt + - "<Alt>-"
-Alt + . "<Alt>."
-Alt + / "<Alt>/"
-Alt + 0 "<Alt>0"
-Alt + 1 "<Alt>1"
-Alt + 2 "<Alt>2"
-Alt + 3 "<Alt>3"
-Alt + 4 "<Alt>4"
-Alt + 5 "<Alt>5"
-Alt + 6 "<Alt>6"
-Alt + 7 "<Alt>7"
-Alt + 8 "<Alt>8"
-Alt + 9 "<Alt>9"
-Alt + : "<Alt>:"
-Alt + ; "<Alt>;"
-Alt + < "<Alt><"
-Alt + = "<Alt>="
-Alt + > "<Alt>>"
-Alt + ? "<Alt>?"
-Alt + @ "<Alt>@"
-Alt + A "<Alt>A"
-Alt + B "<Alt>B"
-Alt + C "<Alt>C"
-Alt + D "<Alt>D"
-Alt + E "<Alt>E"
-Alt + F "<Alt>F"
-Alt + G "<Alt>G"
-Alt + H "<Alt>H"
-Alt + I "<Alt>I"
-Alt + J "<Alt>J"
-Alt + K "<Alt>K"
-Alt + L "<Alt>L"
-Alt + M "<Alt>M"
-Alt + N "<Alt>N"
-Alt + O "<Alt>O"
-Alt + P "<Alt>P"
-Alt + Q "<Alt>Q"
-Alt + R "<Alt>R"
-Alt + S "<Alt>S"
-Alt + T "<Alt>T"
-Alt + U "<Alt>U"
-Alt + V "<Alt>V"
-Alt + W "<Alt>W"
-Alt + X "<Alt>X"
-Alt + Y "<Alt>Y"
-Alt + Z "<Alt>Z"
-Alt + [ "<Alt>["
-Alt + \ "<Alt>\\"
-Alt + ] "<Alt>]"
-Alt + ^ "<Alt>^"
-Alt + _ "<Alt>_"
-Alt + ` "<Alt>`"
-Alt + a "<Alt>a"
-Alt + b "<Alt>b"
-Alt + c "<Alt>c"
-Alt + d "<Alt>d"
-Alt + e "<Alt>e"
-Alt + f "<Alt>f"
-Alt + g "<Alt>g"
-Alt + h "<Alt>h"
-Alt + i "<Alt>i"
-Alt + j "<Alt>j"
-Alt + k "<Alt>k"
-Alt + l "<Alt>l"
-Alt + m "<Alt>m"
-Alt + n "<Alt>n"
-Alt + o "<Alt>o"
-Alt + p "<Alt>p"
-Alt + q "<Alt>q"
-Alt + r "<Alt>r"
-Alt + s "<Alt>s"
-Alt + t "<Alt>t"
-Alt + u "<Alt>u"
-Alt + v "<Alt>v"
-Alt + w "<Alt>w"
-Alt + x "<Alt>x"
-Alt + y "<Alt>y"
-Alt + z "<Alt>z"
-Alt + { "<Alt>{"
-Alt + | "<Alt>|"
-Alt + } "<Alt>}"
-Alt + ~ "<Alt>~"
-Alt + DEL "<Alt>delete"
+Esc + Ctrl + space "<Alt><Control> "
+Esc + Ctrl + a "<Alt><Control>a"
+Esc + Ctrl + b "<Alt><Control>b"
+Esc + Ctrl + c "<Alt><Control>c"
+Esc + Ctrl + d "<Alt><Control>d"
+Esc + Ctrl + e "<Alt><Control>e"
+Esc + Ctrl + f "<Alt><Control>f"
+Esc + Ctrl + g "<Alt><Control>g"
+Esc + Ctrl + h "<Alt>backspace"
+Esc + Ctrl + i "<Alt>tab"
+Esc + Ctrl + j "<Alt><Control>j"
+Esc + Ctrl + k "<Alt><Control>k"
+Esc + Ctrl + l "<Alt><Control>l"
+Esc + Ctrl + m "<Alt>return"
+Esc + Ctrl + n "<Alt><Control>n"
+Esc + Ctrl + o "<Alt><Control>o"
+Esc + Ctrl + p "<Alt><Control>p"
+Esc + Ctrl + q "<Alt><Control>q"
+Esc + Ctrl + r "<Alt><Control>r"
+Esc + Ctrl + s "<Alt><Control>s"
+Esc + Ctrl + t "<Alt><Control>t"
+Esc + Ctrl + u "<Alt><Control>u"
+Esc + Ctrl + v "<Alt><Control>v"
+Esc + Ctrl + w "<Alt><Control>w"
+Esc + Ctrl + x "<Alt><Control>x"
+Esc + Ctrl + y "<Alt><Control>y"
+Esc + Ctrl + z "<Alt><Control>z"
+Esc + Ctrl + [ "<Alt>escape"
+Esc + Ctrl + \ "<Alt><Control>\\"
+Esc + Ctrl + ] "<Alt><Control>]"
+Esc + Ctrl + ^ "<Alt><Control>^"
+Esc + Ctrl + _ "<Alt><Control>_"
+Esc + space "<Alt> "
+Esc + ! "<Alt>!"
+Esc + " "<Alt>\""
+Esc + # "<Alt>#"
+Esc + $ "<Alt>$"
+Esc + % "<Alt>%"
+Esc + & "<Alt>&"
+Esc + ' "<Alt>'"
+Esc + ( "<Alt>("
+Esc + ) "<Alt>)"
+Esc + * "<Alt>*"
+Esc + + "<Alt>+"
+Esc + , "<Alt>,"
+Esc + - "<Alt>-"
+Esc + . "<Alt>."
+Esc + / "<Alt>/"
+Esc + 0 "<Alt>0"
+Esc + 1 "<Alt>1"
+Esc + 2 "<Alt>2"
+Esc + 3 "<Alt>3"
+Esc + 4 "<Alt>4"
+Esc + 5 "<Alt>5"
+Esc + 6 "<Alt>6"
+Esc + 7 "<Alt>7"
+Esc + 8 "<Alt>8"
+Esc + 9 "<Alt>9"
+Esc + : "<Alt>:"
+Esc + ; "<Alt>;"
+Esc + < "<Alt><"
+Esc + = "<Alt>="
+Esc + > "<Alt>>"
+Esc + ? "<Alt>?"
+Esc + @ "<Alt>@"
+Esc + A "<Alt>A"
+Esc + B "<Alt>B"
+Esc + C "<Alt>C"
+Esc + D "<Alt>D"
+Esc + E "<Alt>E"
+Esc + F "<Alt>F"
+Esc + G "<Alt>G"
+Esc + H "<Alt>H"
+Esc + I "<Alt>I"
+Esc + J "<Alt>J"
+Esc + K "<Alt>K"
+Esc + L "<Alt>L"
+Esc + M "<Alt>M"
+Esc + N "<Alt>N"
+Esc + O "<Alt>O"
+Esc + P "<Alt>P"
+Esc + Q "<Alt>Q"
+Esc + R "<Alt>R"
+Esc + S "<Alt>S"
+Esc + T "<Alt>T"
+Esc + U "<Alt>U"
+Esc + V "<Alt>V"
+Esc + W "<Alt>W"
+Esc + X "<Alt>X"
+Esc + Y "<Alt>Y"
+Esc + Z "<Alt>Z"
+Esc + [ "<Alt>["
+Esc + \ "<Alt>\\"
+Esc + ] "<Alt>]"
+Esc + ^ "<Alt>^"
+Esc + _ "<Alt>_"
+Esc + ` "<Alt>`"
+Esc + a "<Alt>a"
+Esc + b "<Alt>b"
+Esc + c "<Alt>c"
+Esc + d "<Alt>d"
+Esc + e "<Alt>e"
+Esc + f "<Alt>f"
+Esc + g "<Alt>g"
+Esc + h "<Alt>h"
+Esc + i "<Alt>i"
+Esc + j "<Alt>j"
+Esc + k "<Alt>k"
+Esc + l "<Alt>l"
+Esc + m "<Alt>m"
+Esc + n "<Alt>n"
+Esc + o "<Alt>o"
+Esc + p "<Alt>p"
+Esc + q "<Alt>q"
+Esc + r "<Alt>r"
+Esc + s "<Alt>s"
+Esc + t "<Alt>t"
+Esc + u "<Alt>u"
+Esc + v "<Alt>v"
+Esc + w "<Alt>w"
+Esc + x "<Alt>x"
+Esc + y "<Alt>y"
+Esc + z "<Alt>z"
+Esc + { "<Alt>{"
+Esc + | "<Alt>|"
+Esc + } "<Alt>}"
+Esc + ~ "<Alt>~"
+Esc + DEL "<Alt>delete"
Alt + special key
-Alt + enter "<Alt>return"
-Alt + tab "<Alt>tab"
-Alt + backspace "<Alt>backspace"
-Alt + escape "<Alt>escape"
-Alt + delete "<Alt>delete"
-Alt + home "<Alt>home"
-Alt + end "<Alt>end"
-Alt + page up "<Alt>prior"
-Alt + page down "<Alt>next"
-Alt + insert "<Alt>insert"
-Alt + up "<Alt>up"
-Alt + down "<Alt>down"
-Alt + left "<Alt>left"
-Alt + right "<Alt>right"
-Alt + F1 "<Alt>F1"
-Alt + F2 "<Alt>F2"
-Alt + F3 "<Alt>F3"
-Alt + F4 "<Alt>F4"
-Alt + F5 "<Alt>F5"
-Alt + F6 "<Alt>F6"
-Alt + F7 "<Alt>F7"
-Alt + F8 "<Alt>F8"
-Alt + F9 "<Alt>F9"
-Alt + F10 "<Alt>F10"
-Alt + F11 "<Alt>F11"
-Alt + F12 "<Alt>F12"
+Esc + enter "<Alt>return"
+Esc + tab "<Alt>tab"
+Esc + backspace "<Alt>backspace"
+Esc + escape "<Alt>escape"
+Esc + delete "<Alt>delete"
+Esc + home "<Alt>home"
+Esc + end "<Alt>end"
+Esc + page up "<Alt>prior"
+Esc + page down "<Alt>next"
+Esc + insert "<Alt>insert"
+Esc + up "<Alt>up"
+Esc + down "<Alt>down"
+Esc + left "<Alt>left"
+Esc + right "<Alt>right"
+Esc + F1 "<Alt>F1"
+Esc + F2 "<Alt>F2"
+Esc + F3 "<Alt>F3"
+Esc + F4 "<Alt>F4"
+Esc + F5 "<Alt>F5"
+Esc + F6 "<Alt>F6"
+Esc + F7 "<Alt>F7"
+Esc + F8 "<Alt>F8"
+Esc + F9 "<Alt>F9"
+Esc + F10 "<Alt>F10"
+Esc + F11 "<Alt>F11"
+Esc + F12 "<Alt>F12"
+
+
+
+8bit character
+
+Oct Hex
+
+128 0x80 "<Meta><Control> "
+129 0x81 "<Meta><Control>a"
+130 0x82 "<Meta><Control>b"
+131 0x83 "<Meta><Control>c"
+132 0x84 "<Meta><Control>d"
+133 0x85 "<Meta><Control>e"
+134 0x86 "<Meta><Control>f"
+135 0x87 "<Meta><Control>g"
+136 0x88 "<Meta>backspace"
+137 0x89 "<Meta>tab"
+138 0x8a "<Meta><Control>j"
+139 0x8b "<Meta><Control>k"
+140 0x8c "<Meta><Control>l"
+141 0x8d "<Meta>return"
+142 0x8e "<Meta><Control>n"
+143 0x8f "<Meta><Control>o"
+144 0x90 "<Meta><Control>p"
+145 0x91 "<Meta><Control>q"
+146 0x92 "<Meta><Control>r"
+147 0x93 "<Meta><Control>s"
+148 0x94 "<Meta><Control>t"
+149 0x95 "<Meta><Control>u"
+150 0x96 "<Meta><Control>v"
+151 0x97 "<Meta><Control>w"
+152 0x98 "<Meta><Control>x"
+153 0x99 "<Meta><Control>y"
+154 0x9a "<Meta><Control>z"
+155 0x9b "<Meta>escape"
+156 0x9c "<Meta><Control>\\"
+157 0x9d "<Meta><Control>]"
+158 0x9e "<Meta><Control>^"
+159 0x9f "<Meta><Control>_"
+160 0xa0 "<Meta> "
+161 0xa1 "<Meta>!"
+162 0xa2 "<Meta>\""
+163 0xa3 "<Meta>#"
+164 0xa4 "<Meta>$"
+165 0xa5 "<Meta>%"
+166 0xa6 "<Meta>&"
+167 0xa7 "<Meta>'"
+168 0xa8 "<Meta>("
+169 0xa9 "<Meta>)"
+170 0xaa "<Meta>*"
+171 0xab "<Meta>+"
+172 0xac "<Meta>,"
+173 0xad "<Meta>-"
+174 0xae "<Meta>."
+175 0xaf "<Meta>/"
+176 0xb0 "<Meta>0"
+177 0xb1 "<Meta>1"
+178 0xb2 "<Meta>2"
+179 0xb3 "<Meta>3"
+180 0xb4 "<Meta>4"
+181 0xb5 "<Meta>5"
+182 0xb6 "<Meta>6"
+183 0xb7 "<Meta>7"
+184 0xb8 "<Meta>8"
+185 0xb9 "<Meta>9"
+186 0xba "<Meta>:"
+187 0xbb "<Meta>;"
+188 0xbc "<Meta><"
+189 0xbd "<Meta>="
+190 0xbe "<Meta>>"
+191 0xbf "<Meta>?"
+192 0xc0 "<Meta>@"
+193 0xc1 "<Meta>A"
+194 0xc2 "<Meta>B"
+195 0xc3 "<Meta>C"
+196 0xc4 "<Meta>D"
+197 0xc5 "<Meta>E"
+198 0xc6 "<Meta>F"
+199 0xc7 "<Meta>G"
+200 0xc8 "<Meta>H"
+201 0xc9 "<Meta>I"
+202 0xca "<Meta>J"
+203 0xcb "<Meta>K"
+204 0xcc "<Meta>L"
+205 0xcd "<Meta>M"
+206 0xce "<Meta>N"
+207 0xcf "<Meta>O"
+208 0xd0 "<Meta>P"
+209 0xd1 "<Meta>Q"
+210 0xd2 "<Meta>R"
+211 0xd3 "<Meta>S"
+212 0xd4 "<Meta>T"
+213 0xd5 "<Meta>U"
+214 0xd6 "<Meta>V"
+215 0xd7 "<Meta>W"
+216 0xd8 "<Meta>X"
+217 0xd9 "<Meta>Y"
+218 0xda "<Meta>Z"
+219 0xdb "<Meta>["
+220 0xdc "<Meta>\\"
+221 0xdd "<Meta>]"
+222 0xde "<Meta>^"
+223 0xdf "<Meta>_"
+224 0xe0 "<Meta>`"
+225 0xe1 "<Meta>a"
+226 0xe2 "<Meta>b"
+227 0xe3 "<Meta>c"
+228 0xe4 "<Meta>d"
+229 0xe5 "<Meta>e"
+230 0xe6 "<Meta>f"
+231 0xe7 "<Meta>g"
+232 0xe8 "<Meta>h"
+233 0xe9 "<Meta>i"
+234 0xea "<Meta>j"
+235 0xeb "<Meta>k"
+236 0xec "<Meta>l"
+237 0xed "<Meta>m"
+238 0xee "<Meta>n"
+239 0xef "<Meta>o"
+240 0xf0 "<Meta>p"
+241 0xf1 "<Meta>q"
+242 0xf2 "<Meta>r"
+243 0xf3 "<Meta>s"
+244 0xf4 "<Meta>t"
+245 0xf5 "<Meta>u"
+246 0xf6 "<Meta>v"
+247 0xf7 "<Meta>w"
+248 0xf8 "<Meta>x"
+249 0xf9 "<Meta>y"
+250 0xfa "<Meta>z"
+251 0xfb "<Meta>{"
+252 0xfc "<Meta>|"
+253 0xfd "<Meta>}"
+254 0xfe "<Meta>~"
+255 0xff "<Meta>delete"
+
+
+
+Alt + 8bit character
+
+ Oct Hex
+
+Esc + 128 0x80 "<Alt><Meta><Control> "
+Esc + 129 0x81 "<Alt><Meta><Control>a"
+Esc + 130 0x82 "<Alt><Meta><Control>b"
+Esc + 131 0x83 "<Alt><Meta><Control>c"
+Esc + 132 0x84 "<Alt><Meta><Control>d"
+Esc + 133 0x85 "<Alt><Meta><Control>e"
+Esc + 134 0x86 "<Alt><Meta><Control>f"
+Esc + 135 0x87 "<Alt><Meta><Control>g"
+Esc + 136 0x88 "<Alt><Meta>backspace"
+Esc + 137 0x89 "<Alt><Meta>tab"
+Esc + 138 0x8a "<Alt><Meta><Control>j"
+Esc + 139 0x8b "<Alt><Meta><Control>k"
+Esc + 140 0x8c "<Alt><Meta><Control>l"
+Esc + 141 0x8d "<Alt><Meta>return"
+Esc + 142 0x8e "<Alt><Meta><Control>n"
+Esc + 143 0x8f "<Alt><Meta><Control>o"
+Esc + 144 0x90 "<Alt><Meta><Control>p"
+Esc + 145 0x91 "<Alt><Meta><Control>q"
+Esc + 146 0x92 "<Alt><Meta><Control>r"
+Esc + 147 0x93 "<Alt><Meta><Control>s"
+Esc + 148 0x94 "<Alt><Meta><Control>t"
+Esc + 149 0x95 "<Alt><Meta><Control>u"
+Esc + 150 0x96 "<Alt><Meta><Control>v"
+Esc + 151 0x97 "<Alt><Meta><Control>w"
+Esc + 152 0x98 "<Alt><Meta><Control>x"
+Esc + 153 0x99 "<Alt><Meta><Control>y"
+Esc + 154 0x9a "<Alt><Meta><Control>z"
+Esc + 155 0x9b "<Alt><Meta>escape"
+Esc + 156 0x9c "<Alt><Meta><Control>\\"
+Esc + 157 0x9d "<Alt><Meta><Control>]"
+Esc + 158 0x9e "<Alt><Meta><Control>^"
+Esc + 159 0x9f "<Alt><Meta><Control>_"
+Esc + 160 0xa0 "<Alt><Meta> "
+Esc + 161 0xa1 "<Alt><Meta>!"
+Esc + 162 0xa2 "<Alt><Meta>\""
+Esc + 163 0xa3 "<Alt><Meta>#"
+Esc + 164 0xa4 "<Alt><Meta>$"
+Esc + 165 0xa5 "<Alt><Meta>%"
+Esc + 166 0xa6 "<Alt><Meta>&"
+Esc + 167 0xa7 "<Alt><Meta>'"
+Esc + 168 0xa8 "<Alt><Meta>("
+Esc + 169 0xa9 "<Alt><Meta>)"
+Esc + 170 0xaa "<Alt><Meta>*"
+Esc + 171 0xab "<Alt><Meta>+"
+Esc + 172 0xac "<Alt><Meta>,"
+Esc + 173 0xad "<Alt><Meta>-"
+Esc + 174 0xae "<Alt><Meta>."
+Esc + 175 0xaf "<Alt><Meta>/"
+Esc + 176 0xb0 "<Alt><Meta>0"
+Esc + 177 0xb1 "<Alt><Meta>1"
+Esc + 178 0xb2 "<Alt><Meta>2"
+Esc + 179 0xb3 "<Alt><Meta>3"
+Esc + 180 0xb4 "<Alt><Meta>4"
+Esc + 181 0xb5 "<Alt><Meta>5"
+Esc + 182 0xb6 "<Alt><Meta>6"
+Esc + 183 0xb7 "<Alt><Meta>7"
+Esc + 184 0xb8 "<Alt><Meta>8"
+Esc + 185 0xb9 "<Alt><Meta>9"
+Esc + 186 0xba "<Alt><Meta>:"
+Esc + 187 0xbb "<Alt><Meta>;"
+Esc + 188 0xbc "<Alt><Meta><"
+Esc + 189 0xbd "<Alt><Meta>="
+Esc + 190 0xbe "<Alt><Meta>>"
+Esc + 191 0xbf "<Alt><Meta>?"
+Esc + 192 0xc0 "<Alt><Meta>@"
+Esc + 193 0xc1 "<Alt><Meta>A"
+Esc + 194 0xc2 "<Alt><Meta>B"
+Esc + 195 0xc3 "<Alt><Meta>C"
+Esc + 196 0xc4 "<Alt><Meta>D"
+Esc + 197 0xc5 "<Alt><Meta>E"
+Esc + 198 0xc6 "<Alt><Meta>F"
+Esc + 199 0xc7 "<Alt><Meta>G"
+Esc + 200 0xc8 "<Alt><Meta>H"
+Esc + 201 0xc9 "<Alt><Meta>I"
+Esc + 202 0xca "<Alt><Meta>J"
+Esc + 203 0xcb "<Alt><Meta>K"
+Esc + 204 0xcc "<Alt><Meta>L"
+Esc + 205 0xcd "<Alt><Meta>M"
+Esc + 206 0xce "<Alt><Meta>N"
+Esc + 207 0xcf "<Alt><Meta>O"
+Esc + 208 0xd0 "<Alt><Meta>P"
+Esc + 209 0xd1 "<Alt><Meta>Q"
+Esc + 210 0xd2 "<Alt><Meta>R"
+Esc + 211 0xd3 "<Alt><Meta>S"
+Esc + 212 0xd4 "<Alt><Meta>T"
+Esc + 213 0xd5 "<Alt><Meta>U"
+Esc + 214 0xd6 "<Alt><Meta>V"
+Esc + 215 0xd7 "<Alt><Meta>W"
+Esc + 216 0xd8 "<Alt><Meta>X"
+Esc + 217 0xd9 "<Alt><Meta>Y"
+Esc + 218 0xda "<Alt><Meta>Z"
+Esc + 219 0xdb "<Alt><Meta>["
+Esc + 220 0xdc "<Alt><Meta>\\"
+Esc + 221 0xdd "<Alt><Meta>]"
+Esc + 222 0xde "<Alt><Meta>^"
+Esc + 223 0xdf "<Alt><Meta>_"
+Esc + 224 0xe0 "<Alt><Meta>`"
+Esc + 225 0xe1 "<Alt><Meta>a"
+Esc + 226 0xe2 "<Alt><Meta>b"
+Esc + 227 0xe3 "<Alt><Meta>c"
+Esc + 228 0xe4 "<Alt><Meta>d"
+Esc + 229 0xe5 "<Alt><Meta>e"
+Esc + 230 0xe6 "<Alt><Meta>f"
+Esc + 231 0xe7 "<Alt><Meta>g"
+Esc + 232 0xe8 "<Alt><Meta>h"
+Esc + 233 0xe9 "<Alt><Meta>i"
+Esc + 234 0xea "<Alt><Meta>j"
+Esc + 235 0xeb "<Alt><Meta>k"
+Esc + 236 0xec "<Alt><Meta>l"
+Esc + 237 0xed "<Alt><Meta>m"
+Esc + 238 0xee "<Alt><Meta>n"
+Esc + 239 0xef "<Alt><Meta>o"
+Esc + 240 0xf0 "<Alt><Meta>p"
+Esc + 241 0xf1 "<Alt><Meta>q"
+Esc + 242 0xf2 "<Alt><Meta>r"
+Esc + 243 0xf3 "<Alt><Meta>s"
+Esc + 244 0xf4 "<Alt><Meta>t"
+Esc + 245 0xf5 "<Alt><Meta>u"
+Esc + 246 0xf6 "<Alt><Meta>v"
+Esc + 247 0xf7 "<Alt><Meta>w"
+Esc + 248 0xf8 "<Alt><Meta>x"
+Esc + 249 0xf9 "<Alt><Meta>y"
+Esc + 250 0xfa "<Alt><Meta>z"
+Esc + 251 0xfb "<Alt><Meta>{"
+Esc + 252 0xfc "<Alt><Meta>|"
+Esc + 253 0xfd "<Alt><Meta>}"
+Esc + 254 0xfe "<Alt><Meta>~"
+Esc + 255 0xff "<Alt><Meta>delete"
Modified: trunk/fep/key.c
===================================================================
--- trunk/fep/key.c 2005-05-15 06:15:51 UTC (rev 840)
+++ trunk/fep/key.c 2005-05-16 04:47:15 UTC (rev 841)
@@ -67,6 +67,7 @@
int tty2key(char key)
{
+ key &= 0x7f;
switch (key) {
/* c-space */
case 0:
@@ -97,13 +98,14 @@
int tty2key_state(char key)
{
- int key_state = 0;
+ int key_state = (key & 0x80) ? UMod_Meta : 0;
+ key &= 0x7f;
if (key == '\b' ||
key == '\t' ||
key == '\r' ||
key == ESCAPE_CODE ||
key == 0x7f) {
- return 0;
+ return key_state;
}
if (key >= 'A' && key <= 'Z') {
key_state += UMod_Shift;
Modified: trunk/fep/uim-fep.c
===================================================================
--- trunk/fep/uim-fep.c 2005-05-15 06:15:51 UTC (rev 840)
+++ trunk/fep/uim-fep.c 2005-05-16 04:47:15 UTC (rev 841)
@@ -699,16 +699,15 @@
for (i = 0; i < len; i++) {
key = tty2key(buf[i]);
- if (key == UKey_Escape) {
+ key_state += tty2key_state(buf[i]);
+ if (key == UKey_Escape && key_state == 0) {
int *key_and_key_len = escape_sequence2key(buf + i);
key = key_and_key_len[0];
if (key == UKey_Escape) {
if (i + 1 < len) {
/* Alt+¥¡¼ */
- if (key_state != UMod_Alt) {
- key_state = UMod_Alt;
- continue;
- }
+ key_state = UMod_Alt;
+ continue;
} else if (g_opt.timeout > 0) {
struct timeval t;
FD_ZERO(&fds);
@@ -720,13 +719,13 @@
buf[len] = '\0';
debug(("read_again \"%s\"\n", buf));
i--;
+ key_state = 0;
continue;
}
}
}
key_len = key_and_key_len[1];
} else {
- key_state += tty2key_state(buf[i]);
key_len = 1;
}
raw = press_key(key, key_state);
More information about the Uim-commit
mailing list