diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2021-01-21 11:09:04 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2021-01-21 11:11:47 +1000 |
commit | 8fa3b314488ff6ab77aa773248ef36c18f749ade (patch) | |
tree | c4529b4edab5442b5f5bc8e1ed2c3be703859338 | |
parent | 8ae84b041b58a774be2b6c02fa85aa6745823393 (diff) |
Revert "gitlab CI: generate the evdev keycodes"
Some of the generated keys overwrote existing keys, causing warnings
and nonfunctional keys. For example:
xkbcommon: WARNING: Multiple names for keycode 121; Using <I121>, ignoring <MUTE>
Revert this commit, we're too close to a release and it's better to wait until
the next one to give this approach more time to settle.
Fixes #247
This reverts commit 5dc9b48c9b31de9f9780887a79ded3b1e52591d9.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | .gitlab-ci.yml | 20 | ||||
-rwxr-xr-x | .gitlab-ci/generate-evdev-keycodes.py | 183 | ||||
-rw-r--r-- | keycodes/evdev | 277 | ||||
-rw-r--r-- | keycodes/evdev.in | 217 | ||||
-rw-r--r-- | meson.build | 2 |
5 files changed, 5 insertions, 694 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9c897d69..8ab316ba 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -23,7 +23,7 @@ variables: # Changing the tag will rebuild the container images. The value is just a # string, but we use the date for human benefits. - FDO_DISTRIBUTION_TAG: '2021-01-08.0' + FDO_DISTRIBUTION_TAG: '2020-11-06.0' stages: @@ -43,7 +43,7 @@ container-prep: # minimal set of packages required to build xkeyboard-config. BASE_PACKAGES: 'xorg-util-macros autoconf automake make gettext pkg-config gcc grep m4 python meson ninja git' # extra packages we need for various tests - EXTRA_PACKAGES: 'tree libxml2 bison xorg-xkbcomp python-pytest python-libevdev' + EXTRA_PACKAGES: 'tree libxml2 bison xorg-xkbcomp python-pytest' FDO_DISTRIBUTION_PACKAGES: $BASE_PACKAGES $EXTRA_PACKAGES @@ -162,22 +162,6 @@ meson_from_tarball: TARBALL: "xkeyboard-config-master.tar.bz2" GIT_STRATEGY: none -# Checks for new evdev keycodes to be added to keycodes/evdev -evdev keycode check: - extends: - - .default_setup - stage: test - script: - - .gitlab-ci/generate-evdev-keycodes.py --verbose --compare-with ./keycodes/evdev --template ./keycodes/evdev.in --output keycodes/evdev || (echo "keycodes/evdev file needs to be updated" && false) - allow_failure: true - artifacts: - when: on_failure - name: Updated evdev keycodes - expire_in: 2 weeks - paths: - - keycodes/evdev - needs: ['container-prep'] - xmllint: extends: - .default_setup diff --git a/.gitlab-ci/generate-evdev-keycodes.py b/.gitlab-ci/generate-evdev-keycodes.py deleted file mode 100755 index 5ee18465..00000000 --- a/.gitlab-ci/generate-evdev-keycodes.py +++ /dev/null @@ -1,183 +0,0 @@ -#!/usr/bin/env python3 -# -# Usage: generate-evdev-keycodes.py keycodes/evdev.in > keycodes/evdev -# -# Generate the keycodes/evdev file from the names defined in -# linux/input-event-codes.h -# -# Note that this script relies on libevdev to provide the key names and -# those are compiled in. Ensure you have a recent-enough libevdev to -# generate this list. -# - -import argparse -import contextlib -import re -import sys -try: - import libevdev -except ImportError: - print('WARNING: python-libevdev not available, cannot check for new evdev keycodes', file=sys.stderr) - sys.exit(77) - - -# The marker to search for in the template file, replaced with our generated -# codes. -replacement_marker = '@evdevkeys@' - -# These markers are put into the result file and are used to detect -# the section that we added when parsing an existing file. -section_header = 'Key codes below are autogenerated' -section_footer = 'End of autogenerated key codes' - - -def evdev_codes(): - ''' - Return the dict {code, name} for all known evdev codes. - - The list of names is compiled into libevdev.so, use a recent libevdev - release to get the most up-to-date list. - ''' - codes = {} - for c in libevdev.EV_KEY.codes: - # 112 because that's where our 1:1 keycode entries historically - # started. - # Undefined keys are those with a code < KEY_MAX but without a - # #define in the kernel header file - if c.value < 112 or not c.is_defined: - continue - - if c.name.startswith('BTN_') or c.name == 'KEY_MAX': - continue - - codes[c.value] = c.name - - return codes - - -def generate_keycodes_file(template, codes): - ''' - Generate a new keycodes/evdev file with line containing @evdevkeys@ - replaced by the full list of known evdev key codes, including our - section_header/footer. Expected output: - - :: - - // $section_header - <I$keycode> = <$keycode + 8> // #define $kernel_name - ... - // $section_footer - - ''' - output = [] - for line in template.readlines(): - if replacement_marker not in line: - output.append(line) - continue - - output.append(f'\t// {section_header}\n') - - warned = False - for code, name in codes.items(): - xkeycode = code + 8 - - if xkeycode > 255 and not warned: - warned = True - output.append('\n') - output.append('\t// Key codes below cannot be used in X\n') - output.append('\n') - - # Special keys that need a comment - special_keys = { - 211: 'conflicts with AB11', - } - - comment = special_keys.get(xkeycode, '') - if comment: - comment = f' {comment}' - - output.append(f'\t<I{xkeycode}> = {xkeycode};\t// #define {name:23s} {code}{comment}\n') - output.append(f'\t// {section_footer}\n') - - return output - - -def extract_generated_keycodes(oldfile): - in_generated_section = False - pattern = re.compile('.*<I([0-9]*)>.*') - - for line in oldfile: - if section_header in line: - in_generated_section = True - continue - elif section_footer in line: - return - elif in_generated_section: - match = pattern.match(line) - if match: - yield int(match[1]) - - -def compare_with(codes, oldfile): - ''' - Extract the <I123> keycodes from between the section_header/footer of - oldfile and return a list of keycodes that are in codes but not in - oldfile. - ''' - old_keycodes = extract_generated_keycodes(oldfile) - keycodes = [c + 8 for c in codes] # X keycode offset - - # This does not detect keycodes in old_keycode but not in the new - # generated list - should never happen anyway. - return sorted(set(keycodes).difference(old_keycodes)) - - -def log_msg(msg): - print(msg, file=sys.stderr) - - -def main(): - parser = argparse.ArgumentParser(description='Generate the evdev keycode lists.') - parser.add_argument('--template', type=argparse.FileType('r'), - default=open('keycodes/evdev.in'), - help='The template file, usually keycodes/evdev.in') - parser.add_argument('--output', type=str, default=None, required=True, - help='The file to be written to') - parser.add_argument('--compare-with', type=argparse.FileType('r'), - help='Compare generated output with the given file') - parser.add_argument('--verbose', action=argparse.BooleanOptionalAction, - help='Print verbose output to stderr') - ns = parser.parse_args() - - codes = evdev_codes() - rc = 0 - if ns.verbose: - kmin, kmax = min(codes.keys()), max(codes.keys()) - log_msg(f'evdev keycode range: {kmin} ({kmin:#x}) → {kmax} ({kmax:#x})') - - # We compare before writing so we can use the same filename for - # --compare-with and --output. That's also why --output has to be type - # str instead of FileType('w'). - if ns.compare_with: - diff = compare_with(codes, ns.compare_with) - if diff: - rc = 1 - if ns.verbose: - log_msg(f'File {ns.compare_with.name} is out of date, missing keycodes:') - for k in diff: - name = codes[k - 8] # remove the X offset - log_msg(f' <I{k}> // #define {name}') - - with contextlib.ExitStack() as stack: - if ns.output == '-': - fd = sys.stdout - else: - fd = stack.enter_context(open(ns.output, 'w')) - output = generate_keycodes_file(ns.template, codes) - fd.write(''.join(output)) - - sys.exit(rc) - - -if __name__ == '__main__': - main() diff --git a/keycodes/evdev b/keycodes/evdev index f31175e2..bfad6026 100644 --- a/keycodes/evdev +++ b/keycodes/evdev @@ -187,35 +187,10 @@ default xkb_keycodes "evdev" { // evdev has standardize names for these. <LNFD> = 109; // #define KEY_LINEFEED 101 - - // Key codes below are autogenerated <I120> = 120; // #define KEY_MACRO 112 - <I121> = 121; // #define KEY_MUTE 113 - <I122> = 122; // #define KEY_VOLUMEDOWN 114 - <I123> = 123; // #define KEY_VOLUMEUP 115 - <I124> = 124; // #define KEY_POWER 116 - <I125> = 125; // #define KEY_KPEQUAL 117 <I126> = 126; // #define KEY_KPPLUSMINUS 118 - <I127> = 127; // #define KEY_PAUSE 119 <I128> = 128; // #define KEY_SCALE 120 <I129> = 129; // #define KEY_KPCOMMA 121 - <I130> = 130; // #define KEY_HANGEUL 122 - <I131> = 131; // #define KEY_HANJA 123 - <I132> = 132; // #define KEY_YEN 124 - <I133> = 133; // #define KEY_LEFTMETA 125 - <I134> = 134; // #define KEY_RIGHTMETA 126 - <I135> = 135; // #define KEY_COMPOSE 127 - <I136> = 136; // #define KEY_STOP 128 - <I137> = 137; // #define KEY_AGAIN 129 - <I138> = 138; // #define KEY_PROPS 130 - <I139> = 139; // #define KEY_UNDO 131 - <I140> = 140; // #define KEY_FRONT 132 - <I141> = 141; // #define KEY_COPY 133 - <I142> = 142; // #define KEY_OPEN 134 - <I143> = 143; // #define KEY_PASTE 135 - <I144> = 144; // #define KEY_FIND 136 - <I145> = 145; // #define KEY_CUT 137 - <I146> = 146; // #define KEY_HELP 138 <I147> = 147; // #define KEY_MENU 139 <I148> = 148; // #define KEY_CALC 140 <I149> = 149; // #define KEY_SETUP 141 @@ -230,7 +205,7 @@ default xkb_keycodes "evdev" { <I158> = 158; // #define KEY_WWW 150 <I159> = 159; // #define KEY_MSDOS 151 <I160> = 160; // #define KEY_COFFEE 152 - <I161> = 161; // #define KEY_ROTATE_DISPLAY 153 + <I161> = 161; // #define KEY_DIRECTION 153 <I162> = 162; // #define KEY_CYCLEWINDOWS 154 <I163> = 163; // #define KEY_MAIL 155 <I164> = 164; // #define KEY_BOOKMARKS 156 @@ -260,18 +235,6 @@ default xkb_keycodes "evdev" { <I188> = 188; // #define KEY_KPRIGHTPAREN 180 <I189> = 189; // #define KEY_NEW 181 <I190> = 190; // #define KEY_REDO 182 - <I191> = 191; // #define KEY_F13 183 - <I192> = 192; // #define KEY_F14 184 - <I193> = 193; // #define KEY_F15 185 - <I194> = 194; // #define KEY_F16 186 - <I195> = 195; // #define KEY_F17 187 - <I196> = 196; // #define KEY_F18 188 - <I197> = 197; // #define KEY_F19 189 - <I198> = 198; // #define KEY_F20 190 - <I199> = 199; // #define KEY_F21 191 - <I200> = 200; // #define KEY_F22 192 - <I201> = 201; // #define KEY_F23 193 - <I202> = 202; // #define KEY_F24 194 <I208> = 208; // #define KEY_PLAYCD 200 <I209> = 209; // #define KEY_PAUSECD 201 <I210> = 210; // #define KEY_PROG3 202 @@ -316,253 +279,17 @@ default xkb_keycodes "evdev" { <I249> = 249; // #define KEY_VIDEO_NEXT 241 <I250> = 250; // #define KEY_VIDEO_PREV 242 <I251> = 251; // #define KEY_BRIGHTNESS_CYCLE 243 - <I252> = 252; // #define KEY_BRIGHTNESS_AUTO 244 + <I252> = 252; // #define KEY_BRIGHTNESS_ZERO 244 <I253> = 253; // #define KEY_DISPLAY_OFF 245 <I254> = 254; // #define KEY_WWAN 246 <I255> = 255; // #define KEY_RFKILL 247 - // Key codes below cannot be used in X - - <I256> = 256; // #define KEY_MICMUTE 248 - <I360> = 360; // #define KEY_OK 352 - <I361> = 361; // #define KEY_SELECT 353 - <I362> = 362; // #define KEY_GOTO 354 - <I363> = 363; // #define KEY_CLEAR 355 - <I364> = 364; // #define KEY_POWER2 356 - <I365> = 365; // #define KEY_OPTION 357 - <I366> = 366; // #define KEY_INFO 358 - <I367> = 367; // #define KEY_TIME 359 - <I368> = 368; // #define KEY_VENDOR 360 - <I369> = 369; // #define KEY_ARCHIVE 361 - <I370> = 370; // #define KEY_PROGRAM 362 - <I371> = 371; // #define KEY_CHANNEL 363 <I372> = 372; // #define KEY_FAVORITES 364 - <I373> = 373; // #define KEY_EPG 365 - <I374> = 374; // #define KEY_PVR 366 - <I375> = 375; // #define KEY_MHP 367 - <I376> = 376; // #define KEY_LANGUAGE 368 - <I377> = 377; // #define KEY_TITLE 369 - <I378> = 378; // #define KEY_SUBTITLE 370 - <I379> = 379; // #define KEY_ANGLE 371 <I380> = 380; // #define KEY_FULL_SCREEN 372 - <I381> = 381; // #define KEY_MODE 373 <I382> = 382; // #define KEY_KEYBOARD 374 - <I383> = 383; // #define KEY_ASPECT_RATIO 375 - <I384> = 384; // #define KEY_PC 376 - <I385> = 385; // #define KEY_TV 377 - <I386> = 386; // #define KEY_TV2 378 - <I387> = 387; // #define KEY_VCR 379 - <I388> = 388; // #define KEY_VCR2 380 - <I389> = 389; // #define KEY_SAT 381 - <I390> = 390; // #define KEY_SAT2 382 - <I391> = 391; // #define KEY_CD 383 - <I392> = 392; // #define KEY_TAPE 384 - <I393> = 393; // #define KEY_RADIO 385 - <I394> = 394; // #define KEY_TUNER 386 - <I395> = 395; // #define KEY_PLAYER 387 - <I396> = 396; // #define KEY_TEXT 388 - <I397> = 397; // #define KEY_DVD 389 - <I398> = 398; // #define KEY_AUX 390 - <I399> = 399; // #define KEY_MP3 391 - <I400> = 400; // #define KEY_AUDIO 392 - <I401> = 401; // #define KEY_VIDEO 393 - <I402> = 402; // #define KEY_DIRECTORY 394 - <I403> = 403; // #define KEY_LIST 395 - <I404> = 404; // #define KEY_MEMO 396 - <I405> = 405; // #define KEY_CALENDAR 397 - <I406> = 406; // #define KEY_RED 398 - <I407> = 407; // #define KEY_GREEN 399 - <I408> = 408; // #define KEY_YELLOW 400 - <I409> = 409; // #define KEY_BLUE 401 - <I410> = 410; // #define KEY_CHANNELUP 402 - <I411> = 411; // #define KEY_CHANNELDOWN 403 - <I412> = 412; // #define KEY_FIRST 404 - <I413> = 413; // #define KEY_LAST 405 - <I414> = 414; // #define KEY_AB 406 - <I415> = 415; // #define KEY_NEXT 407 - <I416> = 416; // #define KEY_RESTART 408 - <I417> = 417; // #define KEY_SLOW 409 - <I418> = 418; // #define KEY_SHUFFLE 410 - <I419> = 419; // #define KEY_BREAK 411 - <I420> = 420; // #define KEY_PREVIOUS 412 - <I421> = 421; // #define KEY_DIGITS 413 - <I422> = 422; // #define KEY_TEEN 414 - <I423> = 423; // #define KEY_TWEN 415 - <I424> = 424; // #define KEY_VIDEOPHONE 416 - <I425> = 425; // #define KEY_GAMES 417 - <I426> = 426; // #define KEY_ZOOMIN 418 - <I427> = 427; // #define KEY_ZOOMOUT 419 - <I428> = 428; // #define KEY_ZOOMRESET 420 - <I429> = 429; // #define KEY_WORDPROCESSOR 421 - <I430> = 430; // #define KEY_EDITOR 422 - <I431> = 431; // #define KEY_SPREADSHEET 423 - <I432> = 432; // #define KEY_GRAPHICSEDITOR 424 - <I433> = 433; // #define KEY_PRESENTATION 425 - <I434> = 434; // #define KEY_DATABASE 426 - <I435> = 435; // #define KEY_NEWS 427 - <I436> = 436; // #define KEY_VOICEMAIL 428 - <I437> = 437; // #define KEY_ADDRESSBOOK 429 - <I438> = 438; // #define KEY_MESSENGER 430 - <I439> = 439; // #define KEY_DISPLAYTOGGLE 431 - <I440> = 440; // #define KEY_SPELLCHECK 432 - <I441> = 441; // #define KEY_LOGOFF 433 <I442> = 442; // #define KEY_DOLLAR 434 <I443> = 443; // #define KEY_EURO 435 - <I444> = 444; // #define KEY_FRAMEBACK 436 - <I445> = 445; // #define KEY_FRAMEFORWARD 437 - <I446> = 446; // #define KEY_CONTEXT_MENU 438 - <I447> = 447; // #define KEY_MEDIA_REPEAT 439 - <I448> = 448; // #define KEY_10CHANNELSUP 440 - <I449> = 449; // #define KEY_10CHANNELSDOWN 441 - <I450> = 450; // #define KEY_IMAGES 442 - <I456> = 456; // #define KEY_DEL_EOL 448 - <I457> = 457; // #define KEY_DEL_EOS 449 - <I458> = 458; // #define KEY_INS_LINE 450 - <I459> = 459; // #define KEY_DEL_LINE 451 - <I472> = 472; // #define KEY_FN 464 - <I473> = 473; // #define KEY_FN_ESC 465 - <I474> = 474; // #define KEY_FN_F1 466 - <I475> = 475; // #define KEY_FN_F2 467 - <I476> = 476; // #define KEY_FN_F3 468 - <I477> = 477; // #define KEY_FN_F4 469 - <I478> = 478; // #define KEY_FN_F5 470 - <I479> = 479; // #define KEY_FN_F6 471 - <I480> = 480; // #define KEY_FN_F7 472 - <I481> = 481; // #define KEY_FN_F8 473 - <I482> = 482; // #define KEY_FN_F9 474 - <I483> = 483; // #define KEY_FN_F10 475 - <I484> = 484; // #define KEY_FN_F11 476 - <I485> = 485; // #define KEY_FN_F12 477 - <I486> = 486; // #define KEY_FN_1 478 - <I487> = 487; // #define KEY_FN_2 479 - <I488> = 488; // #define KEY_FN_D 480 - <I489> = 489; // #define KEY_FN_E 481 - <I490> = 490; // #define KEY_FN_F 482 - <I491> = 491; // #define KEY_FN_S 483 - <I492> = 492; // #define KEY_FN_B 484 - <I505> = 505; // #define KEY_BRL_DOT1 497 - <I506> = 506; // #define KEY_BRL_DOT2 498 - <I507> = 507; // #define KEY_BRL_DOT3 499 - <I508> = 508; // #define KEY_BRL_DOT4 500 - <I509> = 509; // #define KEY_BRL_DOT5 501 - <I510> = 510; // #define KEY_BRL_DOT6 502 - <I511> = 511; // #define KEY_BRL_DOT7 503 - <I512> = 512; // #define KEY_BRL_DOT8 504 - <I513> = 513; // #define KEY_BRL_DOT9 505 - <I514> = 514; // #define KEY_BRL_DOT10 506 - <I520> = 520; // #define KEY_NUMERIC_0 512 - <I521> = 521; // #define KEY_NUMERIC_1 513 - <I522> = 522; // #define KEY_NUMERIC_2 514 - <I523> = 523; // #define KEY_NUMERIC_3 515 - <I524> = 524; // #define KEY_NUMERIC_4 516 - <I525> = 525; // #define KEY_NUMERIC_5 517 - <I526> = 526; // #define KEY_NUMERIC_6 518 - <I527> = 527; // #define KEY_NUMERIC_7 519 - <I528> = 528; // #define KEY_NUMERIC_8 520 - <I529> = 529; // #define KEY_NUMERIC_9 521 - <I530> = 530; // #define KEY_NUMERIC_STAR 522 - <I531> = 531; // #define KEY_NUMERIC_POUND 523 - <I532> = 532; // #define KEY_NUMERIC_A 524 - <I533> = 533; // #define KEY_NUMERIC_B 525 - <I534> = 534; // #define KEY_NUMERIC_C 526 - <I535> = 535; // #define KEY_NUMERIC_D 527 - <I536> = 536; // #define KEY_CAMERA_FOCUS 528 - <I537> = 537; // #define KEY_WPS_BUTTON 529 - <I538> = 538; // #define KEY_TOUCHPAD_TOGGLE 530 - <I539> = 539; // #define KEY_TOUCHPAD_ON 531 - <I540> = 540; // #define KEY_TOUCHPAD_OFF 532 - <I541> = 541; // #define KEY_CAMERA_ZOOMIN 533 - <I542> = 542; // #define KEY_CAMERA_ZOOMOUT 534 - <I543> = 543; // #define KEY_CAMERA_UP 535 - <I544> = 544; // #define KEY_CAMERA_DOWN 536 - <I545> = 545; // #define KEY_CAMERA_LEFT 537 - <I546> = 546; // #define KEY_CAMERA_RIGHT 538 - <I547> = 547; // #define KEY_ATTENDANT_ON 539 - <I548> = 548; // #define KEY_ATTENDANT_OFF 540 - <I549> = 549; // #define KEY_ATTENDANT_TOGGLE 541 - <I550> = 550; // #define KEY_LIGHTS_TOGGLE 542 - <I568> = 568; // #define KEY_ALS_TOGGLE 560 <I569> = 569; // #define KEY_ROTATE_LOCK_TOGGLE 561 - <I584> = 584; // #define KEY_BUTTONCONFIG 576 - <I585> = 585; // #define KEY_TASKMANAGER 577 - <I586> = 586; // #define KEY_JOURNAL 578 - <I587> = 587; // #define KEY_CONTROLPANEL 579 - <I588> = 588; // #define KEY_APPSELECT 580 - <I589> = 589; // #define KEY_SCREENSAVER 581 - <I590> = 590; // #define KEY_VOICECOMMAND 582 - <I591> = 591; // #define KEY_ASSISTANT 583 - <I592> = 592; // #define KEY_KBD_LAYOUT_NEXT 584 - <I600> = 600; // #define KEY_BRIGHTNESS_MIN 592 - <I601> = 601; // #define KEY_BRIGHTNESS_MAX 593 - <I616> = 616; // #define KEY_KBDINPUTASSIST_PREV 608 - <I617> = 617; // #define KEY_KBDINPUTASSIST_NEXT 609 - <I618> = 618; // #define KEY_KBDINPUTASSIST_PREVGROUP 610 - <I619> = 619; // #define KEY_KBDINPUTASSIST_NEXTGROUP 611 - <I620> = 620; // #define KEY_KBDINPUTASSIST_ACCEPT 612 - <I621> = 621; // #define KEY_KBDINPUTASSIST_CANCEL 613 - <I622> = 622; // #define KEY_RIGHT_UP 614 - <I623> = 623; // #define KEY_RIGHT_DOWN 615 - <I624> = 624; // #define KEY_LEFT_UP 616 - <I625> = 625; // #define KEY_LEFT_DOWN 617 - <I626> = 626; // #define KEY_ROOT_MENU 618 - <I627> = 627; // #define KEY_MEDIA_TOP_MENU 619 - <I628> = 628; // #define KEY_NUMERIC_11 620 - <I629> = 629; // #define KEY_NUMERIC_12 621 - <I630> = 630; // #define KEY_AUDIO_DESC 622 - <I631> = 631; // #define KEY_3D_MODE 623 - <I632> = 632; // #define KEY_NEXT_FAVORITE 624 - <I633> = 633; // #define KEY_STOP_RECORD 625 - <I634> = 634; // #define KEY_PAUSE_RECORD 626 - <I635> = 635; // #define KEY_VOD 627 - <I636> = 636; // #define KEY_UNMUTE 628 - <I637> = 637; // #define KEY_FASTREVERSE 629 - <I638> = 638; // #define KEY_SLOWREVERSE 630 - <I639> = 639; // #define KEY_DATA 631 - <I640> = 640; // #define KEY_ONSCREEN_KEYBOARD 632 - <I641> = 641; // #define KEY_PRIVACY_SCREEN_TOGGLE 633 - <I642> = 642; // #define KEY_SELECTIVE_SCREENSHOT 634 - <I664> = 664; // #define KEY_MACRO1 656 - <I665> = 665; // #define KEY_MACRO2 657 - <I666> = 666; // #define KEY_MACRO3 658 - <I667> = 667; // #define KEY_MACRO4 659 - <I668> = 668; // #define KEY_MACRO5 660 - <I669> = 669; // #define KEY_MACRO6 661 - <I670> = 670; // #define KEY_MACRO7 662 - <I671> = 671; // #define KEY_MACRO8 663 - <I672> = 672; // #define KEY_MACRO9 664 - <I673> = 673; // #define KEY_MACRO10 665 - <I674> = 674; // #define KEY_MACRO11 666 - <I675> = 675; // #define KEY_MACRO12 667 - <I676> = 676; // #define KEY_MACRO13 668 - <I677> = 677; // #define KEY_MACRO14 669 - <I678> = 678; // #define KEY_MACRO15 670 - <I679> = 679; // #define KEY_MACRO16 671 - <I680> = 680; // #define KEY_MACRO17 672 - <I681> = 681; // #define KEY_MACRO18 673 - <I682> = 682; // #define KEY_MACRO19 674 - <I683> = 683; // #define KEY_MACRO20 675 - <I684> = 684; // #define KEY_MACRO21 676 - <I685> = 685; // #define KEY_MACRO22 677 - <I686> = 686; // #define KEY_MACRO23 678 - <I687> = 687; // #define KEY_MACRO24 679 - <I688> = 688; // #define KEY_MACRO25 680 - <I689> = 689; // #define KEY_MACRO26 681 - <I690> = 690; // #define KEY_MACRO27 682 - <I691> = 691; // #define KEY_MACRO28 683 - <I692> = 692; // #define KEY_MACRO29 684 - <I693> = 693; // #define KEY_MACRO30 685 - <I696> = 696; // #define KEY_MACRO_RECORD_START 688 - <I697> = 697; // #define KEY_MACRO_RECORD_STOP 689 - <I698> = 698; // #define KEY_MACRO_PRESET_CYCLE 690 - <I699> = 699; // #define KEY_MACRO_PRESET1 691 - <I700> = 700; // #define KEY_MACRO_PRESET2 692 - <I701> = 701; // #define KEY_MACRO_PRESET3 693 - <I704> = 704; // #define KEY_KBD_LCD_MENU1 696 - <I705> = 705; // #define KEY_KBD_LCD_MENU2 697 - <I706> = 706; // #define KEY_KBD_LCD_MENU3 698 - <I707> = 707; // #define KEY_KBD_LCD_MENU4 699 - <I708> = 708; // #define KEY_KBD_LCD_MENU5 700 - // End of autogenerated key codes // Fake keycodes for virtual keys <LVL3> = 92; diff --git a/keycodes/evdev.in b/keycodes/evdev.in deleted file mode 100644 index 477152b9..00000000 --- a/keycodes/evdev.in +++ /dev/null @@ -1,217 +0,0 @@ -// translation from evdev scancodes to something resembling xfree86 keycodes. - -default xkb_keycodes "evdev" { - minimum = 8; - maximum = 255; - - # Added for pc105 compatibility - <LSGT> = 94; - - <TLDE> = 49; - <AE01> = 10; - <AE02> = 11; - <AE03> = 12; - <AE04> = 13; - <AE05> = 14; - <AE06> = 15; - <AE07> = 16; - <AE08> = 17; - <AE09> = 18; - <AE10> = 19; - <AE11> = 20; - <AE12> = 21; - <BKSP> = 22; - - <TAB> = 23; - <AD01> = 24; - <AD02> = 25; - <AD03> = 26; - <AD04> = 27; - <AD05> = 28; - <AD06> = 29; - <AD07> = 30; - <AD08> = 31; - <AD09> = 32; - <AD10> = 33; - <AD11> = 34; - <AD12> = 35; - <BKSL> = 51; - alias <AC12> = <BKSL>; - <RTRN> = 36; - - <CAPS> = 66; - <AC01> = 38; - <AC02> = 39; - <AC03> = 40; - <AC04> = 41; - <AC05> = 42; - <AC06> = 43; - <AC07> = 44; - <AC08> = 45; - <AC09> = 46; - <AC10> = 47; - <AC11> = 48; - - <LFSH> = 50; - <AB01> = 52; - <AB02> = 53; - <AB03> = 54; - <AB04> = 55; - <AB05> = 56; - <AB06> = 57; - <AB07> = 58; - <AB08> = 59; - <AB09> = 60; - <AB10> = 61; - <RTSH> = 62; - - <LALT> = 64; - <LCTL> = 37; - <SPCE> = 65; - <RCTL> = 105; - <RALT> = 108; - // Microsoft keyboard extra keys - <LWIN> = 133; - <RWIN> = 134; - <COMP> = 135; - alias <MENU> = <COMP>; - - <ESC> = 9; - <FK01> = 67; - <FK02> = 68; - <FK03> = 69; - <FK04> = 70; - <FK05> = 71; - <FK06> = 72; - <FK07> = 73; - <FK08> = 74; - <FK09> = 75; - <FK10> = 76; - <FK11> = 95; - <FK12> = 96; - - <PRSC> = 107; - // <SYRQ> = 107; - <SCLK> = 78; - <PAUS> = 127; - // <BRK> = 419; - - <INS> = 118; - <HOME> = 110; - <PGUP> = 112; - <DELE> = 119; - <END> = 115; - <PGDN> = 117; - - <UP> = 111; - <LEFT> = 113; - <DOWN> = 116; - <RGHT> = 114; - - <NMLK> = 77; - <KPDV> = 106; - <KPMU> = 63; - <KPSU> = 82; - - <KP7> = 79; - <KP8> = 80; - <KP9> = 81; - <KPAD> = 86; - - <KP4> = 83; - <KP5> = 84; - <KP6> = 85; - - <KP1> = 87; - <KP2> = 88; - <KP3> = 89; - <KPEN> = 104; - - <KP0> = 90; - <KPDL> = 91; - <KPEQ> = 125; - - <FK13> = 191; - <FK14> = 192; - <FK15> = 193; - <FK16> = 194; - <FK17> = 195; - <FK18> = 196; - <FK19> = 197; - <FK20> = 198; - <FK21> = 199; - <FK22> = 200; - <FK23> = 201; - <FK24> = 202; - - // Keys that are generated on Japanese keyboards - - //<HZTG> = 93; // Hankaku/Zenkakau toggle - not actually used - alias <HZTG> = <TLDE>; - <HKTG> = 101; // Hiragana/Katakana toggle - <AB11> = 97; // backslash/underscore - <HENK> = 100; // Henkan - <MUHE> = 102; // Muhenkan - <AE13> = 132; // Yen - <KATA> = 98; // Katakana - <HIRA> = 99; // Hiragana - <JPCM> = 103; // KPJPComma - //<RO> = 97; // Romaji - - // Keys that are generated on Korean keyboards - - <HNGL> = 130; // Hangul Latin toggle - <HJCV> = 131; // Hangul to Hanja conversion - - // Solaris compatibility - - alias <LMTA> = <LWIN>; - alias <RMTA> = <RWIN>; - <MUTE> = 121; - <VOL-> = 122; - <VOL+> = 123; - <POWR> = 124; - <STOP> = 136; - <AGAI> = 137; - <PROP> = 138; - <UNDO> = 139; - <FRNT> = 140; - <COPY> = 141; - <OPEN> = 142; - <PAST> = 143; - <FIND> = 144; - <CUT> = 145; - <HELP> = 146; - - // Extended keys that may be generated on "Internet" keyboards. - // evdev has standardize names for these. - - <LNFD> = 109; // #define KEY_LINEFEED 101 - - @evdevkeys@ - - // Fake keycodes for virtual keys - <LVL3> = 92; - <MDSW> = 203; - <ALT> = 204; - <META> = 205; - <SUPR> = 206; - <HYPR> = 207; - - indicator 1 = "Caps Lock"; - indicator 2 = "Num Lock"; - indicator 3 = "Scroll Lock"; - indicator 4 = "Compose"; - indicator 5 = "Kana"; - indicator 6 = "Sleep"; - indicator 7 = "Suspend"; - indicator 8 = "Mute"; - indicator 9 = "Misc"; - indicator 10 = "Mail"; - indicator 11 = "Charging"; - - alias <ALGR> = <RALT>; - - // For Brazilian ABNT2 - alias <KPPT> = <I129>; -}; diff --git a/meson.build b/meson.build index 0175968d..71002be7 100644 --- a/meson.build +++ b/meson.build @@ -28,7 +28,7 @@ pkgconfig.generate( # KcGST only need to be installed as-is foreach dir: ['compat', 'geometry', 'keycodes', 'symbols', 'types'] install_subdir(dir, - exclude_files: ['Makefile.am', 'evdev.in'], + exclude_files: ['Makefile.am'], install_dir: dir_xkb_base) endforeach |