1 1.1 mrg // "standard" XFree86 codes 2 1.1 mrg // It seems that the "default" must be the first entry in the file. 3 1.1 mrg 4 1.1 mrg default xkb_keycodes "xfree86" { 5 1.1 mrg include "xfree86(basic)" 6 1.1 mrg <BKSL> = 51; 7 1.1.1.3 ghen alias <AC12> = <BKSL>; 8 1.1 mrg <LSGT> = 94; 9 1.1 mrg }; 10 1.1 mrg 11 1.1 mrg xkb_keycodes "basic" { 12 1.1 mrg 13 1.1 mrg minimum= 8; 14 1.1 mrg maximum= 255; 15 1.1 mrg 16 1.1 mrg <TLDE> = 49; 17 1.1 mrg alias <AE00> = <TLDE>; // Some geometries use AE00 18 1.1 mrg <AE01> = 10; 19 1.1 mrg <AE02> = 11; 20 1.1 mrg <AE03> = 12; 21 1.1 mrg <AE04> = 13; 22 1.1 mrg <AE05> = 14; 23 1.1 mrg <AE06> = 15; 24 1.1 mrg <AE07> = 16; 25 1.1 mrg <AE08> = 17; 26 1.1 mrg <AE09> = 18; 27 1.1 mrg <AE10> = 19; 28 1.1 mrg <AE11> = 20; 29 1.1 mrg <AE12> = 21; 30 1.1 mrg <BKSP> = 22; 31 1.1 mrg 32 1.1 mrg <TAB> = 23; 33 1.1 mrg <AD01> = 24; 34 1.1 mrg <AD02> = 25; 35 1.1 mrg <AD03> = 26; 36 1.1 mrg <AD04> = 27; 37 1.1 mrg <AD05> = 28; 38 1.1 mrg <AD06> = 29; 39 1.1 mrg <AD07> = 30; 40 1.1 mrg <AD08> = 31; 41 1.1 mrg <AD09> = 32; 42 1.1 mrg <AD10> = 33; 43 1.1 mrg <AD11> = 34; 44 1.1 mrg <AD12> = 35; 45 1.1 mrg <RTRN> = 36; 46 1.1 mrg 47 1.1 mrg <CAPS> = 66; 48 1.1 mrg <AC01> = 38; 49 1.1 mrg <AC02> = 39; 50 1.1 mrg <AC03> = 40; 51 1.1 mrg <AC04> = 41; 52 1.1 mrg <AC05> = 42; 53 1.1 mrg <AC06> = 43; 54 1.1 mrg <AC07> = 44; 55 1.1 mrg <AC08> = 45; 56 1.1 mrg <AC09> = 46; 57 1.1 mrg <AC10> = 47; 58 1.1 mrg <AC11> = 48; 59 1.1 mrg 60 1.1 mrg <LFSH> = 50; 61 1.1 mrg <AB01> = 52; 62 1.1 mrg <AB02> = 53; 63 1.1 mrg <AB03> = 54; 64 1.1 mrg <AB04> = 55; 65 1.1 mrg <AB05> = 56; 66 1.1 mrg <AB06> = 57; 67 1.1 mrg <AB07> = 58; 68 1.1 mrg <AB08> = 59; 69 1.1 mrg <AB09> = 60; 70 1.1 mrg <AB10> = 61; 71 1.1 mrg <RTSH> = 62; 72 1.1 mrg 73 1.1 mrg <LALT> = 64; 74 1.1 mrg <LCTL> = 37; 75 1.1 mrg <SPCE> = 65; 76 1.1 mrg <RCTL> = 109; 77 1.1 mrg <RALT> = 113; 78 1.1 mrg // Microsoft keyboard extra keys 79 1.1 mrg <LWIN> = 115; 80 1.1 mrg <RWIN> = 116; 81 1.1 mrg <MENU> = 117; 82 1.1 mrg 83 1.1 mrg <ESC> = 9; 84 1.1 mrg <FK01> = 67; 85 1.1 mrg <FK02> = 68; 86 1.1 mrg <FK03> = 69; 87 1.1 mrg <FK04> = 70; 88 1.1 mrg <FK05> = 71; 89 1.1 mrg <FK06> = 72; 90 1.1 mrg <FK07> = 73; 91 1.1 mrg <FK08> = 74; 92 1.1 mrg <FK09> = 75; 93 1.1 mrg <FK10> = 76; 94 1.1 mrg <FK11> = 95; 95 1.1 mrg <FK12> = 96; 96 1.1 mrg 97 1.1 mrg <PRSC> = 111; 98 1.1 mrg <SYRQ> = 92; 99 1.1 mrg <SCLK> = 78; 100 1.1 mrg <PAUS> = 110; 101 1.1 mrg <BRK> = 114; 102 1.1 mrg 103 1.1 mrg <INS> = 106; 104 1.1 mrg <HOME> = 97; 105 1.1 mrg <PGUP> = 99; 106 1.1 mrg <DELE> = 107; 107 1.1 mrg <END> = 103; 108 1.1 mrg <PGDN> = 105; 109 1.1 mrg 110 1.1 mrg <UP> = 98; 111 1.1 mrg <LEFT> = 100; 112 1.1 mrg <DOWN> = 104; 113 1.1 mrg <RGHT> = 102; 114 1.1 mrg 115 1.1 mrg <NMLK> = 77; 116 1.1 mrg <KPDV> = 112; 117 1.1 mrg <KPMU> = 63; 118 1.1 mrg <KPSU> = 82; 119 1.1 mrg 120 1.1 mrg <KP7> = 79; 121 1.1 mrg <KP8> = 80; 122 1.1 mrg <KP9> = 81; 123 1.1 mrg <KPAD> = 86; 124 1.1 mrg 125 1.1 mrg <KP4> = 83; 126 1.1 mrg <KP5> = 84; 127 1.1 mrg <KP6> = 85; 128 1.1 mrg 129 1.1 mrg <KP1> = 87; 130 1.1 mrg <KP2> = 88; 131 1.1 mrg <KP3> = 89; 132 1.1 mrg <KPEN> = 108; 133 1.1 mrg 134 1.1 mrg <KP0> = 90; 135 1.1 mrg <KPDL> = 91; 136 1.1 mrg <KPEQ> = 126; 137 1.1 mrg 138 1.1 mrg <FK13> = 118; 139 1.1 mrg <FK14> = 119; 140 1.1 mrg <FK15> = 120; 141 1.1 mrg <FK16> = 121; 142 1.1 mrg <FK17> = 122; 143 1.1 mrg <KPDC> = 123; 144 1.1 mrg 145 1.1 mrg // Keys that are generated on Japanese keyboards 146 1.1 mrg 147 1.1 mrg alias <HZTG> = <TLDE>; // Hankaku_Zenkaku toggle 148 1.1 mrg <HKTG> = 208; // Hiragana_Katakana toggle 149 1.1 mrg <AB11> = 211; // backslash/underscore 150 1.1 mrg <XFER> = 129; // Henkan 151 1.1 mrg <NFER> = 131; // Muhenkan 152 1.1 mrg <AE13> = 133; // Yen 153 1.1 mrg 154 1.1.1.6 mrg // Keys that are generated on Japanese and Korean keyboards 155 1.1 mrg 156 1.1.1.6 mrg // USB HID Usage Tables 1.3 Lang1. 157 1.1.1.6 mrg // IME On on Japanese keyboards. 158 1.1.1.6 mrg // Hangul Latin toggle on Korean keyboards. 159 1.1.1.6 mrg <HNGL> = 209; 160 1.1.1.6 mrg 161 1.1.1.6 mrg // USB HID Usage Tables 1.3 Lang2. 162 1.1.1.6 mrg // IME Off on Japanese keyboards. 163 1.1.1.6 mrg // Hangul to Hanja conversion on Korean keyboards. 164 1.1.1.6 mrg <HJCV> = 210; 165 1.1 mrg 166 1.1 mrg // Extended keys that may be generated on "Internet" keyboards. 167 1.1 mrg // These are not standardised, hence the meaningless names. 168 1.1 mrg // The entries commented out are never generated because the raw codes 169 1.1 mrg // in those positions are already used for well-defined keys. 170 1.1 mrg 171 1.1 mrg <I02> = 130; 172 1.1 mrg <I04> = 132; 173 1.1 mrg alias <I05> = <AE13>; 174 1.1 mrg <I06> = 134; 175 1.1 mrg <I07> = 135; 176 1.1 mrg <I08> = 136; 177 1.1 mrg <I09> = 137; 178 1.1 mrg <I0A> = 138; 179 1.1 mrg <I0B> = 139; 180 1.1 mrg <I0C> = 140; 181 1.1 mrg <I0D> = 141; 182 1.1 mrg <I0E> = 142; 183 1.1 mrg <I0F> = 143; 184 1.1 mrg <I10> = 144; 185 1.1 mrg <I11> = 145; 186 1.1 mrg <I12> = 146; 187 1.1 mrg <I13> = 147; 188 1.1 mrg <I14> = 148; 189 1.1 mrg <I15> = 149; 190 1.1 mrg <I16> = 150; 191 1.1 mrg <I17> = 151; 192 1.1 mrg <I18> = 152; 193 1.1 mrg <I19> = 153; 194 1.1 mrg <I1A> = 154; 195 1.1 mrg <I1B> = 155; 196 1.1 mrg // <I1C> = 156; <META> 197 1.1 mrg // <I1D> = 157; <K59> 198 1.1 mrg <I1E> = 158; 199 1.1 mrg <I1F> = 159; 200 1.1 mrg <I20> = 160; 201 1.1 mrg <I21> = 161; 202 1.1 mrg <I22> = 162; 203 1.1 mrg <I23> = 163; 204 1.1 mrg <I24> = 164; 205 1.1 mrg <I25> = 165; 206 1.1 mrg <I26> = 166; 207 1.1 mrg <I27> = 167; 208 1.1 mrg <I28> = 168; 209 1.1 mrg <I29> = 169; 210 1.1 mrg // <I2A> = 170; <K5A> 211 1.1 mrg <I2B> = 171; 212 1.1 mrg <I2C> = 172; 213 1.1 mrg <I2D> = 173; 214 1.1 mrg <I2E> = 174; 215 1.1 mrg <I2F> = 175; 216 1.1 mrg <I30> = 176; 217 1.1 mrg <I31> = 177; 218 1.1 mrg <I32> = 178; 219 1.1 mrg <I33> = 179; 220 1.1 mrg <I34> = 180; 221 1.1 mrg // <I35> = 181; <K5B> 222 1.1 mrg // <I36> = 182; <K5D> 223 1.1 mrg // <I37> = 183; <K5E> 224 1.1 mrg // <I38> = 184; <K5F> 225 1.1 mrg <I39> = 185; 226 1.1 mrg <I3A> = 186; 227 1.1 mrg <I3B> = 187; 228 1.1 mrg <I3C> = 188; 229 1.1 mrg // <I3D> = 189; <K62> 230 1.1 mrg // <I3E> = 190; <K63> 231 1.1 mrg // <I3F> = 191; <K64> 232 1.1 mrg // <I40> = 192; <K65> 233 1.1 mrg // <I41> = 193; <K66> 234 1.1 mrg <I42> = 194; 235 1.1 mrg <I43> = 195; 236 1.1 mrg <I44> = 196; 237 1.1 mrg <I45> = 197; 238 1.1 mrg // <I46> = 198; <K67> 239 1.1 mrg // <I47> = 199; <K68> 240 1.1 mrg // <I48> = 200; <K69> 241 1.1 mrg // <I49> = 201; <K6A> 242 1.1 mrg <I4A> = 202; 243 1.1 mrg // <I4B> = 203; <K6B> 244 1.1 mrg // <I4C> = 204; <K6C> 245 1.1 mrg // <I4D> = 205; <K6D> 246 1.1 mrg // <I4E> = 206; <K6E> 247 1.1 mrg // <I4F> = 207; <K6F> 248 1.1 mrg // <I50> = 208; <K70> 249 1.1 mrg // <I51> = 209; <K71> 250 1.1 mrg // <I52> = 210; <K72> 251 1.1 mrg // <I53> = 211; <K73> 252 1.1 mrg <I54> = 212; 253 1.1 mrg <I55> = 213; 254 1.1.1.3 ghen <I56> = 214; 255 1.1.1.3 ghen <I57> = 215; 256 1.1.1.3 ghen <I58> = 216; 257 1.1.1.3 ghen <I59> = 217; 258 1.1 mrg <I5A> = 218; 259 1.1 mrg // <I5B> = 219; <K74> 260 1.1 mrg // <I5C> = 220; <K75> 261 1.1 mrg // <I5D> = 221; <K76> 262 1.1 mrg <I5E> = 222; 263 1.1 mrg <I5F> = 223; 264 1.1 mrg <I60> = 224; 265 1.1 mrg <I61> = 225; 266 1.1 mrg <I62> = 226; 267 1.1 mrg <I63> = 227; 268 1.1 mrg <I64> = 228; 269 1.1 mrg <I65> = 229; 270 1.1 mrg <I66> = 230; 271 1.1 mrg <I67> = 231; 272 1.1 mrg <I68> = 232; 273 1.1 mrg <I69> = 233; 274 1.1 mrg <I6A> = 234; 275 1.1 mrg <I6B> = 235; 276 1.1 mrg <I6C> = 236; 277 1.1 mrg <I6D> = 237; 278 1.1 mrg <I6E> = 238; 279 1.1 mrg <I6F> = 239; 280 1.1 mrg <I70> = 240; 281 1.1 mrg <I71> = 241; 282 1.1 mrg <I72> = 242; 283 1.1 mrg <I73> = 243; 284 1.1 mrg <I74> = 244; 285 1.1 mrg <I75> = 245; 286 1.1 mrg <I76> = 246; 287 1.1 mrg <I77> = 247; 288 1.1 mrg <I78> = 248; 289 1.1 mrg <I79> = 249; 290 1.1 mrg <I7A> = 250; 291 1.1 mrg <I7B> = 251; 292 1.1 mrg <I7C> = 252; 293 1.1.1.5 mrg alias <IR7C> = <I7C>; 294 1.1 mrg <I7D> = 253; 295 1.1.1.5 mrg alias <IR7D> = <I7D>; 296 1.1 mrg <I7E> = 254; 297 1.1 mrg <I7F> = 255; 298 1.1 mrg 299 1.1 mrg // MacBooks generate 0x65 for the lower brightness key 300 1.1 mrg <II65> = 101; 301 1.1 mrg 302 1.1.1.4 mrg // Required for apple/logitech_g15 keyboard 303 1.1.1.4 mrg <II5D> = 93; 304 1.1.1.4 mrg 305 1.1 mrg // Codes generated for scancodes 0x59-0x5f, 0x62-0x76 306 1.1 mrg <K59> = 157; // <I1D> 307 1.1 mrg <K5A> = 170; // <I2A> 308 1.1 mrg <K5B> = 181; // <I35> 309 1.1 mrg alias <K5C> = <KPEQ>; 310 1.1 mrg <K5D> = 182; // <I36> 311 1.1 mrg <K5E> = 183; // <I37> 312 1.1 mrg <K5F> = 184; // <I38> 313 1.1 mrg <K62> = 189; // <I3D> 314 1.1 mrg <K63> = 190; // <I3E> 315 1.1 mrg <K64> = 191; // <I3F> 316 1.1 mrg <K65> = 192; // <I40> 317 1.1 mrg <K66> = 193; // <I41> 318 1.1 mrg <K67> = 198; // <I46> 319 1.1 mrg <K68> = 199; // <I47> 320 1.1 mrg <K69> = 200; // <I48> 321 1.1 mrg <K6A> = 201; // <I49> 322 1.1 mrg <K6B> = 203; // <I4B> 323 1.1 mrg <K6C> = 204; // <I4C> 324 1.1 mrg <K6D> = 205; // <I4D> 325 1.1 mrg <K6E> = 206; // <I4E> 326 1.1 mrg <K6F> = 207; // <I4F> 327 1.1 mrg alias <K70> = <HKTG>; // <I50> 328 1.1.1.6 mrg alias <K71> = <HNGL>; // <I51> 329 1.1.1.6 mrg alias <K72> = <HJCV>; // <I52> 330 1.1 mrg alias <K73> = <AB11>; // <I53> 331 1.1 mrg <K74> = 219; // <I5B> 332 1.1 mrg <K75> = 220; // <I5C> 333 1.1 mrg <K76> = 221; // <I5D> 334 1.1 mrg 335 1.1 mrg // Solaris compatibility 336 1.1 mrg 337 1.1 mrg alias <LMTA> = <LWIN>; 338 1.1 mrg alias <RMTA> = <RWIN>; 339 1.1 mrg alias <COMP> = <MENU>; 340 1.1 mrg alias <POWR> = <I0C>; 341 1.1 mrg alias <MUTE> = <I0D>; 342 1.1 mrg alias <VOL-> = <I0E>; 343 1.1 mrg alias <VOL+> = <I0F>; 344 1.1 mrg alias <HELP> = <I10>; 345 1.1 mrg alias <STOP> = <I11>; 346 1.1 mrg alias <AGAI> = <I12>; 347 1.1 mrg alias <PROP> = <I13>; 348 1.1 mrg alias <UNDO> = <I14>; 349 1.1 mrg alias <FRNT> = <I15>; 350 1.1 mrg alias <COPY> = <I16>; 351 1.1 mrg alias <OPEN> = <I17>; 352 1.1 mrg alias <PAST> = <I18>; 353 1.1 mrg alias <FIND> = <I19>; 354 1.1 mrg alias <CUT> = <I1A>; 355 1.1.1.3 ghen alias <OUTP> = <I56>; 356 1.1.1.3 ghen alias <KITG> = <I57>; 357 1.1.1.3 ghen alias <KIDN> = <I58>; 358 1.1.1.3 ghen alias <KIUP> = <I59>; 359 1.1 mrg 360 1.1 mrg // Other codes never generated. The XFree86 ddx never generates 361 1.1 mrg // these codes. 362 1.1 mrg // Thus we can use them as fake keys 363 1.1.1.6 mrg <LVL5> = 8; 364 1.1.1.6 mrg alias <MDSW> = <LVL5>; 365 1.1 mrg <LVL3> = 124; // <U7C> 366 1.1 mrg <ALT> = 125; // <U7D> 367 1.1 mrg <META> = 156; // <I1C> 368 1.1 mrg <SUPR> = 127; // <U7F> 369 1.1 mrg <HYPR> = 128; // <U80> 370 1.1 mrg 371 1.1 mrg indicator 1 = "Caps Lock"; 372 1.1 mrg indicator 2 = "Num Lock"; 373 1.1 mrg indicator 3 = "Scroll Lock"; 374 1.1 mrg 375 1.1 mrg alias <ALGR> = <RALT>; 376 1.1.1.3 ghen 377 1.1.1.3 ghen // For Brazilian ABNT2 378 1.1.1.3 ghen alias <KPPT> = <I06>; 379 1.1 mrg }; 380 1.1 mrg 381 1.1 mrg // What keyboard is this? 382 1.1 mrg 383 1.1 mrg xkb_keycodes "102" { 384 1.1 mrg include "xfree86(xfree86)" 385 1.1 mrg 386 1.1 mrg // There will be warnings from xkbcomp because of multiple definitions. 387 1.1 mrg 388 1.1 mrg <RALT> = 122; 389 1.1 mrg <RCTL> = 123; 390 1.1 mrg 391 1.1 mrg <PRSC> = 121; 392 1.1 mrg <PAUS> = 118; 393 1.1 mrg 394 1.1 mrg <INS> = 131; 395 1.1 mrg <HOME> = 135; 396 1.1 mrg <PGUP> = 119; 397 1.1 mrg <DELE> = 129; 398 1.1 mrg <END> = 130; 399 1.1 mrg <PGDN> = 134; 400 1.1 mrg 401 1.1 mrg <UP> = 128; 402 1.1 mrg <LEFT> = 132; 403 1.1 mrg <DOWN> = 120; 404 1.1 mrg <RGHT> = 133; 405 1.1 mrg 406 1.1 mrg <KPDV> = 125; 407 1.1 mrg 408 1.1 mrg <KPEN> = 124; 409 1.1 mrg }; 410 1.1 mrg 411 1.1 mrg 412 1.1.1.2 mrg // IBM ThinkPad Z60m/Z60t/Z61m/Z61t 413 1.1.1.2 mrg xkb_keycodes "thinkpadz60" { 414 1.1 mrg include "xfree86(xfree86)" 415 1.1 mrg <MENU> = 227; 416 1.1 mrg }; 417