diff options
268 files changed, 21260 insertions, 908 deletions
diff --git a/docs/gnulinux/configuring_parabola.md b/docs/gnulinux/configuring_parabola.md index 167f147e..1e525f59 100644 --- a/docs/gnulinux/configuring_parabola.md +++ b/docs/gnulinux/configuring_parabola.md @@ -24,7 +24,7 @@ Paradoxically, as you get more advanced, Parabola can actually become compared to what most distributions provide. You will find over time that other distributions tend to *get in your way*. -A lot of the steps in this guide will refer to the Arch wiki. Arch is +A lot of the steps in this guide will refer to ArchWiki. Arch is the upstream distribution that Parabola uses. Most of this guide will also tell you to read wiki articles, other pages, manuals, and so on. In general, it tries to cherry-pick the most useful information, but @@ -33,10 +33,10 @@ nonetheless, you are encouraged to learn as much as possible. **NOTE: It might take you a few days to fully install your system how you like, depending on how much you need to read. Patience is key, especially for new users.** -The Arch wiki will sometimes use bad language, such as calling the whole +The ArchWiki will sometimes use bad language, such as calling the whole system Linux, using the term **open-source**/**closed-source**, and it will sometimes recommend the use of proprietary software. -You need to be careful about this when reading anything on the Arch wiki. +You need to be careful about this when reading anything on ArchWiki. Some of these steps require internet access. To get initial access for setting up the system (I'll go into networking later), @@ -121,14 +121,14 @@ before. In general, keeping notes (such as what I have done with this page) can be very useful as a reference in the future (e.g, if you wanted to re-install it, or install the distro on another computer). -You should also read the Arch wiki article on [System Maintenance](https://wiki.archlinux.org/index.php/System_maintenance), +You should also read the ArchWiki article on [System Maintenance](https://wiki.archlinux.org/index.php/System_maintenance), before continuing. Also, read their article on [enhancing system stability](https://wiki.archlinux.org/index.php/Enhance_system_stability). This is important, so make sure to read them both!* Install `smartmontools`; it can be used to check smart data. HDDs use non-free firmware inside; it's transparent to you, but the smart data comes from it. Therefore, don't rely on it too much), and then read -the Arch wiki [article](https://wiki.archlinux.org/index.php/S.M.A.R.T.) on it, to learn how to use it: +the ArchWiki [article](https://wiki.archlinux.org/index.php/S.M.A.R.T.) on it, to learn how to use it: # pacman -S smartmontools @@ -195,7 +195,7 @@ for generating secure passphrases. ### Configure sudo Now that we have a normal user account, we'll want to configure `sudo`, so that user is able to run commands as **root** (e.g., installing software); -this will be necessary to flash the ROM later on. Refer to the Arch wiki's [sudo](https://wiki.archlinux.org/index.php/Sudo) documentation. +this will be necessary to flash the ROM later on. Refer to ArchWiki's [sudo](https://wiki.archlinux.org/index.php/Sudo) documentation. The first step is to install the `sudo` package: @@ -237,8 +237,8 @@ a sound manager (to make sure you can hear sound through speakers or headphones) or DHCP (which allows you to get an IP address, to connect to the internet). These are just a few examples; there are countless others. -`systemd` is a controversial init system; [here](https://bbs.archlinux.org/viewtopic.php?pid=1149530#p1149530) -is an explanation behind the Arch development team's decision to use it. +`systemd` is a controversial init system; A [forum post](https://bbs.archlinux.org/viewtopic.php?pid=1149530#p1149530) +has an explanation behind the Arch development team's decision to use it. The **manpage** should also help: @@ -280,7 +280,7 @@ To delete the temporary files, you can use the `clean` option: # systemd-tmpfiles --clean According to the **manpage**, this *"cleans all files and directories with -an age parameter"*. According to the Arch wiki, this reads information +an age parameter"*. According to ArchWiki, this reads information in **/etc/tmpfiles.d** and **/usr/lib/tmpfiles.d**, to know what actions to perform. Therefore, it is a good idea to read what's stored in these locations, to get a better understanding. @@ -319,7 +319,7 @@ In the end, I decided not to install anything from it, but I kept the repository enabled regardless. ## Setup a Network Connection in Parabola -Read the Arch wiki guide to [Configuring the Network](https://wiki.archlinux.org/index.php/Configuring_Network). +Read the ArchWiki guide to [Configuring the Network](https://wiki.archlinux.org/index.php/Configuring_Network). ### Set the Hostname This should be the same as the hostname that you set in **/etc/hostname**, @@ -348,7 +348,7 @@ The `hostname` utility is part of the `inetutils` package, and is in the **core* installed by default (as part of the **base** package). ### Network Status -According to the Arch wiki, [udev](https://wiki.archlinux.org/index.php/Udev) should already detect +According to ArchWiki, [udev](https://wiki.archlinux.org/index.php/Udev) should already detect the ethernet chipset, and automatically load the driver for it at boot time. You can check this in the **Ethernet controller** section, when running the `lspci` command: @@ -366,7 +366,7 @@ In my case, I did: # dmesg | grep e1000e ### Network Device Names -According to the Arch wiki guide on [Configuring Network Device Names](https://wiki.archlinux.org/index.php/Configuring_Network#Device_names), +According to the ArchWiki guide on [Configuring Network Device Names](https://wiki.archlinux.org/index.php/Configuring_Network#Device_names), it is important to note that the old interface names that you might be used to (e.g., `eth0`, `wlan0`, `wwan0`, etc.), if you come from a distribution like Debian or Trisquel, are no longer applicable. Instead, `systemd` creates device names @@ -375,7 +375,7 @@ with a fixed identifier that it automatically generates. An example device name for your ethernet chipset would be `enp0s25`, and is never supposed to change. -If you want to enable the old names, the Arch wiki recommends adding `net.ifnames=0` +If you want to enable the old names, ArchWiki recommends adding `net.ifnames=0` to your kernel parameters (in Libreboot context, this would be accomplished by following the instructions in [How to replace the default GRUB configuration file](grub_cbfs.md)). @@ -401,7 +401,7 @@ that you could use. Since we are going with the *MATE Desktop Environment*, we will primarily be following the instructions on the [Arch Linux Package Repository](https://wiki.mate-desktop.org/archlinux_custom_repo) page, but will also refer to the [General Recommendations](https://wiki.archlinux.org/index.php/General_recommendations#Graphical_user_interface) -on the Arch wiki. +on ArchWiki. ### Installing Xorg The first step is to install [**Xorg**](https://wiki.archlinux.org/index.php/Xorg); @@ -433,14 +433,14 @@ Other drivers (not just video) can be found by looking at the `xorg-drivers` gro so you will notice that the layout you set in **/etc/vconsole.conf** earlier might not actually be the same in `xorg`. -Check the Arch wiki's article on [Xorg's keyboard configuration](https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg), for more information. +Check ArchWiki's article on [Xorg's keyboard configuration](https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg), for more information. To see what layout you currently use, try this on a terminal emulator in `xorg`: # setxkbmap -print -verbose 10 I'm simply using the default Qwerty (US) keyboard, so there isn't anything I need -to change here; if you do need to make any changes, the Arch wiki recommends two ways +to change here; if you do need to make any changes, ArchWiki recommends two ways of doing it: manually updating [configuration files](https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg#Using_X_configuration_files) or using the [localectl](https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg#Using_localectl) command. ### Installing MATE @@ -450,7 +450,7 @@ if we want all of the MATE Desktop, we need to install two packages: # pacman -Syy mate mate-extra The last step is to install a Display Manager; for MATE, we will be using `lightdm` -(it's the recommended Display Manager for the MATE Desktop); for this, we'll follow the insructions [here](https://wiki.mate-desktop.org/archlinux_custom_repo#display_manager_recommended), +(it's the recommended Display Manager for the MATE Desktop); for this, we'll folow the instructions [on the MATE wiki](https://wiki.mate-desktop.org/archlinux_custom_repo#display_manager_recommended), with one small change: the `lightdm-gtk3-greeter` package doesn't exist in Parabola's repositories. So, instead we will install the `lightdm-gtk-greeter` package; it performs the same function. @@ -466,14 +466,15 @@ as well as the service that will prompt us with a login window, `accounts-daemon # systemctl enable accounts-daemon Now you have installed the *MATE Desktop Environment*,If you wanted -to install another desktop environment, check out some [other options](https://wiki.archlinux.org/index.php/Desktop_environment) on the the Arch wiki. +to install another desktop environment, check out some [other options](https://wiki.archlinux.org/index.php/Desktop_environment) on ArchWiki. ### Configuring Network Manager in MATE Now that we have installed the Mate Desktop environment, and booted into it, we need to set up the network configuration in our graphical environment. -The MATE Desktop wiki recommends that we use Network Manager; the Arch wiki article -about it can be found [here](https://wiki.archlinux.org/index.php/NetworkManager). +The MATE Desktop wiki recommends that we use Network Manager; an +article about Network Manager can be found +[on ArchWiki](https://wiki.archlinux.org/index.php/NetworkManager). We need to install the NetworkManager package: diff --git a/docs/gnulinux/encrypted_debian.md b/docs/gnulinux/encrypted_debian.md index 2b95b2a9..83f0dd28 100644 --- a/docs/gnulinux/encrypted_debian.md +++ b/docs/gnulinux/encrypted_debian.md @@ -154,8 +154,8 @@ Choose 'Yes'. It will fail, but don't worry. Then at the main menu, choose 'Continue without a bootloader'. You could also choose 'No'. Choice is irrelevant here. -*You do not need to install GRUB at all, since in libreboot you are -using the GRUB payload (for libreboot) to boot your system directly.* +*Don't forget to have grub-coreboot package installed, even though installing grub to MBR is irrelevant +on libreboot system, grub tools are still needed to eg. generate config (`grub-mkconfig`)* Clock UTC ========= diff --git a/docs/gnulinux/encrypted_parabola.md b/docs/gnulinux/encrypted_parabola.md index 2493b4aa..a4d7dd16 100644 --- a/docs/gnulinux/encrypted_parabola.md +++ b/docs/gnulinux/encrypted_parabola.md @@ -20,12 +20,15 @@ This guide borrows heavily from the Parabola wiki, and will constantly link to i For those new to Parabola GNU+Linux-Libre, check their [Beginner section](https://wiki.parabola.nu/Beginners%27_guide#Beginners) for an overview. ## Minumum Requirements -You can find the minimum requirements to run Parabola GNU+Linux [here](https://wiki.parabola.nu/Beginners%27_guide#Minimum_system_requirements). +You can find the minimum requirements to run Parabola GNU+Linux +[on the Parabola wiki](https://wiki.parabola.nu/Beginners%27_guide#Minimum_system_requirements). ## Preparation ### Download the latest ISO -For this guide, I used the *2016.11.03* ISO; the most current image is available [here](https://wiki.parabola.nu/Get_Parabola#Main_live_ISO). +For this guide, I used the *2016.11.03* ISO; the most current image is +available on Parabola's +[downloads page](https://wiki.parabola.nu/Get_Parabola#Main_live_ISO). If you are a complete beginner with GNU+Linux, choose the *Mate Desktop ISO*. it is easier to install Parabola with this version, because it allows you @@ -80,7 +83,7 @@ if it's not new, then there are two ways to handle it: you can either choose to fill it with zeroes or random data; I chose random data (e.g., `urandom`), because it's more secure. Depending on the size of the drive, this could take a while to complete: - # dd if=/dev/urandom of=/dev/sdX; sync + `# dd if=/dev/urandom of=/dev/sdX; sync` 2. If the drive were previously encrypted, all you need to do is wipe the LUKS header. The size of the header depends upon the specific model of the hard drive; @@ -88,7 +91,7 @@ you can find this information by doing some research online. Refer to this [article](https://www.lisenet.com/2013/luks-add-keys-backup-and-restore-volume-header/), for more information about LUKS headers. You can either fill the header with zeroes, or with random data; again, I chose random data, using `urandom`: - # head -c 3145728 /dev/urandom > /dev/sdX; sync + `# head -c 3145728 /dev/urandom > /dev/sdX; sync` Also, if you're using an SSD, there are a two things you should keep in mind: @@ -183,17 +186,17 @@ Check to make sure that the group was created: Lastly, we need to create the logical volumes themselves, inside the volume group; one will be our swap, cleverly named **swapvol**, and the other will be our root partition, -equally cleverly named as **root**. +equally cleverly named as **rootvol**. 1. We will create the **swapvol** first (again, choose your own name, if you like). Also, make sure to [choose an appropriate swap size](http://www.linux.com/news/software/applications/8208-all-about-linux-swap-space) (e.g., **2G** refers to two gigabytes; change this however you see fit): - # lvcreate -L 2G matrix -n swapvol + `# lvcreate -L 2G matrix -n swapvol` -2. Now, we will create a single, large partition in the rest of the space, for **root**: +2. Now, we will create a single, large partition in the rest of the space, for **rootvol**: - # lvcreate -l +100%FREE matrix -n root + `#Â lvcreate -l +100%FREE matrix -n rootvol` You can also be flexible here, for example you can specify a **/boot**, a **/**, a **/home**, a **/var**, or a **/usr** volume. For example, if you will be running a @@ -205,9 +208,9 @@ Verify that the logical volumes were created correctly: # lvdisplay -#### Make the root and swap Partitions Ready for Installation +#### Make the rootvol and swapvol Partitions Ready for Installation The last steps of setting up the drive for installation are turning **swapvol** -into an active swap partition, and formatting **root**. +into an active swap partition, and formatting **rootvol**. To make **swapvol** into a swap partition, we run the `mkswap` (i.e., make swap) command: @@ -218,24 +221,24 @@ using `swapon` (i.e., turn swap on) command: # swapon /dev/matrix/swapvol -Now I have to format **root**, to make it ready for installation; +Now I have to format **rootvol**, to make it ready for installation; I do this with the `mkfs` (i.e., make file system) command. I choose the **ext4** filesystem, but you could use a different one, depending on your use case: - # mkfs.ext4 /dev/mapper/matrix-root + # mkfs.ext4 /dev/mapper/matrix-rootvol -Lastly, I need to mount **root**. Fortunately, GNU+Linux has a directory +Lastly, I need to mount **rootvol**. Fortunately, GNU+Linux has a directory for this very purpose: **/mnt**: - # mount /dev/matrix/root /mnt + # mount /dev/matrix/rootvol /mnt #### Create the /boot and /home Directories -Now that you have mounted **root**, you need to create the two most important +Now that you have mounted **rootvol**, you need to create the two most important folders on it: **/boot** and **/home**; these folder contain your boot files, as well as each user's personal documents, videos, etc.. -Since you mounted **root** at **/mnt**, this is where you must create them; +Since you mounted **rootvol** at **/mnt**, this is where you must create them; you will do so using `mkdir`: # mkdir -p /mnt/home @@ -251,7 +254,7 @@ The setup of the drive and partitions is now complete; it's time to actually ins The first step of the actual installation is to choose the server from where we will need to download the packages; for this, we will again refer to the [Parabola Wiki](https://wiki.parabola.nu/Beginners%27_guide#Select_a_mirror). For beginners, I recommend that the edit the file using `nano` (a command-line text editor); -you can learn more about it [here](https://www.nano-editor.org/); for non-beginners, +you can learn more about it on [their website](https://www.nano-editor.org/); for non-beginners, simply edit it with your favorite text editor. ## Install the Base System @@ -261,7 +264,7 @@ refer to [Install the Base System](https://wiki.parabola.nu/Beginners%27_guide#I ## Generate an fstab The next step in the process is to generate a file known as an **fstab**; the purpose of this file is for the operating system to identify the storage device -used by your installation. [Here](https://wiki.parabola.nu/Beginners%27_guide#Generate_an_fstab) are the instructions to generate that file. +used by your installation. [On the Parabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Generate_an_fstab) are the instructions to generate that file. ## Chroot into and Configure the System Now, you need to `chroot` into your new installation, to complete the setup @@ -270,29 +273,30 @@ of an operating system to a different one; in this instance, it means changing directory to the one you created in the previous steps, so that you can modify files and install software onto it, as if it were the host operating system. -To `chroot` into your installation, follow the instructions [here](https://wiki.parabola.nu/Beginners%27_guide#Chroot_and_configure_the_base_system). +To `chroot` into your installation, follow the instructions [on the +Prabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Chroot_and_configure_the_base_system). ### Setting up the Locale Locale refers to the language that your operating system will use, as well as some other considerations related to the region in which you live. To set this up, -follow the instructions [here](https://wiki.parabola.nu/Beginners%27_guide#Locale). +follow the instructions [in the Parabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Locale). ### Setting up the Consolefont and Keymap -This will determine the keyboard layout of your new installation; follow the instructions [here](https://wiki.parabola.nu/Beginners%27_guide#Console_font_and_keymap). +This will determine the keyboard layout of your new installation; follow the instructions [in the Parabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Console_font_and_keymap). ### Setting up the Time Zone You'll need to set your current time zone in the operating system; this will enable applications that require accurate time to work properly (e.g., the web browser). -To do this, follow the instructions [here](https://wiki.parabola.nu/Beginners%27_guide#Time_zone). +To do this, follow the instructions [in the Parabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Time_zone). ### Setting up the Hardware Clock To make sure that your computer has the right time, you'll have to set the time in your computer's internal clock. -Follow the instructions [here](https://wiki.parabola.nu/Beginners%27_guide#Hardware_clock) to do that. +Follow the instructions [in the Parabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Hardware_clock) to do that. ### Setting up the Kernel Modules Now we need to make sure that the kernel has all the modules that it needs to boot the operating system. To do this, we need to edit a file called **mkinitcpio.conf**. -More information about this file can be found [here](https://wiki.parabola.nu/Mkinitcpio), +More information about this file can be found [in the Parabola beginner's guide](https://wiki.parabola.nu/Mkinitcpio), but for the sake of this guide, you simply need to run the following command. # nano /etc/mkinitcpio.conf @@ -334,7 +338,7 @@ Then, we update both kernels like this, using the `mkinitcpio` command: ### Setting up the Hostname Now we need to set up the hostname for the system; this is so that our device -can be identified by the network. Refer to [this section](https://wiki.parabola.nu/Beginners%27_guide#Hostname) +can be identified by the network. Refer to [the hostname section](https://wiki.parabola.nu/Beginners%27_guide#Hostname) of the Parabola wiki's Beginner's Guide. You can make the hostname anything you like; for example, if you wanted to choose the hostname **parabola**, you would run the `echo` command, like this: @@ -351,8 +355,8 @@ And then you would modify **/etc/hosts** like this, adding the hostname to it: ### Configure the Network Now that we have a hostname, we need to configure the settings for the rest of the network. -Instructions for setting up a wired connection are [here](https://wiki.parabola.nu/Beginners%27_guide#Wired), -and instructions for setting up a wireless connection are [here](https://wiki.parabola.nu/Beginners%27_guide#Wireless_2). +Instructions for setting up a wired connection are [in the Parabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Wired), +and instructions for setting up a wireless connection are [in the Parabola beginner's guide](https://wiki.parabola.nu/Beginners%27_guide#Wireless_2). ### Set the root Password The **root** account has control over all the files in the computer; for security, @@ -398,6 +402,17 @@ This configuration will lock the user out for ten minutes. You can unlock a user's account manually, using the **root** account, with this command: # pam_tally --user *theusername* --reset + +#### Generate grub.cfg +Edit configuration in `/etc/default/grub`, remembering to use UUID when poitning to mbr/gpt partition. +Use `blkid` to get list of devices with their respective UUIDs. +Next generate grub.cfg with + + # grub-mkconfig /boot/grub/grub.cfg + +If you have separate `/boot` partition, don't forget to add `boot` symlink inside that points to current directory + + # cd /boot; ln -s . boot ## Unmount All Partitions and Reboot Congratulations! You have finished the installation of Parabola GNU+Linux-Libre. @@ -412,9 +427,9 @@ Unmount all of the partitions from **/mnt**, and "turn off" the swap volume: # umount -R /mnt # swapoff -a -Deactivate the **root** and **swapvol** logical volumes: +Deactivate the **rootvol** and **swapvol** logical volumes: - # lvchange -an /dev/matrix/root + # lvchange -an /dev/matrix/rootvol # lvchange -an /dev/matrix/swapvol Lock the encrypted partition (i.e., close it): @@ -427,17 +442,18 @@ Shutdown the machine: After the machine is off, remove the installation media, and turn it on. -## Booting the New Installation, from GRUB -When starting your installation for the first time, you have to manually boot +## Booting the installation manually from GRUB +When you forget to configure or misconfigure grub on your hdd, you have to manually boot the system by entering a series of commands into the GRUB command line. + After the computer starts, Press `C` to bring up the GRUB command line. You can either boot the normal kernel, or the LTS kernel we installed; here are the commands for the normal kernel: grub> cryptomount -a - grub> set root='lvm/matrix-root' - grub> linux /boot/vmlinuz-linux-libre root=/dev/matrix/root cryptdevice=/dev/sda1:root + grub> set root='lvm/matrix-rootvol' + grub> linux /boot/vmlinuz-linux-libre root=/dev/matrix/rootvol cryptdevice=/dev/sda1:root grub> initrd /boot/initramfs-linux-libre.img grub> boot @@ -445,11 +461,9 @@ If you're trying to boot the LTS kernel, simply add **-lts** to the end of each command that contains the kernel (e.g., **/boot/vmlinuz-linux-libre** would be **/boot/vmlinuz/linux-libre-lts**). -**NOTE: on some Thinkpads, during boot, a faulty DVD drive can cause -the** `cryptomount -a` **command to fail, as well as the error** `AHCI transfer timed out` -**(when the Thinkpad X200 is connected to an UltraBase). For both issues, -the workaround was to remove the DVD drive (if using the UltraBase, -then the whole device must be removed).** +**NOTE: on machines with native sata, during boot a (faulty) optical disc drive (like dvd) can cause +the** `cryptomount -a` **command to fail/hang, as well as the error** `AHCI transfer timed out` +**The workaround was to remove the DVD drive.** ## Follow-Up Tutorial: Configuring Parabola The next step of the setup process is to modify the configuration file that diff --git a/docs/gnulinux/grub_cbfs.md b/docs/gnulinux/grub_cbfs.md index 99afe06c..5283b4fc 100644 --- a/docs/gnulinux/grub_cbfs.md +++ b/docs/gnulinux/grub_cbfs.md @@ -24,7 +24,7 @@ However, both ways will require us to download the Libreboot Utility Archive. ### Download the Libreboot Utility Archive The Libreboot Utility Archive contains the programs that we'll need to get our **grubtest.cfg** file. The latest release of the Libreboot Utility Archive -can be downloaded from libreboot.org, [here](https://www.mirrorservice.org/sites/libreboot.org/release/stable/20160907/libreboot_r20160907_util.tar.xz). +can be downloaded [from libreboot.org](https://www.mirrorservice.org/sites/libreboot.org/release/stable/20160907/libreboot_r20160907_util.tar.xz). The quickest way to download it would be to use the `wget` program, which (if you don't know) allows you to download files from the internet. @@ -93,7 +93,7 @@ image file is named **libreboot.rom**, so please make sure to adapt. There are two ways to get a pre-compiled ROM image: #### 1. Download a Pre-Compiled Image from the Libreboot Website -For the current release, **20160907**, they can be found [here](https://www.mirrorservice.org/sites/libreboot.org/release/stable/20160907/rom/grub/); +For the current release, **20160907**, they can be found [on a Libreboot mirror](https://www.mirrorservice.org/sites/libreboot.org/release/stable/20160907/rom/grub/); please adopt this guide, if using a different version of Libreboot. You also need to make sure that you select both the correct ROM for the device you're using, @@ -219,7 +219,7 @@ Or, replace it with this, if you are using a Debian-based distribution (e.g., Tr initrd /initrd.img Remember, that these names come from the instructions to install GNU+Linux -on Libreboot systems, located [here](index.md). If you followed different instructions, +on Libreboot systems, located [in the docs](index.md). If you followed different instructions, (or for some other reason, used different names), simply put the names of your **root** and **swap** volumes, in place of the ones used here. diff --git a/docs/hardware/c201.md b/docs/hardware/c201.md index 1a18e30c..f268e6f6 100644 --- a/docs/hardware/c201.md +++ b/docs/hardware/c201.md @@ -99,7 +99,7 @@ The libreboot project recommends using an external USB wifi dongle that works with free software. See [\#recommended\_wifi](./#recommended_wifi). -There are 2 companies (endorsed by Creative Commons, under their +There are 2 companies (endorsed by Free Software Foundation, under their *Respects your Freedom* guidelines), that sell USB WiFi dongles guaranteed to work with free software (i.e. linux-libre kernel): diff --git a/docs/hardware/gm45_remove_me.md b/docs/hardware/gm45_remove_me.md index f7ddfe55..b2f8db8b 100644 --- a/docs/hardware/gm45_remove_me.md +++ b/docs/hardware/gm45_remove_me.md @@ -24,7 +24,7 @@ More information about the ME can be found at <http://www.coreboot.org/Intel_Management_Engine> and <http://me.bios.io/Main_Page>. -Another project recently found: <http://io.smashthestack.org/me/> +Another project recently found: <http://io.netgarage.org/me/> ICH9 gen utility {#ich9gen} ================ diff --git a/docs/hardware/kgpe-d16.md b/docs/hardware/kgpe-d16.md index e14c447d..45b1ae6c 100644 --- a/docs/hardware/kgpe-d16.md +++ b/docs/hardware/kgpe-d16.md @@ -10,6 +10,7 @@ work), merged into libreboot. *Memory initialization is still problematic, for some modules. We recommend avoiding Kingston modules.* +*For working configurations see <https://www.coreboot.org/Board:asus/kgpe-d16>.* Flashing instructions can be found at [../install/\#flashrom](../install/#flashrom) - note that external @@ -125,7 +126,7 @@ The information here is adapted, from the ASUS website. ### Memory compatibility (with libreboot) - *Total Slots:* 16 (4-channel per CPU, 8 DIMM per CPU), ECC -- *Capacity:* Maximum up to 256GB RDIMM +- *Capacity:* Maximum up to 256GB RDIMM (Tested max 128GB) - *Memory Type that is compatible:* - DDR3 1600/1333/1066/800 UDIMM\* - DDR3 1600/1333/1066/800 RDIMM\* diff --git a/docs/hardware/x200.md b/docs/hardware/x200.md index be4c2a38..c5f535cb 100644 --- a/docs/hardware/x200.md +++ b/docs/hardware/x200.md @@ -42,6 +42,15 @@ only replaces the BIOS firmware, not EC. Updated EC firmware has several advantages e.g. bettery battery handling. +Battery Recall {#batteryrecall} +========= +[On 21 April 2015, Lenovo expanded a recall on Lenovo batteries found in some ThinkPad models, which includes the X200 and X200S.](https://pcsupport.lenovo.com/cr/en/solutions/hf004122) +To find out if you are affected, use [this Lenovo tool.](https://lenovobattery2014.orderz.com/) +Lenovo advises that owners of the recalled models "should turn off the system, remove the battery, +and only power your ThinkPad by plugging in the AC adapter and power cord." +Upon battery verification, Lenovo will replace recalled batteries free of charge. +Battery replacement instructions for the X200/X200s are found [on this page.](https://pcsupport.lenovo.com/cr/en/parts/pd003507/) + Compatibility (without blobs) {#compatibility_noblobs} ----------------------------- diff --git a/docs/install/bbb_setup.md b/docs/install/bbb_setup.md index 18f0c7be..94cfdc0b 100644 --- a/docs/install/bbb_setup.md +++ b/docs/install/bbb_setup.md @@ -40,7 +40,7 @@ Shopping list (pictures of this hardware is shown later): (rev. C) is highly recommended. You can buy one from [Adafruit](https://www.adafruit.com) (USA), [ElectroKit](http://electrokit.com) (Sweden) or any of the - distributors listed [here](http://beagleboard.org/black) (look below + distributors listed on [BeagleBoard's website](http://beagleboard.org/black) (look below 'Purchase'). We recommend this product because we know that it works well for our purposes and doesn't require any non-free software. @@ -328,7 +328,10 @@ PSU to pin 2 on the BBB (P9 header). It is safe to install this now should.* if you need to extend the 3.3v psu leads, just use the same colour M-F -leads, *but* keep all other leads short (10cm or less) +leads, *but* keep all other leads short and equal length (30cm or less). +Keep in mind that length isn't inversely proportional to signal quality, +so trying out different lengths will yield different results. +Same goes for spispeed. You should now have something that looks like this:\ ![](images/x200/5252_bbb0.jpg) ![](images/x200/5252_bbb1.jpg) diff --git a/docs/install/index.md b/docs/install/index.md index ea48632d..d4ac2f13 100644 --- a/docs/install/index.md +++ b/docs/install/index.md @@ -264,13 +264,13 @@ executables from the libreboot source code archives. How to update the flash chip contents: - $ sudo ./flash update [yourrom.rom](#rom) +`$ sudo ./flash update `[`yourrom.rom`](#rom) Ocassionally, coreboot changes the name of a given board. If flashrom complains about a board mismatch, but you are sure that you chose the correct ROM image, then run this alternative command: - $ sudo ./flash forceupdate [yourrom.rom](#rom) + `$ sudo ./flash forceupdate `[`yourrom.rom`](#rom) You should see `Verifying flash... VERIFIED.` written at the end of the flashrom output. *Shut down* after you see this, and then boot @@ -305,7 +305,7 @@ the flashing script. do this: * The first half of the procedure is as follows: - $ sudo ./flash i945lenovo\_firstflash [yourrom.rom](#rom). +`$ sudo ./flash i945lenovo_firstflash `[`yourrom.rom`](#rom) You should see within the output the following: @@ -332,13 +332,11 @@ needed (see below). When you have booted up again, you must also do this: - $ sudo ./flash i945lenovo\_secondflash [yourrom.rom](#rom) +`$ sudo ./flash i945lenovo_secondflash `[`yourrom.rom`](#rom) If flashing fails at this stage, try the following: - # sudo ./flashrom/i686/flashrom -p - -internal:laptop=force\_I\_want\_a\_brick -w [yourrom.rom](#rom) +`$ sudo ./flashrom/i686/flashrom -p internal:laptop=force_I_want_a_brick -w `[`yourrom.rom`](#rom) You should see within the output the following: @@ -374,7 +372,7 @@ with your device. Use this flashing script, to install libreboot: - $ sudo ./flash i945apple\_firstflash [yourrom.rom](#rom) +`$ sudo ./flash i945apple_firstflash `[`yourrom.rom`](#rom) You should also see within the output the following: diff --git a/docs/install/t400_external.md b/docs/install/t400_external.md index d48c15d4..672ea46e 100644 --- a/docs/install/t400_external.md +++ b/docs/install/t400_external.md @@ -1,5 +1,5 @@ --- -title: Flashing the T400 with a BeagleBone Black +title: Flashing the T400 with a BeagleBone Black ... Initial flashing instructions for T400. @@ -12,7 +12,7 @@ An ["HMM"](https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/43y6629_05.pdf#page=386) (Hardware Maintenance Manual) detailing the process of \[dis\]assembly is available for this model. Be careful when reassembling the laptop as -the screws on page 144 (with title "1130 Keyboard bezel") are swapped +the screws on page 114 (with title "1130 Keyboard bezel") are swapped and if you follow the HMM you will punch a hole through the bezel in the upper right corner. @@ -30,12 +30,17 @@ A note about CPUs CPUs for this system. The Core 2 Duo P8400, P8600 and P8700 are believed to work in libreboot. -T9600, T9500 and T9550 are all compatible, as reported by users. +T9600, T9500, T9550 and T9900 are all compatible, as reported by users. Quad-core CPUs -------------- -Incompatible. Do not use. +Very likely to be compatible, but requires hardware modification. +Based on info from German forum post about installing Core Quad CPU on T500 found in coreboot mailing list. Currently work in progress and no guide available. + +- [Coreboot mailing list post](https://mail.coreboot.org/pipermail/coreboot/2016-November/082463.html) +- [German forum post about install Core Quad on T500](https://thinkpad-forum.de/threads/199129) + A note about GPUs ================= diff --git a/docs/install/t500_external.md b/docs/install/t500_external.md index 5490744f..37217337 100644 --- a/docs/install/t500_external.md +++ b/docs/install/t500_external.md @@ -1,5 +1,5 @@ --- -title: Flashing the T500 with a BeagleBone Black +title: Flashing the T500 with a BeagleBone Black ... Initial flashing instructions for T500. @@ -31,13 +31,16 @@ CPUs for this system. The Core 2 Duo P8400, P8600 and P8700 are believed to work in libreboot. The T9600 was also tested on the T400 and confirmed working. -T9550 was tested by a user, and is compatible as reported in the IRC channel. +T9550 and T9900 was tested by a user, and is compatible as reported in the IRC channel. T9500 and T9400 may also work, but YMMV. Quad-core CPUs -------------- +Very likely to be compatible, but requires hardware modification. +Based on info from German forum post about installing Core Quad CPU on T500 found in coreboot mailing list. Currently work in progress and no guide available. -Incompatible. Do not use. +- [Coreboot mailing list post](https://mail.coreboot.org/pipermail/coreboot/2016-November/082463.html) +- [German forum post about install Core Quad on T500](https://thinkpad-forum.de/threads/199129) A note about GPUs ================= diff --git a/docs/install/x200_external.md b/docs/install/x200_external.md index 1e5b3b23..3ff34501 100644 --- a/docs/install/x200_external.md +++ b/docs/install/x200_external.md @@ -17,13 +17,13 @@ GNU+Linux distribution. Flash chip size =============== -Use this to find out: +Run this command on x200 to find out flash chip model and its size: # flashrom -p internal -V The X200S and X200 Tablet will use a WSON-8 flash chip, on the bottom of the motherboard (this requires removal of the motherboard). Not all X200S/X200T are -supported; see [here](../hardware/x200.html#x200s). +supported; see the [hardware](../hardware/x200.html#x200s) page. MAC address =========== diff --git a/docs/misc/bbb_ehci.md b/docs/misc/bbb_ehci.md index 6f072154..50801a33 100644 --- a/docs/misc/bbb_ehci.md +++ b/docs/misc/bbb_ehci.md @@ -143,7 +143,7 @@ arm-linux-gnueabihf setup on your *host*. $ cp configs/beaglebone kernel/arch/arm/configs/beaglebone_defconfig - Download the patch from - [here](http://www.coreboot.org/images/8/88/Ehci-debug-gadget-patches.tar.gz) + [coreboot.org](http://www.coreboot.org/images/8/88/Ehci-debug-gadget-patches.tar.gz) - tar -xf Ehci-debug-gadget-patches.tar.gz (will create dir: usbdebug-gadget) - Note that there are two patches (patch\_1 and patch\_2) for each of @@ -228,7 +228,7 @@ one^[2](#___fn2)^ should be = y ^2^ The g\_dbgp module on BeagleBone Black (Rev. C) reports it self as Net20DC, the other options are for older BB(B) - ver1. This is documented -[here](https://johnlewis.ie/coreboot-ehci-debug-gadget-demonstration/) +[on John Lewis's blog](https://johnlewis.ie/coreboot-ehci-debug-gadget-demonstration/) (also tested/verified). Then:\ @@ -1,6 +1,7 @@ #!/usr/bin/env bash # Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr> +# Copyright (C) 2017 Andrew Robbins <contact@andrewrobbins.info> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -22,52 +23,52 @@ libreboot_usage() { local action local target - printf '%s\n' "${executable} [action] [target] [arguments]" >&2 + printf 1>&2 '%s\n' "$executable [action] [target] [arguments]" - printf '\n%s\n' 'Generic project actions:' >&2 + printf 1>&2 '\n%s\n' 'Generic project actions:' for action in "${PROJECT_ACTIONS_GENERIC[@]}"; do - printf '%s\n' " ${action}" >&2 + printf 1>&2 '%s\n' " $action" done - printf '\n%s\n' 'Virtual project actions:' >&2 - printf '%s\n' ' sources' - printf '%s\n' ' produce' - printf '%s\n' ' test' + printf 1>&2 '\n%s\n' 'Virtual project actions:' + printf 1>&2 '%s\n' ' sources' + printf 1>&2 '%s\n' ' produce' + printf 1>&2 '%s\n' ' test' - printf '\n%s\n' 'Project targets:' >&2 + printf 1>&2 '\n%s\n' 'Project targets:' - for target in "${root}/${PROJECTS}"/*; do - if project_check "${target}"; then - printf '%s\n' " ${target}" >&2 + for target in "$root/$PROJECTS"/*; do + if project_check "$target"; then + printf 1>&2 '%s\n' " $target" fi done - printf '\n%s\n' 'Generic tool actions:' >&2 + printf 1>&2 '\n%s\n' 'Generic tool actions:' for action in "${TOOL_ACTIONS_GENERIC[@]}"; do - printf '%s\n' " ${action}" >&2 + printf 1>&2 '%s\n' " $action" done - printf '\n%s\n' 'Tool targets:' >&2 + printf 1>&2 '\n%s\n' 'Tool targets:' - for target in "${root}/${TOOLS}"/*; do - if tool_check "${target}"; then - printf '%s\n' " ${target}" >&2 + for target in "$root/$TOOLS"/*; do + if tool_check "$target"; then + printf 1>&2 '%s\n' " $target" fi done - printf '\n%s\n' 'Environment variables:' >&2 - printf '%s\n' ' PROJECTS_FORCE - Projects to always perform actions for' >&2 - printf '%s\n' ' TOOLS_FORCE - Tools to always perform actions for' >&2 - printf '%s\n' ' RELEASE_KEY - GPG key to use for release' >&2 - printf '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' >&2 - printf '%s\n' ' LIBFAKETIME_PATH - Path to the libfaketime shared library' >&2 - printf '%s\n' ' TASKS - Number of simultaneous tasks to run' >&2 - printf '%s\n' ' VERSION - Version string to use' >&2 - - printf '\n%s\n' 'Configuration files:' >&2 - printf '%s\n' " ${BUILD_SYSTEM}.conf - Environment variables configuration" >&2 + printf 1>&2 '\n%s\n' 'Environment variables:' + printf 1>&2 '%s\n' ' PROJECTS_FORCE - Projects to always perform actions for' + printf 1>&2 '%s\n' ' TOOLS_FORCE - Tools to always perform actions for' + printf 1>&2 '%s\n' ' RELEASE_KEY - GPG key to use for release' + printf 1>&2 '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' + printf 1>&2 '%s\n' ' LIBFAKETIME_PATH - Path to the libfaketime shared library' + printf 1>&2 '%s\n' ' TASKS - Number of simultaneous tasks to run' + printf 1>&2 '%s\n' ' VERSION - Version string to use' + + printf 1>&2 '\n%s\n' 'Configuration files:' + printf 1>&2 '%s\n' " $BUILD_SYSTEM.conf - Environment variables configuration" } libreboot_project() { @@ -76,33 +77,33 @@ libreboot_project() { project="$1" shift - case "${action}" in + case "$action" in 'sources') - ( - set +e - - project_action_arguments 'extract' "${project}" "$@" && return 0 - project_action_arguments 'download' "${project}" "$@" && return 0 - ) + if project_action_arguments 'extract' "$project" "$@"; then + return + else + printf 1>&2 '\n%s\n\n' 'Attempting to download instead...' + project_action_arguments 'download' "$project" "$@" + fi ;; 'produce') for action in 'build' 'install' 'release'; do - project_action_arguments "${action}" "${project}" "$@" + project_action_arguments "$action" "$project" "$@" done ;; 'test') for action in "${PROJECT_ACTIONS[@]}"; do - project_action_arguments "${action}" "${project}" "$@" + project_action_arguments "$action" "$project" "$@" done ;; *) - if ! project_function_check "${project}" "${action}"; then + if ! project_function_check "$project" "$action"; then libreboot_usage exit 1 - elif [[ "${action}" == 'usage' ]]; then - project_action "${action}" "${project}" "$@" + elif [[ "$action" == 'usage' ]]; then + project_action "$action" "$project" "$@" else - project_action_arguments "${action}" "${project}" "$@" + project_action_arguments "$action" "$project" "$@" fi ;; esac @@ -114,13 +115,13 @@ libreboot_tool() { tool="$1" shift - if ! tool_function_check "${tool}" "${action}"; then + if ! tool_function_check "$tool" "$action"; then libreboot_usage exit 1 - elif [[ "${action}" == 'usage' ]]; then - tool_action "${action}" "${tool}" "$@" + elif [[ "$action" == 'usage' ]]; then + tool_action "$action" "$tool" "$@" else - tool_action_arguments_recursive "${action}" "${tool}" "$@" + tool_action_arguments_recursive "$action" "$tool" "$@" fi } @@ -138,18 +139,18 @@ libreboot_setup() { } libreboot_setup_include() { - local libs_path="${root}/libs" + local libs_path="$root/libs" local conf_path - source "${libs_path}/project" - source "${libs_path}/tool" - source "${libs_path}/common" - source "${libs_path}/git" + source "$libs_path/project" + source "$libs_path/tool" + source "$libs_path/common" + source "$libs_path/git" - conf_path="${root}/${BUILD_SYSTEM}.conf" + conf_path="$root/$BUILD_SYSTEM.conf" - if [[ -f "${conf_path}" ]]; then - source "${conf_path}" + if [[ -f "$conf_path" ]]; then + source "$conf_path" fi } @@ -159,7 +160,7 @@ libreboot_setup_tool_actions() { local -a tool_actions - for ((i=0; i<"${tool_actions_count}"; i++)); do + for ((i=0; i<"$tool_actions_count"; i++)); do tool_actions+=("${TOOL_ACTIONS_GENERIC[i]}") if [[ "${TOOL_ACTIONS_GENERIC[i]}" == !(${ignore// /|}) ]]; then @@ -176,7 +177,7 @@ libreboot_setup_project_actions() { local -a project_actions - for ((i=0; i<"${project_actions_count}"; i++)); do + for ((i=0; i<"$project_actions_count"; i++)); do project_actions+=("${PROJECT_ACTIONS_GENERIC[i]}") if [[ "${PROJECT_ACTIONS_GENERIC[i]}" == !(${ignore// /|}) ]]; then @@ -189,56 +190,56 @@ libreboot_setup_project_actions() { libreboot_setup_variables() { local vboot_tools_path="$(project_install_path 'vboot' 'tools')" - local version_path="${root}/${DOTVERSION}" + local version_path="$root/$DOTVERSION" - if [[ -z "${VERSION}" ]]; then - if git_check "${root}"; then - VERSION="${BUILD_SYSTEM}-$(git_describe "${root}" 2> /dev/null || echo 'git')" - elif [[ -f "${version_path}" ]]; then - VERSION="$(< "${version_path}")" + if [[ -z "$VERSION" ]]; then + if git_check "$root"; then + VERSION="$BUILD_SYSTEM-$(git_describe "$root" 2> /dev/null || echo 'git')" + elif [[ -f "$version_path" ]]; then + VERSION="$(< "$version_path")" else - VERSION="${BUILD_SYSTEM}" + VERSION="$BUILD_SYSTEM" fi fi - if [[ -d "${vboot_tools_path}/devkeys/" ]]; then - VBOOT_KEYS_PATH="${VBOOT_KEYS_PATH:-${vboot_tools_path}/devkeys/}" + if [[ -d "$vboot_tools_path/devkeys/" ]]; then + VBOOT_KEYS_PATH="${VBOOT_KEYS_PATH:-$vboot_tools_path/devkeys/}" fi libreboot_setup_reproducible_builds_variables } libreboot_setup_reproducible_builds_variables() { - local epoch_path="${root}/${DOTEPOCH}" - local rnd_seed_path="${root}/${DOTRNDSEED}" + local epoch_path="$root/$DOTEPOCH" + local rnd_seed_path="$root/$DOTRNDSEED" - # Used by GCC, e.g., -frandom-seed="${RANDOM_SEED}" - if [[ -z "${RANDOM_SEED}" ]]; then - if [[ -f "${rnd_seed_path}" ]]; then - RANDOM_SEED="$(< "${rnd_seed_path}")" + # Used by GCC, e.g., -frandom-seed="$RANDOM_SEED" + if [[ -z "$RANDOM_SEED" ]]; then + if [[ -f "$rnd_seed_path" ]]; then + RANDOM_SEED="$(< "$rnd_seed_path")" else - RANDOM_SEED="${RANDOM}" # True randomness is unnecessary + RANDOM_SEED="$RANDOM" # True randomness is unnecessary fi fi # Also used by GCC, but as an environment variable - if [[ -z "${SOURCE_DATE_EPOCH}" ]]; then - if git_check "${root}"; then + if [[ -z "$SOURCE_DATE_EPOCH" ]]; then + if git_check "$root"; then SOURCE_DATE_EPOCH="$(git log -1 --format=%ct)" - elif [[ -f "${epoch_path}" ]]; then - SOURCE_DATE_EPOCH="$(< "${epoch_path}")" + elif [[ -f "$epoch_path" ]]; then + SOURCE_DATE_EPOCH="$(< "$epoch_path")" else SOURCE_DATE_EPOCH="$(date +%s)" fi fi # Relevant only when libfaketime is preloaded - if [[ -n "${LIBFAKETIME_PATH}" ]]; then + if [[ -n "$LIBFAKETIME_PATH" ]]; then BUILD_DATE_FMT="%Y-%m-%d %H:%M:%S" - BUILD_DATE="$(date -u -d "@${SOURCE_DATE_EPOCH}" "+${BUILD_DATE_FMT}" 2>/dev/null || date -u -r "${SOURCE_DATE_EPOCH}" "+${BUILD_DATE_FMT}" 2>/dev/null || date -u "+${BUILD_DATE_FMT}")" - FAKETIME="@${BUILD_DATE}" + BUILD_DATE="$(date -u -d "@$SOURCE_DATE_EPOCH" "+$BUILD_DATE_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "+$BUILD_DATE_FMT" 2>/dev/null || date -u "+$BUILD_DATE_FMT")" + FAKETIME="@$BUILD_DATE" LC_ALL='C.UTF-8' - LD_PRELOAD="${LIBFAKETIME_PATH}" + LD_PRELOAD="$LIBFAKETIME_PATH" TZ='UTC' fi } @@ -253,10 +254,10 @@ libreboot() { libreboot_setup "$@" - if project_check "${target}"; then - libreboot_project "${action}" "${target}" "$@" - elif tool_check "${target}"; then - libreboot_tool "${action}" "${target}" "$@" + if project_check "$target"; then + libreboot_project "$action" "$target" "$@" + elif tool_check "$target"; then + libreboot_tool "$action" "$target" "$@" else libreboot_usage exit 1 diff --git a/libs/common b/libs/common index b1d2f571..43fe3b08 100755 --- a/libs/common +++ b/libs/common @@ -73,17 +73,39 @@ download_wrapper() { shift local uris=($@) - # TODO: Add support for curl, in addition - # to wget, for compatibility reasons - wget_options=( - --config=/dev/null - --secure-protocol=PFS - --directory-prefix="${download_dir}" - --continue - -- + local wget_options=( + '--config=/dev/null' + '--secure-protocol=PFS' + "--directory-prefix=$download_dir" + '--continue' + '--' ) - wget "${wget_options[@]}" "${uris[@]}" + local curl_options=( + '-q' + '--continue-at -' + '--remote-name' + '--retry 20' + '--ssl' + '--tlsv1.2' + '--' + ) + + if hash wget > /dev/null 2>&1; then + + wget "${wget_options[@]}" "${uris[@]}" + + elif hash curl > /dev/null 2>&1; then + ( + cd "$download_dir" + + curl "${curl_options[@]}" "${uris[@]}" + ) + else + printf '\n%s\n\n' 'Error: Neither wget nor curl were found' 1>&2 + + return 1 + fi } diff_patch_file() { @@ -91,24 +113,24 @@ diff_patch_file() { local patch_file_path="$2" # TODO: Improve handling of filenames to avoid gotchas w/ \n, \t, etc. - local filename_in_diff="$(sed -rne 's/^-{3}\s+([^ \r\n]*).*/\1/p' "${patch_file_path}")" + local filename_in_diff="$(sed -rne 's/^-{3}\s+([^ \r\n]*).*/\1/p' "$patch_file_path")" local source_file_path - if ! ( grep -E '^-{3}.*/' "${patch_file_path}" >/dev/null 2>&1 ); then - source_file_path="${repository_path}/${filename_in_diff}" + if ! ( grep -E '^-{3}.*/' "$patch_file_path" >/dev/null 2>&1 ); then + source_file_path="$repository_path/$filename_in_diff" else - source_file_path="${repository_path}/${filename_in_diff##*/}" + source_file_path="$repository_path/${filename_in_diff##*/}" fi - patch "${source_file_path}" "${patch_file_path}" + patch "$source_file_path" "$patch_file_path" } path_wildcard_expand() { local path=$@ # Evaluation fails with unescaped whitespaces. - path=$( printf '%s\n' "$path" | sed "s/ /\\\ /g" ) + path=$(printf '%s\n' "$path" | sed "s/ /\\\ /g") eval "arguments_list "$path"" } @@ -117,8 +139,8 @@ file_checksum_create() { local path=$1 local checksum_path="$path.$CHECKSUM" - local name=$( basename "$path" ) - local directory_path=$( dirname "$path" ) + local name=$(basename "$path") + local directory_path=$(dirname "$path") ( cd "$directory_path" @@ -130,12 +152,12 @@ file_checksum_check() { local path=$1 local checksum_path="$path.$CHECKSUM" - local name=$( basename "$path" ) - local directory_path=$( dirname "$path" ) + local name=$(basename "$path") + local directory_path=$(dirname "$path") - if ! [ -f "$checksum_path" ] + if ! [[ -f "$checksum_path" ]] then - printf '%s\n' 'Could not verify file checksum!' >&2 + printf 1>&2 '%s\n' 'Could not verify file checksum!' return 1 fi @@ -150,7 +172,7 @@ file_signature_create() { local signature_path="$path.$DSIG" - if [ -z "$RELEASE_KEY" ] + if [[ -z "$RELEASE_KEY" ]] then return 0 fi @@ -163,9 +185,9 @@ file_signature_check() { local signature_path="$path.$DSIG" - if ! [ -f "$signature_path" ] + if ! [[ -f "$signature_path" ]] then - printf '%s\n' 'Could not verify file signature!' >&2 + printf 1>&2 '%s\n' 'Could not verify file signature!' return 1 fi @@ -195,7 +217,7 @@ file_exists_check() { directory_filled_check() { local path=$1 - if [ -z "$( ls -A "$path" 2> /dev/null )" ] + if [[ -z "$(ls -A "$path" 2> /dev/null)" ]] then return 1 else @@ -206,29 +228,29 @@ directory_filled_check() { archive_files_create() { local source_path="$1" - local directory="$(basename "${source_path}")" - local tarfiles_path="${source_path}/${DOTTARFILES}" - local revision_path="${source_path}/${DOTREVISION}" - local version_path="${source_path}/${DOTVERSION}" - local epoch_path="${source_path}/${DOTEPOCH}" - local rnd_seed_path="${source_path}/${DOTRNDSEED}" + local directory="$(basename "$source_path")" + local tarfiles_path="$source_path/$DOTTARFILES" + local revision_path="$source_path/$DOTREVISION" + local version_path="$source_path/$DOTVERSION" + local epoch_path="$source_path/$DOTEPOCH" + local rnd_seed_path="$source_path/$DOTRNDSEED" - # Files in "${tarfiles_path}" are NUL terminated. + # Files in "$tarfiles_path" are NUL terminated. # `tr '\0' '\n'` for human-readable output. - if git_check "${source_path}"; then - git_files "${source_path}" > "${tarfiles_path}" - printf '%s\0' "${DOTTARFILES}" >> "${tarfiles_path}" + if git_check "$source_path"; then + git_files "$source_path" > "$tarfiles_path" + printf '%s\0' "$DOTTARFILES" >> "$tarfiles_path" else - find "${source_path}" -print0 | env LC_ALL='C.UTF-8' sort -z | sed -z "1d;s,^${source_path}/\\?,,;/^${DOTTARFILES}\$/d" > "${tarfiles_path}" + find "$source_path" -print0 | env LC_ALL='C.UTF-8' sort -z | sed -z "1d;s,^$source_path/\\?,,;/^$DOTTARFILES\$/d" > "$tarfiles_path" fi - for dotfile in "${revision_path}" \ - "${version_path}" \ - "${epoch_path}" \ - "${rnd_seed_path}" + for dotfile in "$revision_path" \ + "$version_path" \ + "$epoch_path" \ + "$rnd_seed_path" do - if [[ -f "${dotfile}" ]]; then - printf '%s\0' ".${dotfile##*.}" >> "${tarfiles_path}" + if [[ -f "$dotfile" ]]; then + printf '%s\0' ".${dotfile##*.}" >> "$tarfiles_path" fi done } @@ -236,10 +258,10 @@ archive_files_create() { archive_files_date() { local source_path="$1" - local epoch_path="${source_path}/${DOTEPOCH}" + local epoch_path="$source_path/$DOTEPOCH" - if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then - find "${source_path}" -execdir touch --no-dereference --date="@${SOURCE_DATE_EPOCH}" {} + + if [[ -n "$SOURCE_DATE_EPOCH" ]]; then + find "$source_path" -execdir touch --no-dereference --date="@$SOURCE_DATE_EPOCH" {} + fi } @@ -248,24 +270,24 @@ archive_create() { local source_path="$2" local directory="$3" - local tarfiles_path="${source_path}/${DOTTARFILES}" - local directory_path="$(dirname "${archive_path}")" + local tarfiles_path="$source_path/$DOTTARFILES" + local directory_path="$(dirname "$archive_path")" - mkdir -p "${directory_path}" + mkdir -p "$directory_path" - if [[ -z "${directory}" ]]; then - directory="$(basename "${source_path}")" + if [[ -z "$directory" ]]; then + directory="$(basename "$source_path")" fi - archive_files_create "${source_path}" - archive_files_date "${source_path}" + archive_files_create "$source_path" + archive_files_date "$source_path" local tar_options=( --create --xz - --file="${archive_path}" - --files-from="${tarfiles_path}" - --transform="s,^,${directory}/,S" + --file="$archive_path" + --files-from="$tarfiles_path" + --transform="s,^,$directory/,S" --no-recursion --warning=no-filename-with-nuls --null @@ -275,7 +297,7 @@ archive_create() { ) ( - cd "${source_path}" + cd "$source_path" tar "${tar_options[@]}" ) } @@ -284,31 +306,31 @@ archive_extract() { local archive_path="$1" local destination_path="$2" - if [[ -z "${destination_path}" ]]; then - destination_path="$(dirname "${archive_path}")" + if [[ -z "$destination_path" ]]; then + destination_path="$(dirname "$archive_path")" fi - tar -xf "${archive_path}" -ps -C "${destination_path}" + tar -xf "$archive_path" -ps -C "$destination_path" } rootfs_files_create() { local source_path="$1" - local directory="$(basename "${source_path}")" - local tarfiles_path="${source_path}/${DOTTARFILES}" + local directory="$(basename "$source_path")" + local tarfiles_path="$source_path/$DOTTARFILES" - # Files in "${tarfiles_path}" are NUL terminated. + # Files in "$tarfiles_path" are NUL terminated. # `tr '\0' '\n'` for human-readable output. - execute_root find "${source_path}" -print0 | env LC_ALL='C.UTF-8' sort -z | sed -z "1d;s,^${source_path}/\\?,,;/^${DOTTARFILES}\$/d" > "${tarfiles_path}" + execute_root find "$source_path" -print0 | env LC_ALL='C.UTF-8' sort -z | sed -z "1d;s,^$source_path/\\?,,;/^$DOTTARFILES\$/d" > "$tarfiles_path" } rootfs_files_date() { local source_path="$1" - local epoch_path="${source_path}/${DOTEPOCH}" + local epoch_path="$source_path/$DOTEPOCH" - if [[ -n "${SOURCE_DATE_EPOCH}" ]]; then - execute_root find "${source_path}" -execdir touch --no-dereference --date="@${SOURCE_DATE_EPOCH}" {} + + if [[ -n "$SOURCE_DATE_EPOCH" ]]; then + execute_root find "$source_path" -execdir touch --no-dereference --date="@$SOURCE_DATE_EPOCH" {} + fi } @@ -317,23 +339,23 @@ rootfs_create() { local source_path="$2" local directory="$3" - local tarfiles_path="${source_path}/${DOTTARFILES}" - local directory_path="$(dirname "${rootfs_path}")" + local tarfiles_path="$source_path/$DOTTARFILES" + local directory_path="$(dirname "$rootfs_path")" - mkdir -p "${directory_path}" + mkdir -p "$directory_path" - if [[ -z "${directory}" ]]; then - directory="$(basename "${source_path}")" + if [[ -z "$directory" ]]; then + directory="$(basename "$source_path")" fi - rootfs_files_create "${source_path}" - rootfs_files_date "${source_path}" + rootfs_files_create "$source_path" + rootfs_files_date "$source_path" local tar_options=( --create --xz - --file="${rootfs_path}" - --files-from="${tarfiles_path}" + --file="$rootfs_path" + --files-from="$tarfiles_path" --no-recursion --warning=no-filename-with-nuls --null @@ -343,12 +365,12 @@ rootfs_create() { ) ( - cd "${source_path}" + cd "$source_path" execute_root tar "${tar_options[@]}" ) - execute_root chmod 644 "${rootfs_path}" - execute_root chown "${USER}:${USER}" "${rootfs_path}" + execute_root chmod 644 "$rootfs_path" + execute_root chown "$USER:$USER" "$rootfs_path" } requirements() { @@ -357,11 +379,11 @@ requirements() { for requirement in "$@" do - requirement_path=$( which "$requirement" || true ) + requirement_path=$(which "$requirement" || true) - if [ -z "$requirement_path" ] + if [[ -z "$requirement_path" ]] then - printf '%s\n' "Missing requirement: $requirement" >&2 + printf 1>&2 '%s\n' "Missing requirement: $requirement" exit 1 fi done @@ -374,11 +396,11 @@ requirements_root() { for requirement in "$@" do # We need to keep stdout output to show the command. - requirement_path=$( execute_root which "$requirement" || true ) + requirement_path=$(execute_root which "$requirement" || true) - if [ -z "$requirement_path" ] + if [[ -z "$requirement_path" ]] then - printf '%s\n' "Missing requirement: $requirement" >&2 + printf 1>&2 '%s\n' "Missing requirement: $requirement" exit 1 fi done @@ -392,7 +414,7 @@ arguments_concat() { for argument in "$@" do - if ! [ -z "$concat" ] + if [[ -n "$concat" ]] then concat="$concat""$delimiter""$argument" else @@ -404,18 +426,18 @@ arguments_concat() { } execute_root() { - local sudo=$( which sudo 2> /dev/null || true ) + local sudo=$(which sudo 2> /dev/null || true) local arguments - printf '%s' 'Running command as root: ' >&2 - printf '%b\n' "$*" >&2 + printf 1>&2 '%s' 'Running command as root: ' + printf 1>&2 '%b\n' "$*" - if ! [ -z "$sudo" ] + if [[ -n "$sudo" ]] then sudo "$@" else # Quote arguments for eval through su. - arguments=$( printf '%q ' "$@" ) + arguments=$(printf '%q ' "$@") su -c "$arguments" fi } @@ -63,7 +63,7 @@ git_branch_create() { cd "$repository_path" git checkout -B "$branch" - if ! [ -z "$revision" ] + if [[ -n "$revision" ]] then git reset --hard "$revision" fi @@ -96,13 +96,13 @@ git_branch_check() { ( cd "$repository_path" 2> /dev/null > /dev/null - if [ $? -ne 0 ] + if [[ $? -ne 0 ]] then return 1 fi git rev-parse --verify "$branch" 2> /dev/null > /dev/null - if [ $? -ne 0 ] + if [[ $? -ne 0 ]] then return 1 fi @@ -123,13 +123,13 @@ git_fetch_check() { ( cd "$repository_path" 2> /dev/null > /dev/null - if [ $? -ne 0 ] + if [[ $? -ne 0 ]] then return 1 fi - local output=$( git fetch --dry-run origin 2>&1 ) - if ! [ -z "$output" ] + local output=$(git fetch --dry-run origin 2>&1) + if [[ -n "$output" ]] then return 1 fi @@ -205,7 +205,7 @@ git_files() { local repository_path="$1" ( - cd "${repository_path}" + cd "$repository_path" # Reproducible sorting. git ls-files -z | env LC_ALL='C.UTF-8' sort -z ) @@ -220,7 +220,7 @@ git_project_repository_path() { git_project_check() { local repository=$1 - local repository_path=$( git_project_repository_path "$repository" ) + local repository_path=$(git_project_repository_path "$repository") git_check "$repository_path" } @@ -231,23 +231,23 @@ git_project_patch_recursive() { local branch="$3" local path="${4:-.}" - local repository_path="$(git_project_repository_path "${repository}")" - local project_path="$(project_path "${project}")" - local patches_path="${project_path}/${PATCHES}/${path}" + local repository_path="$(git_project_repository_path "$repository")" + local project_path="$(project_path "$project")" + local patches_path="$project_path/$PATCHES/$path" - if ! [[ -d "${patches_path}" ]]; then + if ! [[ -d "$patches_path" ]]; then return fi - if [[ "${path}" != "." ]]; then - git_project_patch_recursive "${project}" "${repository}" "${branch}" "$(dirname "${path}")" + if [[ "$path" != "." ]]; then + git_project_patch_recursive "$project" "$repository" "$branch" "$(dirname "$path")" fi - for patch in "${patches_path}"/[!.]*.@(patch|diff); do + for patch in "$patches_path"/[!.]*.@(patch|diff); do if [[ "${patch##*.}" == "patch" ]]; then - git_patch "${repository_path}" "${branch}" "${patch}" + git_patch "$repository_path" "$branch" "$patch" else - diff_patch_file "${repository_path}" "${patch}" + diff_patch_file "$repository_path" "$patch" fi done } @@ -257,8 +257,8 @@ git_project_clone() { shift local urls=$@ - local repository_path=$( git_project_repository_path "$repository" ) - local directory_path=$( dirname "$repository_path" ) + local repository_path=$(git_project_repository_path "$repository") + local directory_path=$(dirname "$repository_path") local url mkdir -p "$directory_path" @@ -270,7 +270,7 @@ git_project_clone() { do git_clone "$repository_path" "$url" - if [ $? -eq 0 ] + if [[ $? -eq 0 ]] then return 0 fi @@ -297,11 +297,11 @@ git_project_prepare_blobs() { local repository=$1 shift - local repository_path=$( git_project_repository_path "$repository" ) - local blobs_path=$( project_blobs_path "$project" "$@" ) + local repository_path=$(git_project_repository_path "$repository") + local blobs_path=$(project_blobs_path "$project" "$@") local blob - if ! [ -f "$blobs_path" ] + if ! [[ -f "$blobs_path" ]] then return fi @@ -320,7 +320,7 @@ git_project_prepare_patch() { local repository=$1 shift - local project_path=$( project_path "$project" ) + local project_path=$(project_path "$project") local configs_path="$project_path/$CONFIGS" local prepare_branch local prepare_path @@ -330,9 +330,9 @@ git_project_prepare_patch() { for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -344,7 +344,7 @@ git_project_prepare_patch() { local revision_path="$configs_path/$path/$REVISION" - if ! [ -f "$revision_path" ] + if ! [[ -f "$revision_path" ]] then continue fi @@ -353,7 +353,7 @@ git_project_prepare_patch() { prepare_path=$path done - if ! [ -z "$prepare_branch" ] + if [[ -n "$prepare_branch" ]] then git_project_patch_recursive "$project" "$repository" "$prepare_branch" "$prepare_path" fi @@ -365,8 +365,8 @@ git_project_prepare_revision() { local repository=$1 shift - local repository_path=$( git_project_repository_path "$repository" ) - local project_path=$( project_path "$project" ) + local repository_path=$(git_project_repository_path "$repository") + local project_path=$(project_path "$project") local configs_path="$project_path/$CONFIGS" local prepare_branch local prepare_revision @@ -376,9 +376,9 @@ git_project_prepare_revision() { for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -390,16 +390,16 @@ git_project_prepare_revision() { local revision_path="$configs_path/$path/$REVISION" - if ! [ -f "$revision_path" ] + if ! [[ -f "$revision_path" ]] then continue fi prepare_branch=$branch - prepare_revision=$( cat "$revision_path" ) + prepare_revision=$(cat "$revision_path") done - if ! [ -z "$prepare_branch" ] + if [[ -n "$prepare_branch" ]] then git_branch_create "$repository_path" "$prepare_branch" "$prepare_revision" fi @@ -411,8 +411,8 @@ git_project_prepare_check() { local repository=$1 shift - local repository_path=$( git_project_repository_path "$repository" ) - local project_path=$( project_path "$project" ) + local repository_path=$(git_project_repository_path "$repository") + local project_path=$(project_path "$project") local configs_path="$project_path/$CONFIGS" local prepare_branch local branch=$project @@ -421,9 +421,9 @@ git_project_prepare_check() { for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -435,7 +435,7 @@ git_project_prepare_check() { local revision_path="$configs_path/$path/$REVISION" - if ! [ -f "$revision_path" ] + if ! [[ -f "$revision_path" ]] then continue fi @@ -443,7 +443,7 @@ git_project_prepare_check() { prepare_branch=$branch done - if ! [ -z "$prepare_branch" ] + if [[ -n "$prepare_branch" ]] then git_branch_check "$repository_path" "$prepare_branch" fi @@ -455,14 +455,14 @@ git_project_prepare_clean() { local repository=$1 shift - local repository_path=$( git_project_repository_path "$repository" ) + local repository_path=$(git_project_repository_path "$repository") local prepare_branch local branch=$project local argument for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then branch="$branch-$argument" fi @@ -475,7 +475,7 @@ git_project_prepare_clean() { prepare_branch=$branch done - if ! [ -z "$prepare_branch" ] + if [[ -n "$prepare_branch" ]] then # Let's not worry about missing branches. ( @@ -483,7 +483,7 @@ git_project_prepare_clean() { git_branch_delete "$repository_path" "$prepare_branch" - if [ $? -ne 0 ] + if [[ $? -ne 0 ]] then return 0 fi @@ -497,14 +497,14 @@ git_project_checkout() { local repository=$1 shift - local repository_path=$( git_project_repository_path "$repository" ) + local repository_path=$(git_project_repository_path "$repository") local checkout_branch local branch=$project local argument for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then branch="$branch-$argument" fi @@ -517,7 +517,7 @@ git_project_checkout() { checkout_branch=$branch done - if ! [ -z "$checkout_branch" ] + if [[ -n "$checkout_branch" ]] then git_branch_checkout "$repository_path" "$checkout_branch" git_submodule_update "$repository_path" @@ -530,7 +530,7 @@ git_project_update() { local repository=$1 shift - local repository_path=$( git_project_repository_path "$repository" ) + local repository_path=$(git_project_repository_path "$repository") git_fetch "$repository_path" git_branch_checkout "$repository_path" "$ORIGIN_HEAD" @@ -557,14 +557,14 @@ git_project_release() { shift local arguments=$@ - local repository_path=$( git_project_repository_path "$repository" ) + local repository_path=$(git_project_repository_path "$repository") local release_branch local branch=$project local argument for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then branch="$branch-$argument" fi @@ -577,7 +577,7 @@ git_project_release() { release_branch=$branch done - if ! [ -z "$release_branch" ] + if [[ -n "$release_branch" ]] then local archive_path="$root/$RELEASE/$SOURCES/$project/$release_branch.$ARCHIVE" local sources_path="$root/$SOURCES/$repository" @@ -598,14 +598,14 @@ git_project_release_check() { local repository=$1 shift - local repository_path=$( git_project_repository_path "$repository" ) + local repository_path=$(git_project_repository_path "$repository") local release_branch local branch=$project local argument for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then branch="$branch-$argument" fi @@ -618,13 +618,13 @@ git_project_release_check() { release_branch=$branch done - if ! [ -z "$release_branch" ] + if [[ -n "$release_branch" ]] then local archive_path="$root/$RELEASE/$SOURCES/$project/$release_branch.$ARCHIVE" file_exists_check "$archive_path" - if [ $? -ne 0 ] + if [[ $? -ne 0 ]] then return 1 else diff --git a/libs/project b/libs/project index 8eaf0d2d..4c8b2fff 100755 --- a/libs/project +++ b/libs/project @@ -24,7 +24,7 @@ INSTALL_REGEX='\([^:]*\):\(.*\)' project_include() { local project=$1 - local project_path=$( project_path "$project" ) + local project_path=$(project_path "$project") unset -f "${PROJECT_ACTIONS[@]}" @@ -36,10 +36,10 @@ project_include() { project_helper_include() { local project=$1 - local project_path=$( project_path "$project" ) + local project_path=$(project_path "$project") local include="$project_path/$project-helper" - if [ -f "$include" ] + if [[ -f "$include" ]] then source "$include" fi @@ -48,9 +48,9 @@ project_helper_include() { project_check() { local project="${1##*/}" - local project_path="$(project_path "${project}")" + local project_path="$(project_path "$project")" - if ! [[ -f "${project_path}/${project}" ]]; then + if ! [[ -f "$project_path/$project" ]]; then return 1 fi } @@ -79,14 +79,14 @@ project_action() { ( set +e - project_action_check "${action}" "${project}" "$@" + project_action_check "$action" "$project" "$@" - printf '%s\n' "Project ${project} ${action} (with ${arguments:-no argument})" >&2 + printf 1>&2 '%s\n' "Project $project $action (with ${arguments:-no argument})" - if "${action}" "$@"; then - printf '\n%s\n' "Project ${project} ${action} (with ${arguments:-no argument}) completed" >&2 + if "$action" "$@"; then + printf 1>&2 '\n%s\n' "Project $project $action (with ${arguments:-no argument}) completed" else - printf '\n%s\n' "Project ${project} ${action} (with ${arguments:-no argument}) failed" >&2 + printf 1>&2 '\n%s\n' "Project $project $action (with ${arguments:-no argument}) failed" return 1 fi ) @@ -105,8 +105,8 @@ project_action_check() { return 1 fi - for project_force in ${PROJECTS_FORCE}; do - if [[ "${project_force}" == "${project}" ]]; then + for project_force in $PROJECTS_FORCE; do + if [[ "$project_force" == "$project" ]]; then return 1 fi done @@ -124,11 +124,11 @@ project_action_helper() { local project="$1" shift - if ! function_check "${helper}"; then + if ! function_check "$helper"; then return 0 fi - "${helper}" "$@" + "$helper" "$@" } project_action_arguments() { @@ -137,10 +137,10 @@ project_action_arguments() { local project="$1" shift - project_include "${project}" + project_include "$project" - project_action_arguments_verify_recursive "${action}" "${project}" "$@" - project_action_arguments_recursive "${action}" "${project}" "$@" + project_action_arguments_verify_recursive "$action" "$project" "$@" + project_action_arguments_recursive "$action" "$project" "$@" } project_action_arguments_verify_recursive() { @@ -165,18 +165,18 @@ project_action_arguments_verify_recursive() { return 0 fi - action_helper_arguments="$(project_action_helper 'arguments' "${project}" "$@")" + action_helper_arguments="$(project_action_helper 'arguments' "$project" "$@")" - if [[ -n "${action_helper_arguments}" ]]; then - test="$(printf '%s\n' "${action_helper_arguments}" | grep -e "^${argument}\$" || true)" + if [[ -n "$action_helper_arguments" ]]; then + test="$(printf '%s\n' "$action_helper_arguments" | grep -e "^$argument\$" || true)" - if [[ -z "${test}" ]]; then - printf '%s\n' "Invalid argument ${argument} for project ${project} action ${action}" >&2 + if [[ -z "$test" ]]; then + printf 1>&2 '%s\n' "Invalid argument $argument for project $project action $action" return 1 fi fi - project_action_arguments_verify_recursive "${action}" "${project}" "$@" + project_action_arguments_verify_recursive "$action" "$project" "$@" } project_action_arguments_recursive() { @@ -187,28 +187,23 @@ project_action_arguments_recursive() { local action_helper_arguments local argument - local ifs_save - action_helper_arguments="$(project_action_helper 'arguments' "${project}" "$@" || true)" + action_helper_arguments="$(project_action_helper 'arguments' "$project" "$@" || true)" - if [[ -z "${action_helper_arguments}" ]]; then - project_action "${action}" "${project}" "$@" + if [[ -z "$action_helper_arguments" ]]; then + project_action "$action" "$project" "$@" else - # This it to allow space characters in arguments. - ifs_save="${IFS}" - IFS=$'\n' + # This is to allow space characters in arguments. + local ifs_save="$IFS" + local IFS=$'\n' - for argument in $(printf '%s\n' "${action_helper_arguments}") + for argument in $(printf '%s\n' "$action_helper_arguments") do - ( - IFS="${ifs_save}" + IFS="$ifs_save" - # Only a single argument at a time is returned by the helper. - project_action_arguments_recursive "${action}" "${project}" "$@" "${argument}" - ) + # Only a single argument at a time is returned by the helper. + project_action_arguments_recursive "$action" "$project" "$@" "$argument" done - - IFS="${ifs_save}" fi } @@ -218,22 +213,22 @@ project_action_projects() { local project="$1" shift - local project_path="$(project_path "${project}")" - local project_projects_path="${project_path}/${CONFIGS}/${PROJECTS}" - local project_projects_action_path="${project_path}/${CONFIGS}/${PROJECTS}-${action}" + local project_path="$(project_path "$project")" + local project_projects_path="$project_path/$CONFIGS/$PROJECTS" + local project_projects_action_path="$project_path/$CONFIGS/$PROJECTS-$action" local arguments local path - if [[ -f "${project_projects_action_path}" ]]; then - path="${project_projects_action_path}" + if [[ -f "$project_projects_action_path" ]]; then + path="$project_projects_action_path" else - path="${project_projects_path}" + path="$project_projects_path" fi # Multiple arguments can be read from the file. while read -r arguments; do - eval "project_action_arguments ${action} ${arguments}" - done < "${path}" + eval "project_action_arguments $action $arguments" + done < "$path" } project_path() { @@ -259,7 +254,7 @@ project_sources_path() { for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then path="$path-$argument" fi @@ -272,7 +267,7 @@ project_sources_path() { sources_path=$path done - if ! [ -z "$sources_path" ] + if [[ -n "$sources_path" ]] then printf '%s\n' "$sources_path" return @@ -292,7 +287,7 @@ project_sources_path() { for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then path="$path/$argument" fi @@ -305,7 +300,7 @@ project_sources_path() { sources_path=$path done - if ! [ -z "$sources_path" ] + if [[ -n "$sources_path" ]] then printf '%s\n' "$sources_path" return @@ -316,7 +311,7 @@ project_sources_directory_filled_check() { local project=$1 shift - local sources_path=$( project_sources_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$@") test ! -z "$sources_path" } @@ -326,11 +321,11 @@ project_sources_directory_filled_error() { shift local arguments="$*" - local sources_path=$( project_sources_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$@") - if ! [ -z "$sources_path" ] + if [[ -n "$sources_path" ]] then - printf '%s\n' "Sources directory for project $project (with ${arguments:-no argument}) already exists" >&2 + printf 1>&2 '%s\n' "Sources directory for project $project (with ${arguments:-no argument}) already exists" return 1 else return 0 @@ -342,11 +337,11 @@ project_sources_directory_missing_empty_error() { shift local arguments="$*" - local sources_path=$( project_sources_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$@") - if [ -z "$sources_path" ] + if [[ -z "$sources_path" ]] then - printf '%s\n' "Sources directory for project $project (with ${arguments:-no argument}) missing or empty" >&2 + printf 1>&2 '%s\n' "Sources directory for project $project (with ${arguments:-no argument}) missing or empty" return 1 else return 0 @@ -363,14 +358,14 @@ project_sources_archive() { for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then path="$path-$argument" fi local archive="$path.$ARCHIVE" - if ! [ -f "$archive" ] + if ! [[ -f "$archive" ]] then continue fi @@ -378,7 +373,7 @@ project_sources_archive() { sources_archive=$archive done - if ! [ -z "$sources_archive" ] + if [[ -n "$sources_archive" ]] then printf '%s\n' "$sources_archive" fi @@ -389,8 +384,8 @@ project_sources_archive_extract() { shift local arguments="$*" - local archive=$( project_sources_archive "$project" "$@" ) - local destination=$( dirname "$archive" ) + local archive=$(project_sources_archive "$project" "$@") + local destination=$(dirname "$archive") printf '%s\n' "Extracting source archive for $project (with ${arguments:-no argument})" @@ -404,11 +399,11 @@ project_sources_archive_update() { local arguments="$*" local repository=$project - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local archive=$( project_sources_archive "$project" "$@" ) - local destination=$( dirname "$archive" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local archive=$(project_sources_archive "$project" "$@") + local destination=$(dirname "$archive") - if [ -d "$sources_path" ] + if [[ -d "$sources_path" ]] then rm -rf "$sources_path" fi @@ -424,10 +419,10 @@ project_sources_archive_missing_error() { shift local arguments="$*" - local archive=$( project_sources_archive "$project" "$@" ) - if [ -z "$archive" ] || ! [ -f "$archive" ] + local archive=$(project_sources_archive "$project" "$@") + if [[ -z "$archive" ]] || ! [[ -f "$archive" ]] then - printf '%s\n' "Missing sources archive for $project (with ${arguments:-no argument})" >&2 + printf 1>&2 '%s\n' "Missing sources archive for $project (with ${arguments:-no argument})" return 1 else return 0 @@ -438,8 +433,8 @@ project_sources_archive_missing_check() { local project=$1 shift - local archive=$( project_sources_archive "$project" "$@" ) - if [ -z "$archive" ] || ! [ -f "$archive" ] + local archive=$(project_sources_archive "$project" "$@") + if [[ -z "$archive" ]] || ! [[ -f "$archive" ]] then return 0 else @@ -453,18 +448,18 @@ project_sources_prepare() { # Not implemented yet / May end up not being needed #project_sources_prepare_blobs - project_sources_prepare_patch "${project}" "${sources_path}" "$@" + project_sources_prepare_patch "$project" "$sources_path" "$@" } project_sources_prepare_patch() { local project="$1" local sources_path="$2" - local project_path="$(project_path "${project}")" - local patches_path="${project_path}/${PATCHES}" + local project_path="$(project_path "$project")" + local patches_path="$project_path/$PATCHES" - for patch in "${patches_path}"/[!.]*.@(patch|diff); do - diff_patch_file "${sources_path}" "${patch}" + for patch in "$patches_path"/[!.]*.@(patch|diff); do + diff_patch_file "$sources_path" "$patch" done } @@ -472,16 +467,16 @@ project_blobs_path() { local project=$1 shift - local project_path=$( project_path "$project" ) + local project_path=$(project_path "$project") local configs_path="$project_path/$CONFIGS" local argument local path for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -491,7 +486,7 @@ project_blobs_path() { local blobs_path="$configs_path/$path/$BLOBS" - if [ -f "$blobs_path" ] + if [[ -f "$blobs_path" ]] then printf '%s\n' "$blobs_path" return @@ -505,16 +500,16 @@ project_blobs_ignore_path() { local project=$1 shift - local project_path=$( project_path "$project" ) + local project_path=$(project_path "$project") local configs_path="$project_path/$CONFIGS" local argument local path for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -524,7 +519,7 @@ project_blobs_ignore_path() { blobs_ignore_path="$configs_path/$path/$BLOBS_IGNORE" - if [ -f "$blobs_ignore_path" ] + if [[ -f "$blobs_ignore_path" ]] then printf '%s\n' "$blobs_ignore_path" return @@ -536,7 +531,7 @@ project_arguments_targets() { local project=$1 shift - local project_path=$( project_path "$project" ) + local project_path=$(project_path "$project") local targets_path="$project_path/$CONFIGS" local argument @@ -547,7 +542,7 @@ project_arguments_targets() { targets_path="$targets_path/$TARGETS" - if [ -f "$targets_path" ] + if [[ -f "$targets_path" ]] then cat "$targets_path" fi @@ -561,8 +556,8 @@ project_usage_actions() { ( for action in "${PROJECT_ACTIONS_GENERIC[@]}"; do - if function_check "${action}"; then - printf '%s\n' " ${action}" + if function_check "$action"; then + printf '%s\n' " $action" fi done ) @@ -572,7 +567,7 @@ project_usage_actions() { ( for action in "$@"; do - printf '%s\n' " ${action}" + printf '%s\n' " $action" done ) fi @@ -584,7 +579,7 @@ project_usage_arguments() { printf '\n%s\n' 'Arguments:' - project_usage_arguments_recursive "${project}" ' ' "$@" + project_usage_arguments_recursive "$project" ' ' "$@" } project_usage_arguments_recursive() { @@ -596,12 +591,12 @@ project_usage_arguments_recursive() { local action_helper_arguments local argument - action_helper_arguments="$(project_action_helper 'arguments' "${project}" "$@")" + action_helper_arguments="$(project_action_helper 'arguments' "$project" "$@")" - if [[ -n "${action_helper_arguments}" ]]; then - for argument in ${action_helper_arguments}; do - printf '%s\n' "${spacing}${argument}" - project_usage_arguments_recursive "${project}" " ${spacing}" "$@" "${argument}" + if [[ -n "$action_helper_arguments" ]]; then + for argument in $action_helper_arguments; do + printf '%s\n' "$spacing$argument" + project_usage_arguments_recursive "$project" " $spacing" "$@" "$argument" done fi } @@ -648,25 +643,25 @@ project_download_archive() { local archive="${archive_uri##*/}" local compress_fmt="${archive##*.tar}" - local directory_prefix="${root}/${SOURCES}" - local archive_path="${root}/${SOURCES}/${archive}" - local sources_path="${root}/${SOURCES}/${project}" + local directory_prefix="$root/$SOURCES" + local archive_path="$root/$SOURCES/$archive" + local sources_path="$root/$SOURCES/$project" if [[ "${compress_fmt#*.}" != "${ARCHIVE#*.}" ]]; then - ARCHIVE="tar${compress_fmt}" + ARCHIVE="tar$compress_fmt" fi # TODO: Split this code block into separate functions # Archive verification will be included at that point in time - if ! project_sources_directory_filled_check "${project}"; then - download_wrapper "${directory_prefix}" "${archive_uri}" "${archive_dsig_uri}" - archive_extract "${archive_path}" "${directory_prefix}" + if ! project_sources_directory_filled_check "$project"; then + download_wrapper "$directory_prefix" "$archive_uri" "$archive_dsig_uri" + archive_extract "$archive_path" "$directory_prefix" - mv "${archive_path%.tar*}" "${sources_path}" + mv "${archive_path%.tar*}" "$sources_path" fi # Patch the source, if necessary - project_sources_prepare "${project}" "${sources_path}" + project_sources_prepare "$project" "$sources_path" } project_download_check_archive() { @@ -674,7 +669,7 @@ project_download_check_archive() { local sources_path="$2" # TODO: Write the following function - #project_sources_archive_extract_check "${project}" "${sources_path}" + #project_sources_archive_extract_check "$project" "$sources_path" } project_extract() { @@ -685,7 +680,7 @@ project_extract() { if ! project_sources_directory_filled_check "$project" "$repository" "$@" then - project_sources_archive_missing_error "$project" "$@" + project_sources_archive_missing_error "$project" "$@" || return 1 project_sources_archive_extract "$project" "$@" fi } @@ -742,8 +737,8 @@ project_build_check() { local project=$1 shift - local project_path=$( project_path "$project" ) - local build_path=$( project_build_path "$project" "$@" ) + local project_path=$(project_path "$project") + local build_path=$(project_build_path "$project" "$@") local source_file_path local argument local rule @@ -751,9 +746,9 @@ project_build_check() { for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -763,20 +758,20 @@ project_build_check() { configs_install_path="$project_path/$CONFIGS/$path/$INSTALL" - if ! [ -f "$configs_install_path" ] + if ! [[ -f "$configs_install_path" ]] then continue fi while read -r rule do - source=$( printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\1/g" ) + source=$(printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\1/g") source_path="$build_path/$source" # Source may contain a wildcard. path_wildcard_expand "$source_path" | while read -r source_file_path do - if ! [ -f "$source_file_path" ] && ! [ -d "$source_file_path" ] + if ! [[ -f "$source_file_path" ]] && ! [[ -d "$source_file_path" ]] then false fi @@ -805,11 +800,11 @@ project_build_directory_missing_empty_error() { shift local arguments="$*" - local build_path=$( project_build_path "$project" "$@" ) + local build_path=$(project_build_path "$project" "$@") if ! directory_filled_check "$build_path" then - printf '%s\n' "Build directory for project $project (with ${arguments:-no argument}) missing or empty" >&2 + printf 1>&2 '%s\n' "Build directory for project $project (with ${arguments:-no argument}) missing or empty" return 1 else return 0 @@ -820,9 +815,9 @@ project_install() { local project=$1 shift - local project_path=$( project_path "$project" ) - local build_path=$( project_build_path "$project" "$@" ) - local install_path=$( project_install_path "$project" "$@" ) + local project_path=$(project_path "$project") + local build_path=$(project_build_path "$project" "$@") + local install_path=$(project_install_path "$project" "$@") local source_file_path local argument local rule @@ -831,9 +826,9 @@ project_install() { # Install built files first. for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -843,7 +838,7 @@ project_install() { configs_install_path="$project_path/$CONFIGS/$path/$INSTALL" - if ! [ -f "$configs_install_path" ] + if ! [[ -f "$configs_install_path" ]] then continue fi @@ -852,12 +847,12 @@ project_install() { while read -r rule do - source=$( printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\1/g" ) + source=$(printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\1/g") source_path="$build_path/$source" - destination=$( printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\2/g" ) + destination=$(printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\2/g") destination_path="$install_path/$destination" - destination_directory_path=$( dirname "$destination_path" ) + destination_directory_path=$(dirname "$destination_path") mkdir -p "$destination_directory_path" @@ -874,9 +869,9 @@ project_install() { # Install install files then. for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -886,19 +881,19 @@ project_install() { install_install_path="$project_path/$INSTALL/$path/$INSTALL" - if ! [ -f "$install_install_path" ] + if ! [[ -f "$install_install_path" ]] then continue fi while read -r rule do - source=$( printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\1/g" ) + source=$(printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\1/g") source_path="$project_path/$INSTALL/$path/$source" - destination=$( printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\2/g" ) + destination=$(printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\2/g") destination_path="$install_path/$destination" - destination_directory_path=$( dirname "$destination_path" ) + destination_directory_path=$(dirname "$destination_path") mkdir -p "$destination_directory_path" @@ -915,9 +910,9 @@ project_install_check() { local project=$1 shift - local project_path=$( project_path "$project" ) - local build_path=$( project_build_path "$project" "$@" ) - local install_path=$( project_install_path "$project" "$@" ) + local project_path=$(project_path "$project") + local build_path=$(project_build_path "$project" "$@") + local install_path=$(project_install_path "$project" "$@") local argument local rule local path @@ -925,9 +920,9 @@ project_install_check() { # Install built files first. for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -937,7 +932,7 @@ project_install_check() { configs_install_path="$project_path/$CONFIGS/$path/$INSTALL" - if ! [ -f "$configs_install_path" ] + if ! [[ -f "$configs_install_path" ]] then continue fi @@ -946,10 +941,10 @@ project_install_check() { while read -r rule do - destination=$( printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\2/g" ) + destination=$(printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\2/g") destination_path="$install_path/$destination" - if ! [ -f "$destination_path" ] && ! [ -d "$destination_path" ] + if ! [[ -f "$destination_path" ]] && ! [[ -d "$destination_path" ]] then false fi @@ -961,9 +956,9 @@ project_install_check() { # Install install files then. for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then - if [ -z "$path" ] + if [[ -z "$path" ]] then path="$argument" else @@ -973,17 +968,17 @@ project_install_check() { install_install_path="$project_path/$INSTALL/$path/$INSTALL" - if ! [ -f "$install_install_path" ] + if ! [[ -f "$install_install_path" ]] then continue fi while read -r rule do - destination=$( printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\2/g" ) + destination=$(printf '%s\n' "$rule" | sed "s/$INSTALL_REGEX/\\2/g") destination_path="$install_path/$destination" - if ! [ -f "$destination_path" ] && ! [ -d "$destination_path" ] + if ! [[ -f "$destination_path" ]] && ! [[ -d "$destination_path" ]] then false fi @@ -1011,11 +1006,11 @@ project_install_directory_missing_empty_error() { shift local arguments="$*" - local install_path=$( project_install_path "$project" "$@" ) + local install_path=$(project_install_path "$project" "$@") if ! directory_filled_check "$install_path" then - printf '%s\n' "Install directory for project $project (with ${arguments:-no argument}) missing or empty" >&2 + printf 1>&2 '%s\n' "Install directory for project $project (with ${arguments:-no argument}) missing or empty" return 1 else return 0 @@ -1030,9 +1025,9 @@ project_release_path() { local release_path="$root/$RELEASE/$prefix" # Special care for tools and systems, that depend on the host arch. - if [ "$prefix" = "$SYSTEMS" ] || [ "$prefix" = "$TOOLS" ] + if [[ "$prefix" = "$SYSTEMS" ]] || [[ "$prefix" = "$TOOLS" ]] then - local machine=$( uname -m ) + local machine=$(uname -m) release_path="$release_path/$machine/$project" else @@ -1048,7 +1043,7 @@ project_release_archive_path() { local prefix=$1 shift - local release_path=$( project_release_path "$project" "$prefix" ) + local release_path=$(project_release_path "$project" "$prefix") local argument local path="$project" @@ -1068,7 +1063,7 @@ project_release_rootfs_path() { local prefix=$1 shift - local release_path=$( project_release_path "$project" "$prefix" ) + local release_path=$(project_release_path "$project" "$prefix") local argument local path="$project" @@ -1093,7 +1088,7 @@ project_release_sources_archive_path() { for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then path="$path-$argument" fi @@ -1108,7 +1103,7 @@ project_release_sources_archive_path() { release_path=$path done - if ! [ -z "$release_path" ] + if [[ -n "$release_path" ]] then local archive_path="$root/$RELEASE/$SOURCES/$project/$release_path.$ARCHIVE" @@ -1122,8 +1117,8 @@ project_release_sources_archive_create() { local arguments="$*" local repository=$project - local archive_path=$( project_release_sources_archive_path "$project" "$@" ) - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) + local archive_path=$(project_release_sources_archive_path "$project" "$@") + local sources_path=$(project_sources_path "$project" "$repository" "$@") printf '%s\n' "Releasing sources archive for $project (with ${arguments:-no argument})" @@ -1135,8 +1130,8 @@ project_release_sources_archive_exists_check() { local project=$1 shift - local archive_path=$( project_release_sources_archive_path "$project" "$@" ) - if [ -z "$archive_path" ] || ! [ -f "$archive_path" ] + local archive_path=$(project_release_sources_archive_path "$project" "$@") + if [[ -z "$archive_path" ]] || ! [[ -f "$archive_path" ]] then return 1 else @@ -1190,20 +1185,20 @@ project_release_install() { local prefix=$1 shift - local install_path=$( project_install_path "$project" "$@" ) - local release_path=$( project_release_path "$project" "$prefix" ) + local install_path=$(project_install_path "$project" "$@") + local release_path=$(project_release_path "$project" "$prefix") local directory_path local path project_install_directory_missing_empty_error "$project" "$@" - local files=$( find "$install_path" -type f || true ) + local files=$(find "$install_path" -type f || true) local file printf '%s\n' "$files" | while read -r file do path="$release_path/$file" - directory_path=$( dirname "$path" ) + directory_path=$(dirname "$path") mkdir -p "$directory_path" @@ -1218,13 +1213,13 @@ project_release_install_check() { local prefix=$1 shift - local install_path=$( project_install_path "$project" "$@" ) - local release_path=$( project_release_path "$project" "$prefix" ) + local install_path=$(project_install_path "$project" "$@") + local release_path=$(project_release_path "$project" "$prefix") local path project_install_directory_missing_empty_error "$project" "$@" - local files=$( find "$install_path" -type f || true ) + local files=$(find "$install_path" -type f || true) local file printf '%s\n' "$files" | while read -r file @@ -1260,8 +1255,8 @@ project_release_install_archive_create() { shift local arguments="$*" - local install_path=$( project_install_path "$project" "$@" ) - local archive_path=$( project_release_archive_path "$project" "$prefix" "$@" ) + local install_path=$(project_install_path "$project" "$@") + local archive_path=$(project_release_archive_path "$project" "$prefix" "$@") printf '%s\n' "Releasing $prefix archive for $project (with ${arguments:-no argument})" @@ -1275,7 +1270,7 @@ project_release_install_archive_exists_check() { local prefix=$1 shift - local archive_path=$( project_release_archive_path "$project" "$prefix" "$@" ) + local archive_path=$(project_release_archive_path "$project" "$prefix" "$@") file_exists_check "$archive_path" } @@ -1308,8 +1303,8 @@ project_release_install_rootfs_create() { shift local arguments="$*" - local install_path=$( project_install_path "$project" "$@" ) - local rootfs_path=$( project_release_rootfs_path "$project" "$prefix" "$@" ) + local install_path=$(project_install_path "$project" "$@") + local rootfs_path=$(project_release_rootfs_path "$project" "$prefix" "$@") printf '%s\n' "Releasing $prefix rootfs for $project (with ${arguments:-no argument})" @@ -1323,7 +1318,7 @@ project_release_install_rootfs_exists_check() { local prefix=$1 shift - local rootfs_path=$( project_release_rootfs_path "$project" "$prefix" "$@" ) + local rootfs_path=$(project_release_rootfs_path "$project" "$prefix" "$@") file_exists_check "$rootfs_path" } @@ -1341,7 +1336,7 @@ project_clean_build() { local project=$1 shift - local build_path=$( project_build_path "$project" "$@" ) + local build_path=$(project_build_path "$project" "$@") rm -rf "$build_path" } @@ -1350,7 +1345,7 @@ project_clean_install() { local project=$1 shift - local install_path=$( project_install_path "$project" "$@" ) + local install_path=$(project_install_path "$project" "$@") rm -rf "$install_path" } @@ -1363,7 +1358,7 @@ project_clean_release() { for prefix in "$SOURCES" "$SYSTEMS" "$IMAGES" "$TOOLS" "$DOCS" do - local release_path=$( project_release_path "$project" "$prefix" ) + local release_path=$(project_release_path "$project" "$prefix") rm -rf "$release_path" done @@ -1383,7 +1378,7 @@ project_clean_rootfs_install() { local project=$1 shift - local install_path=$( project_install_path "$project" "$@" ) + local install_path=$(project_install_path "$project" "$@") execute_root rm -rf "$install_path" @@ -1397,19 +1392,19 @@ project_file_path() { local file=$1 shift - local project_path=$( project_path "$project" ) + local project_path=$(project_path "$project") local path="$project_path/$directory" local argument local file_path for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then path="$path/$argument" fi - if ! [ -f "$path/$file" ] + if ! [[ -f "$path/$file" ]] then continue fi @@ -1417,7 +1412,7 @@ project_file_path() { file_path="$path/$file" done - if [ -z "$file_path" ] + if [[ -z "$file_path" ]] then return 1 fi @@ -1426,15 +1421,15 @@ project_file_path() { } project_file_test() { - local file_path=$( project_file_path "$@" ) + local file_path=$(project_file_path "$@") test -f "$file_path" } project_file_contents() { - local file_path=$( project_file_path "$@" ) + local file_path=$(project_file_path "$@") - if [ -f "$file_path" ] + if [[ -f "$file_path" ]] then cat "$file_path" fi @@ -1448,21 +1443,21 @@ project_file_contents_herit() { local file=$1 shift - local project_path=$( project_path "$project" ) + local project_path=$(project_path "$project") local path="$project_path/$directory" local argument local file_path for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then path="$path/$argument" fi file_path="$path/$file" - if ! [ -f "$file_path" ] + if ! [[ -f "$file_path" ]] then continue fi @@ -22,11 +22,11 @@ TOOL_ACTIONS_HELPERS=(arguments) tool_include() { local tool=$1 - local tool_path=$( tool_path "$tool" ) + local tool_path=$(tool_path "$tool") unset -f "${TOOL_ACTIONS[@]}" - . "$tool_path/$tool" + source "$tool_path/$tool" tool_helper_include "$tool" } @@ -34,21 +34,21 @@ tool_include() { tool_helper_include() { local tool=$1 - local tool_path=$( tool_path "$tool" ) + local tool_path=$(tool_path "$tool") local include="$tool_path/$tool-helper" - if [ -f "$include" ] + if [[ -f "$include" ]] then - . "$include" + source "$include" fi } tool_check() { local tool="${1##*/}" - local tool_path="$(tool_path "${tool}")" + local tool_path="$(tool_path "$tool")" - if ! [[ -f "${tool_path}/${tool}" ]]; then + if ! [[ -f "$tool_path/$tool" ]]; then return 1 fi } @@ -79,13 +79,13 @@ tool_action() { if ! tool_check "$tool" then - printf '%s\n' "Tool $tool check failed" >&2 + printf 1>&2 '%s\n' "Tool $tool check failed" return 1 fi tool_action_check "$action" "$tool" "$@" - if [ $? -eq 0 ] + if [[ $? -eq 0 ]] then return 0 fi @@ -97,19 +97,19 @@ tool_action() { return 0 fi - printf '%s\n' "Tool $tool $action (with ${arguments:-no argument})" >&2 + printf 1>&2 '%s\n' "Tool $tool $action (with ${arguments:-no argument})" ( set -e "$action" "$@" ) - if [ $? -ne 0 ] + if [[ $? -ne 0 ]] then - printf '\n%s\n' "Tool $tool $action (with ${arguments:-no argument}) failed" >&2 + printf 1>&2 '\n%s\n' "Tool $tool $action (with ${arguments:-no argument}) failed" return 1 else - printf '\n%s\n' "Tool $tool $action (with ${arguments:-no argument}) completed" >&2 + printf 1>&2 '\n%s\n' "Tool $tool $action (with ${arguments:-no argument}) completed" fi ) } @@ -125,7 +125,7 @@ tool_action_check() { if ! tool_check "$tool" then - printf '%s\n' "Tool $tool check failed" >&2 + printf 1>&2 '%s\n' "Tool $tool check failed" return 1 fi @@ -138,7 +138,7 @@ tool_action_check() { for tool_force in $TOOLS_FORCE do - if [ "$tool_force" = "$tool" ] + if [[ "$tool_force" = "$tool" ]] then return 1 fi @@ -162,7 +162,7 @@ tool_action_helper() { if ! tool_check "$tool" then - printf '%s\n' "Tool $tool check failed" >&2 + printf 1>&2 '%s\n' "Tool $tool check failed" return 1 fi @@ -186,10 +186,10 @@ tool_action_arguments_recursive() { local tool=$1 shift - local action_helper_arguments=$( tool_action_helper "arguments" "$tool" "$@" ) + local action_helper_arguments=$(tool_action_helper "arguments" "$tool" "$@") local argument - if [ $? -ne 0 ] || [ -z "$action_helper_arguments" ] + if [[ $? -ne 0 ]] || [[ -z "$action_helper_arguments" ]] then tool_action "$action" "$tool" "$@" else @@ -200,6 +200,25 @@ tool_action_arguments_recursive() { fi } +tool_arguments_targets() { + local tool="$1" + shift + + local tool_path="$(tool_path "$tool")" + local targets_path="$tool_path/$CONFIGS" + local argument + + for argument in "$@"; do + targets_path="$targets_path/$argument" + done + + targets_path="$targets_path/$TARGETS" + + if [[ -f "$targets_path" ]]; then + cat "$targets_path" + fi +} + tool_path() { local tool=$1 @@ -217,7 +236,7 @@ tool_sources_path() { for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then path="$path/$argument" fi @@ -244,7 +263,7 @@ tool_usage_actions() { fi done - if [ $# -gt 0 ] + if [[ $# -gt 0 ]] then printf '\n%s\n' 'Specific actions:' @@ -270,10 +289,10 @@ tool_usage_arguments_recursive() { local spacing=$1 shift - local action_helper_arguments=$( tool_action_helper "arguments" "$tool" "$@" ) + local action_helper_arguments=$(tool_action_helper "arguments" "$tool" "$@") local argument - if ! [ -z "$action_helper_arguments" ] + if [[ -n "$action_helper_arguments" ]] then printf '%s\n' "$action_helper_arguments" | while read argument do @@ -291,19 +310,19 @@ tool_file_path() { local file=$1 shift - local tool_path=$( tool_path "$tool" ) + local tool_path=$(tool_path "$tool") local path="$tool_path/$directory" local argument local file_path for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then path="$path/$argument" fi - if ! [ -f "$path/$file" ] + if ! [[ -f "$path/$file" ]] then continue fi @@ -311,7 +330,7 @@ tool_file_path() { file_path="$path/$file" done - if [ -z "$file_path" ] + if [[ -z "$file_path" ]] then return 1 fi @@ -320,15 +339,15 @@ tool_file_path() { } tool_file_test() { - local file_path=$( tool_file_path "$@" ) + local file_path=$(tool_file_path "$@") test -f "$file_path" } tool_file_contents() { - local file_path=$( tool_file_path "$@" ) + local file_path=$(tool_file_path "$@") - if [ -f "$file_path" ] + if [[ -f "$file_path" ]] then cat "$file_path" fi @@ -342,21 +361,21 @@ tool_file_contents_herit() { local file=$1 shift - local tool_path=$( tool_path "$tool" ) + local tool_path=$(tool_path "$tool") local path="$tool_path/$directory" local argument local file_path for argument in "" "$@" do - if ! [ -z "$argument" ] + if [[ -n "$argument" ]] then path="$path/$argument" fi file_path="$path/$file" - if ! [ -f "$file_path" ] + if ! [[ -f "$file_path" ]] then continue fi diff --git a/projects/bucts/bucts b/projects/bucts/bucts index 02766f8e..a5feeabc 100644 --- a/projects/bucts/bucts +++ b/projects/bucts/bucts @@ -16,95 +16,95 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. arguments() { - project_arguments_targets "${project}" "$@" + project_arguments_targets "$project" "$@" } usage() { - project_usage_actions "${project}" - project_usage_arguments "${project}" "$@" + project_usage_actions "$project" + project_usage_arguments "$project" "$@" } download() { - local repository="${project}" + local repository="$project" - project_download_git "${project}" "${repository}" 'git://git.stuge.se/bucts.git' "$@" + project_download_git "$project" "$repository" 'git://git.stuge.se/bucts.git' "$@" } download_check() { - local repository="${project}" + local repository="$project" - project_download_check_git "${project}" "${repository}" "$@" + project_download_check_git "$project" "$repository" "$@" } extract() { - local repository="${project}" + local repository="$project" - project_extract "${project}" "$@" + project_extract "$project" "$@" } extract_check() { - local repository="${project}" + local repository="$project" - project_extract_check "${project}" "$@" + project_extract_check "$project" "$@" } update() { - local repository="${project}" + local repository="$project" - project_update_git "${project}" "${repository}" "$@" + project_update_git "$project" "$repository" "$@" } update_check() { - local repository="${project}" + local repository="$project" - project_update_check_git "${project}" "${repository}" "$@" + project_update_check_git "$project" "$repository" "$@" } build() { - local repository="${project}" + local repository="$project" - project_sources_directory_missing_empty_error "${project}" "${repository}" "$@" + project_sources_directory_missing_empty_error "$project" "$repository" "$@" - if git_project_check "${repository}"; then - git_project_checkout "${project}" "${repository}" "$@" + if git_project_check "$repository"; then + git_project_checkout "$project" "$repository" "$@" fi - local sources_path="$(project_sources_path "${project}" "${repository}" "$@")" + local sources_path="$(project_sources_path "$project" "$repository" "$@")" - local build_path="$(project_build_path "${project}" "$@")" + local build_path="$(project_build_path "$project" "$@")" - mkdir -p "${build_path}" - make -C "${sources_path}" -j"${TASKS}" - cp "${sources_path}/bucts" "${build_path}" - make -C "${sources_path}" 'clean' + mkdir -p "$build_path" + make -C "$sources_path" -j"$TASKS" + cp "$sources_path/bucts" "$build_path" + make -C "$sources_path" 'clean' } build_check() { - project_build_check "${project}" "$@" + project_build_check "$project" "$@" } install() { - project_install "${project}" "$@" + project_install "$project" "$@" } install_check() { - project_install_check "${project}" "$@" + project_install_check "$project" "$@" } release() { - local repository="${project}" + local repository="$project" - project_release_install_archive "${project}" "${TOOLS}" "$@" - project_release_sources_git "${project}" "${repository}" "$@" + project_release_install_archive "$project" "$TOOLS" "$@" + project_release_sources_git "$project" "$repository" "$@" } release_check() { local repository="bucts" - project_release_install_archive_check "${project}" "${TOOLS}" "$@" - project_release_check_sources_git "${project}" "${repository}" "$@" + project_release_install_archive_check "$project" "$TOOLS" "$@" + project_release_check_sources_git "$project" "$repository" "$@" } clean() { - project_clean "${project}" "$@" + project_clean "$project" "$@" } diff --git a/projects/cbfstool/cbfstool b/projects/cbfstool/cbfstool index 3666eb23..c665bdca 100755 --- a/projects/cbfstool/cbfstool +++ b/projects/cbfstool/cbfstool @@ -56,19 +56,19 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$@" - local coreboot_sources_path=$( project_sources_path "$project" "$repository" "$@" ) + local coreboot_sources_path=$(project_sources_path "$project" "$repository" "$@") local sources_path="$coreboot_sources_path/util/cbfstool/" - local build_path=$( project_build_path "$project" "$@" ) - local build_util_path=$( dirname "$build_path" ) + local build_path=$(project_build_path "$project" "$@") + local build_util_path=$(dirname "$build_path") - local vboot_sources_path=$( project_sources_path "vboot" "vboot" "devices" ) + local vboot_sources_path=$(project_sources_path "vboot" "vboot" "devices") if git_project_check "$repository" then git_project_checkout "$project" "$repository" "$@" fi - project_action "checkout" "vboot" "devices" + project_action_arguments "checkout" "vboot" "devices" mkdir -p "$build_path" diff --git a/projects/cbmem/cbmem b/projects/cbmem/cbmem index 6a469f61..3e240529 100755 --- a/projects/cbmem/cbmem +++ b/projects/cbmem/cbmem @@ -56,9 +56,9 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$@" - local coreboot_sources_path=$( project_sources_path "$project" "$repository" "$@" ) + local coreboot_sources_path=$(project_sources_path "$project" "$repository" "$@") local sources_path="$coreboot_sources_path/util/cbmem/" - local build_path=$( project_build_path "$project" "$@" ) + local build_path=$(project_build_path "$project" "$@") if git_project_check "$repository" then diff --git a/projects/coreboot/configs/seabios/d510mo/arch b/projects/coreboot/configs/seabios/d510mo/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/d510mo/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/d510mo/config b/projects/coreboot/configs/seabios/d510mo/config new file mode 100644 index 00000000..168919ef --- /dev/null +++ b/projects/coreboot/configs/seabios/d510mo/config @@ -0,0 +1,521 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +# CONFIG_COMPRESS_PRERAM_STAGES is not set +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_EARLY_CBMEM_INIT is not set +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +CONFIG_FLASHMAP_OFFSET=0 +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set +# CONFIG_ACPI_SATA_GENERATOR is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +CONFIG_VENDOR_INTEL=y +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +# CONFIG_VENDOR_LENOVO is not set +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="intel/d510mo" +CONFIG_MAINBOARD_PART_NUMBER="D510MO" +CONFIG_MAINBOARD_VENDOR="Intel" +CONFIG_MAX_CPUS=4 +CONFIG_VGA_BIOS_ID="8086,a001" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +# CONFIG_UDELAY_IO is not set +CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" +CONFIG_DCACHE_RAM_BASE=0xffafc000 +CONFIG_DCACHE_RAM_SIZE=0x4000 +CONFIG_MMCONF_BASE_ADDRESS=0xe0000000 +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Intel" +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_RAMTOP=0x200000 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x100000 +CONFIG_POST_DEVICE=y +# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set +# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set +# CONFIG_BOARD_INTEL_BAKERSPORT_FSP is not set +# CONFIG_BOARD_INTEL_BASKING_RIDGE is not set +# CONFIG_BOARD_INTEL_BAYLEYBAY_FSP is not set +# CONFIG_BOARD_INTEL_COUGAR_CANYON2 is not set +CONFIG_BOARD_INTEL_D510MO=y +# CONFIG_BOARD_INTEL_D810E2CB is not set +# CONFIG_BOARD_INTEL_D945GCLF is not set +# CONFIG_BOARD_INTEL_EAGLEHEIGHTS is not set +# CONFIG_BOARD_INTEL_EMERALDLAKE2 is not set +# CONFIG_BOARD_INTEL_GALILEO is not set +# CONFIG_BOARD_INTEL_KUNIMITSU is not set +# CONFIG_BOARD_INTEL_LITTLEPLAINS is not set +# CONFIG_BOARD_INTEL_MINNOWMAX is not set +# CONFIG_BOARD_INTEL_MOHONPEAK is not set +# CONFIG_BOARD_INTEL_MTARVON is not set +# CONFIG_BOARD_INTEL_STARGO2 is not set +# CONFIG_BOARD_INTEL_STRAGO is not set +# CONFIG_BOARD_INTEL_TRUXTON is not set +# CONFIG_BOARD_INTEL_WTM2 is not set +CONFIG_CPU_ADDR_BITS=32 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +CONFIG_MAINBOARD_VERSION="1.0" +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_1024=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +CONFIG_COREBOOT_ROMSIZE_KB_1024=y +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +CONFIG_COREBOOT_ROMSIZE_KB=1024 +CONFIG_ROM_SIZE=0x100000 +CONFIG_FMDFILE="" +# CONFIG_SYSTEM_TYPE_LAPTOP is not set +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/pineview/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801gx/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_HEAP_SIZE=0x4000 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_SOCKET_SPECIFIC_OPTIONS=y +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_106CX=y +CONFIG_CPU_INTEL_SOCKET_FCBGA559=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +CONFIG_UDELAY_LAPIC=y +CONFIG_LAPIC_MONOTONIC_TIMER=y +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_CALIBRATE_WITH_IO is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set +CONFIG_SERIALIZED_SMM_INITIALIZATION=y +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_BACKUP_DEFAULT_SMM_REGION is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_PINEVIEW=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_HPET_MIN_TICKS=0x80 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y + +# +# Super I/O +# +CONFIG_SUPERIO_WINBOND_COMMON_ROMSTAGE=y +CONFIG_SUPERIO_WINBOND_W83627THG=y + +# +# Embedded Controllers +# +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +CONFIG_AP_IN_SIPI_WAIT=y +CONFIG_SIPI_VECTOR_IN_ROM=y +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +# CONFIG_ROMCC is not set +CONFIG_LATE_CBMEM_INIT=y +CONFIG_PC80_SYSTEM=y +# CONFIG_HAVE_CMOS_DEFAULT is not set +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_COMPILE_IN_DSDT is not set +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +# CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG is not set +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_PXE_ROM is not set +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +# CONFIG_INTEL_GMA_ACPI is not set +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVERS_UART is not set +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +CONFIG_HAVE_USBDEBUG=y +# CONFIG_HAVE_USBDEBUG_OPTIONS is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +CONFIG_RTC=y +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM=y +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +# CONFIG_CONSOLE_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +# CONFIG_HAVE_ACPI_RESUME is not set +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +CONFIG_HAVE_MONOTONIC_TIMER=y +# CONFIG_GENERIC_UDELAY is not set +# CONFIG_TIMER_QUEUE is not set +# CONFIG_HAVE_OPTION_TABLE is not set +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_COMMON_FADT=y +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +# CONFIG_GENERATE_MP_TABLE is not set +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D510MO" + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_DEBUG_BOOT_STATE is not set diff --git a/projects/coreboot/configs/seabios/d510mo/revision b/projects/coreboot/configs/seabios/d510mo/revision new file mode 100644 index 00000000..1ab8299e --- /dev/null +++ b/projects/coreboot/configs/seabios/d510mo/revision @@ -0,0 +1 @@ +2a3434757ef425dbdfedf1fc69e1a033a6e7310d diff --git a/projects/coreboot/configs/seabios/d945gclf/arch b/projects/coreboot/configs/seabios/d945gclf/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/d945gclf/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/d945gclf/config b/projects/coreboot/configs/seabios/d945gclf/config new file mode 100644 index 00000000..2cb14518 --- /dev/null +++ b/projects/coreboot/configs/seabios/d945gclf/config @@ -0,0 +1,598 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +# CONFIG_STATIC_OPTION_TABLE is not set +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_EARLY_CBMEM_LIST is not set +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +CONFIG_DEVICETREE="devicetree.cb" +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +CONFIG_VENDOR_INTEL=y +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +# CONFIG_VENDOR_LENOVO is not set +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="intel/d945gclf" +CONFIG_MAINBOARD_PART_NUMBER="D945GCLF" +CONFIG_IRQ_SLOT_COUNT=18 +CONFIG_MAINBOARD_VENDOR="Intel" +CONFIG_MAX_CPUS=4 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x80000 +CONFIG_UART_FOR_CONSOLE=0 +CONFIG_VGA_BIOS_ID="8086,27a2" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +# CONFIG_HAS_LVDS is not set +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Intel" +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set +# CONFIG_BOARD_EMULATION_QEMU_X86_I440FX is not set +# CONFIG_BOARD_EMULATION_QEMU_POWER8 is not set +# CONFIG_BOARD_EMULATION_QEMU_X86_Q35 is not set +# CONFIG_BOARD_EMULATION_QEMU_UCB_RISCV is not set +# CONFIG_BOARD_EMULATION_SPIKE_UCB_RISCV is not set +CONFIG_POST_DEVICE=y +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_TTYS0_LCS=3 +# CONFIG_BOARD_INTEL_AMENIA is not set +# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP1 is not set +# CONFIG_BOARD_INTEL_APOLLOLAKE_RVP2 is not set +# CONFIG_BOARD_INTEL_BAKERSPORT_FSP is not set +# CONFIG_BOARD_INTEL_BASKING_RIDGE is not set +# CONFIG_BOARD_INTEL_BAYLEYBAY_FSP is not set +# CONFIG_BOARD_INTEL_CAMELBACKMOUNTAIN_FSP is not set +# CONFIG_BOARD_INTEL_COUGAR_CANYON2 is not set +# CONFIG_BOARD_INTEL_D510MO is not set +# CONFIG_BOARD_INTEL_D810E2CB is not set +CONFIG_BOARD_INTEL_D945GCLF=y +# CONFIG_BOARD_INTEL_EAGLEHEIGHTS is not set +# CONFIG_BOARD_INTEL_EMERALDLAKE2 is not set +# CONFIG_BOARD_INTEL_GALILEO is not set +# CONFIG_BOARD_INTEL_KUNIMITSU is not set +# CONFIG_BOARD_INTEL_LITTLEPLAINS is not set +# CONFIG_BOARD_INTEL_MINNOWMAX is not set +# CONFIG_BOARD_INTEL_MOHONPEAK is not set +# CONFIG_BOARD_INTEL_MTARVON is not set +# CONFIG_BOARD_INTEL_STARGO2 is not set +# CONFIG_BOARD_INTEL_STRAGO is not set +# CONFIG_BOARD_INTEL_TRUXTON is not set +# CONFIG_BOARD_INTEL_WTM2 is not set +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +CONFIG_CPU_ADDR_BITS=32 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +CONFIG_MAINBOARD_VERSION="1.0" +# CONFIG_NO_POST is not set +CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0 +CONFIG_BOARD_ROMSIZE_KB_512=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +CONFIG_COREBOOT_ROMSIZE_KB_512=y +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=512 +CONFIG_ROM_SIZE=0x80000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +# CONFIG_SYSTEM_TYPE_LAPTOP is not set +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/i945/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801gx/bootblock.c" +CONFIG_TTYS0_BASE=0x3f8 +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_SOCKET_SPECIFIC_OPTIONS=y +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_106CX=y +CONFIG_SSE2=y +CONFIG_CPU_INTEL_SOCKET_441=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +CONFIG_UDELAY_LAPIC=y +CONFIG_LAPIC_MONOTONIC_TIMER=y +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +CONFIG_SERIALIZED_SMM_INITIALIZATION=y +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +# CONFIG_SOC_SETS_MSRS is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_I945=y +CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GC=y +# CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GM is not set +CONFIG_CHANNEL_XOR_RANDOMIZATION=y +# CONFIG_OVERRIDE_CLOCK_DISABLE is not set +CONFIG_CHECK_SLFRCS_ON_RESUME=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y + +# +# Super I/O +# +CONFIG_SUPERIO_SMSC_LPC47M15X=y + +# +# Embedded Controllers +# +CONFIG_VBOOT_VBNV_OFFSET=0x26 +# CONFIG_VBOOT_VBNV_CMOS is not set +# CONFIG_VBOOT_VBNV_EC is not set +# CONFIG_VBOOT is not set +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_UDK_2015_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +CONFIG_AP_IN_SIPI_WAIT=y +CONFIG_SIPI_VECTOR_IN_ROM=y +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +# CONFIG_HAVE_CMOS_DEFAULT is not set +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +# CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG is not set +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +CONFIG_DRIVERS_UART=y +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +# CONFIG_HAVE_USBDEBUG_OPTIONS is not set +# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +# CONFIG_INTEL_INT15 is not set +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +CONFIG_DRIVERS_INTEL_WIFI=y +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y +# CONFIG_BOOT_DEVICE_NOT_SPI_FLASH is not set +CONFIG_BOOT_DEVICE_SPI_FLASH=y +CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y +# CONFIG_BOOT_DEVICE_SUPPORTS_WRITES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +CONFIG_CONSOLE_SERIAL=y + +# +# I/O mapped, 8250-compatible +# + +# +# Serial port base address = 0x3f8 +# +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +CONFIG_CONSOLE_SERIAL_115200=y +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +CONFIG_TTYS0_BAUD=115200 +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +CONFIG_HAVE_MONOTONIC_TIMER=y +# CONFIG_GENERIC_UDELAY is not set +# CONFIG_TIMER_QUEUE is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +CONFIG_HAVE_PIRQ_TABLE=y +CONFIG_COMMON_FADT=y +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +CONFIG_GENERATE_PIRQ_TABLE=y +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="D945GCLF" + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_BAYOU is not set +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +# CONFIG_SEABIOS_STABLE is not set +# CONFIG_SEABIOS_MASTER is not set +# CONFIG_SEABIOS_REVISION is not set +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_GDB_STUB is not set +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_DEBUG_PIRQ is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/d945gclf/revision b/projects/coreboot/configs/seabios/d945gclf/revision new file mode 100644 index 00000000..f6e726f0 --- /dev/null +++ b/projects/coreboot/configs/seabios/d945gclf/revision @@ -0,0 +1 @@ +36d405268f040208cd26902f3c0b5346f7d4d25b diff --git a/projects/coreboot/configs/seabios/ga-g41m-es2l/arch b/projects/coreboot/configs/seabios/ga-g41m-es2l/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/ga-g41m-es2l/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/ga-g41m-es2l/config b/projects/coreboot/configs/seabios/ga-g41m-es2l/config new file mode 100644 index 00000000..196aea73 --- /dev/null +++ b/projects/coreboot/configs/seabios/ga-g41m-es2l/config @@ -0,0 +1,543 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_EARLY_CBMEM_LIST is not set +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +CONFIG_VENDOR_GIGABYTE=y +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +# CONFIG_VENDOR_LENOVO is not set +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="gigabyte/ga-g41m-es2l" +CONFIG_MAINBOARD_PART_NUMBER="GA-G41M-ES2L" +CONFIG_MAINBOARD_VENDOR="GIGABYTE" +CONFIG_MAX_CPUS=1 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x100000 +CONFIG_VGA_BIOS_ID="8086,2e32" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" +CONFIG_DCACHE_RAM_BASE=0xfeffc000 +CONFIG_DCACHE_RAM_SIZE=0x4000 +CONFIG_MMCONF_BASE_ADDRESS=0xe0000000 +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="GIGABYTE" +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +# CONFIG_BOARD_GIGABYTE_GA_6BXC is not set +# CONFIG_BOARD_GIGABYTE_GA_6BXE is not set +# CONFIG_BOARD_GIGABYTE_GA_B75M_D3H is not set +# CONFIG_BOARD_GIGABYTE_GA_B75M_D3V is not set +CONFIG_BOARD_GIGABYTE_GA_G41M_ES2L=y +# CONFIG_BOARD_GIGABYTE_GA_2761GXDK is not set +# CONFIG_BOARD_GIGABYTE_M57SLI is not set +# CONFIG_BOARD_GIGABYTE_MA785GM is not set +# CONFIG_BOARD_GIGABYTE_MA785GMT is not set +# CONFIG_BOARD_GIGABYTE_MA78GM is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +CONFIG_MAINBOARD_VERSION="1.0" +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_1024=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +CONFIG_COREBOOT_ROMSIZE_KB_1024=y +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=1024 +CONFIG_ROM_SIZE=0x100000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +# CONFIG_SYSTEM_TYPE_LAPTOP is not set +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/x4x/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801gx/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_SOCKET_SPECIFIC_OPTIONS=y +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_6EX=y +CONFIG_CPU_INTEL_MODEL_6FX=y +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_MODEL_F3X=y +CONFIG_CPU_INTEL_MODEL_F4X=y +CONFIG_SSE2=y +CONFIG_CPU_INTEL_SOCKET_LGA775=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +CONFIG_UDELAY_LAPIC=y +# CONFIG_LAPIC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_X4X=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y + +# +# Super I/O +# +CONFIG_SUPERIO_ITE_COMMON_ROMSTAGE=y +CONFIG_SUPERIO_ITE_IT8718F=y + +# +# Embedded Controllers +# +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +CONFIG_AP_IN_SIPI_WAIT=y +CONFIG_SIPI_VECTOR_IN_ROM=y +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +# CONFIG_HAVE_CMOS_DEFAULT is not set +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +# CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG is not set +# CONFIG_ON_DEVICE_ROM_LOAD is not set +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +CONFIG_PCIEXP_ASPM=y +CONFIG_PCIEXP_CLK_PM=y +# CONFIG_EARLY_PCI_BRIDGE is not set +CONFIG_PCIEXP_L1_SUB_STATE=y +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS is not set +CONFIG_REALTEK_8168_RESET=y +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +# CONFIG_HAVE_USBDEBUG_OPTIONS is not set +# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +# CONFIG_INTEL_INT15 is not set +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +# CONFIG_HAVE_ACPI_RESUME is not set +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +# CONFIG_HAVE_OPTION_TABLE is not set +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_COMMON_FADT=y +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +# CONFIG_GENERATE_MP_TABLE is not set +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="GA-G41M-ES2L" + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/ga-g41m-es2l/revision b/projects/coreboot/configs/seabios/ga-g41m-es2l/revision new file mode 100644 index 00000000..e785a260 --- /dev/null +++ b/projects/coreboot/configs/seabios/ga-g41m-es2l/revision @@ -0,0 +1 @@ +7c2e5396a3d47c64eb5a553fe412aad4c0f8dc1b diff --git a/projects/coreboot/configs/seabios/kcma-d8/arch b/projects/coreboot/configs/seabios/kcma-d8/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/kcma-d8/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/kcma-d8/config b/projects/coreboot/configs/seabios/kcma-d8/config new file mode 100644 index 00000000..3ae9245a --- /dev/null +++ b/projects/coreboot/configs/seabios/kcma-d8/config @@ -0,0 +1,602 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +CONFIG_FLASHMAP_OFFSET=0 +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set +# CONFIG_ACPI_SATA_GENERATOR is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +CONFIG_VENDOR_ASUS=y +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +# CONFIG_VENDOR_LENOVO is not set +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="asus/kcma-d8" +CONFIG_MAINBOARD_PART_NUMBER="KCMA-D8" +CONFIG_IRQ_SLOT_COUNT=13 +CONFIG_MAINBOARD_VENDOR="ASUS" +CONFIG_APIC_ID_OFFSET=0 +CONFIG_HW_MEM_HOLE_SIZEK=0x100000 +CONFIG_MAX_CPUS=16 +CONFIG_MAX_PHYSICAL_CPUS=2 +# CONFIG_HW_MEM_HOLE_SIZE_AUTO_INC is not set +CONFIG_HT_CHAIN_END_UNITID_BASE=0x20 +CONFIG_HT_CHAIN_UNITID_BASE=0x0 +CONFIG_ONBOARD_VGA_IS_PRIMARY=y +# CONFIG_VGA_BIOS is not set +CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" +CONFIG_DCACHE_RAM_BASE=0xc2000 +CONFIG_DCACHE_RAM_SIZE=0x1e000 +CONFIG_MMCONF_BASE_ADDRESS=0xc0000000 +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="ASUS" +# CONFIG_BOARD_ASUS_A8N_E is not set +# CONFIG_BOARD_ASUS_A8N_SLI is not set +# CONFIG_BOARD_ASUS_A8V_E_DELUXE is not set +# CONFIG_BOARD_ASUS_A8V_E_SE is not set +# CONFIG_BOARD_ASUS_DSBF is not set +# CONFIG_BOARD_ASUS_F2A85_M is not set +# CONFIG_BOARD_ASUS_F2A85_M_LE is not set +# CONFIG_BOARD_ASUS_K8V_X is not set +CONFIG_BOARD_ASUS_KCMA_D8=y +# CONFIG_BOARD_ASUS_KFSN4_DRE is not set +# CONFIG_BOARD_ASUS_KFSN4_DRE_K8 is not set +# CONFIG_BOARD_ASUS_KGPE_D16 is not set +# CONFIG_BOARD_ASUS_M2N_E is not set +# CONFIG_BOARD_ASUS_M2V_MX_SE is not set +# CONFIG_BOARD_ASUS_M2V is not set +# CONFIG_BOARD_ASUS_M4A78_EM is not set +# CONFIG_BOARD_ASUS_M4A785M is not set +# CONFIG_BOARD_ASUS_M4A785TM is not set +# CONFIG_BOARD_ASUS_M5A88_V is not set +# CONFIG_BOARD_ASUS_MEW_AM is not set +# CONFIG_BOARD_ASUS_MEW_VM is not set +# CONFIG_BOARD_ASUS_P2B_D is not set +# CONFIG_BOARD_ASUS_P2B_DS is not set +# CONFIG_BOARD_ASUS_P2B_F is not set +# CONFIG_BOARD_ASUS_P2B_LS is not set +# CONFIG_BOARD_ASUS_P2B is not set +# CONFIG_BOARD_ASUS_P3B_F is not set +# CONFIG_POST_IO is not set +CONFIG_AGP_APERTURE_SIZE=0x4000000 +CONFIG_BOOTBLOCK_MAINBOARD_INIT="mainboard/asus/kcma-d8/bootblock.c" +CONFIG_SOUTHBRIDGE_AMD_SB700_SATA_PORT_COUNT_BITFIELD=0x3f +CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL=y +CONFIG_MAX_REBOOT_CNT=10 +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_RAMTOP=0x400000 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x200000 +# CONFIG_POST_DEVICE is not set +CONFIG_BOOT_MEDIA_SPI_BUS=0 +CONFIG_CONSOLE_POST=y +CONFIG_DRIVERS_UART_8250IO=y +CONFIG_UDELAY_LAPIC_FIXED_FSB=200 +CONFIG_CPU_ADDR_BITS=48 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +CONFIG_MAINBOARD_VERSION="1.0" +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +CONFIG_COREBOOT_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +CONFIG_COREBOOT_ROMSIZE_KB=2048 +CONFIG_ROM_SIZE=0x200000 +CONFIG_FMDFILE="" +# CONFIG_SYSTEM_TYPE_LAPTOP is not set +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_DCACHE_BSP_STACK_SIZE=0x4000 +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/amd/amdfam10/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/amd/sb700/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_HEAP_SIZE=0xc0000 +CONFIG_CONSOLE_CBMEM=y +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_DCACHE_BSP_STACK_SLUSH=0x4000 +CONFIG_DCACHE_AP_STACK_SIZE=0x500 +CONFIG_CPU_SOCKET_TYPE=0x14 +# CONFIG_EXT_RT_TBL_SUPPORT is not set +CONFIG_CBB=0x0 +CONFIG_CDB=0x18 +CONFIG_XIP_ROM_SIZE=0x80000 +CONFIG_CPU_AMD_SOCKET_C32_NON_AGESA=y +CONFIG_DIMM_SUPPORT=0x0005 +CONFIG_LIFT_BSP_APIC_ID=y +CONFIG_SET_FIDVID=y +CONFIG_SET_FIDVID_DEBUG=y +# CONFIG_SET_FIDVID_CORE0_ONLY is not set +CONFIG_SET_FIDVID_STORE_AP_APICID_AT_FIRST=y +CONFIG_CPU_AMD_MODEL_10XXX=y +CONFIG_USE_LARGE_DCACHE=y +CONFIG_NUM_IPI_STARTS=1 +CONFIG_SET_FIDVID_CORE_RANGE=0 +# CONFIG_CPU_AMD_AGESA is not set +CONFIG_S3_DATA_POS=0x0 +CONFIG_S3_DATA_SIZE=32768 +# CONFIG_CPU_AMD_PI is not set +# CONFIG_EXT_CONF_SUPPORT is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +CONFIG_PARALLEL_CPU_INIT=y +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +CONFIG_UDELAY_LAPIC=y +# CONFIG_LAPIC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +CONFIG_TSC_SYNC_LFENCE=y +# CONFIG_TSC_SYNC_MFENCE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +CONFIG_X86_AMD_FIXED_MTRRS=y +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_BACKUP_DEFAULT_SMM_REGION is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +CONFIG_MMCONF_BUS_NUMBER=256 +CONFIG_NORTHBRIDGE_AMD_AMDFAM10=y +CONFIG_SB_HT_CHAIN_UNITID_OFFSET_ONLY=y +# CONFIG_HT_CHAIN_DISTRIBUTE is not set +# CONFIG_DIMM_FBDIMM is not set +# CONFIG_DIMM_DDR2 is not set +CONFIG_DIMM_DDR3=y +CONFIG_DIMM_REGISTERED=y +CONFIG_DIMM_VOLTAGE_SET_SUPPORT=y +# CONFIG_SVI_HIGH_FREQ is not set + +# +# HyperTransport setup +# +# CONFIG_LIMIT_HT_DOWN_WIDTH_8 is not set +CONFIG_LIMIT_HT_DOWN_WIDTH_16=y +# CONFIG_LIMIT_HT_UP_WIDTH_8 is not set +CONFIG_LIMIT_HT_UP_WIDTH_16=y +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_HPET_MIN_TICKS=0x14 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_AMD_SB700=y +CONFIG_SOUTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_SOUTHBRIDGE_AMD_SUBTYPE_SP5100=y +# CONFIG_SOUTHBRIDGE_AMD_SB700_SKIP_ISA_DMA_INIT is not set +CONFIG_SOUTHBRIDGE_AMD_SB700_DISABLE_ISA_DMA=y +CONFIG_SOUTHBRIDGE_AMD_SR5650=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON is not set +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set + +# +# Super I/O +# +CONFIG_SUPERIO_WINBOND_COMMON_ROMSTAGE=y +CONFIG_SUPERIO_WINBOND_W83667HG_A=y + +# +# Embedded Controllers +# +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +CONFIG_VERSTAGE_ADDR=0x2000000 +# CONFIG_POSTCAR_STAGE is not set + +# +# Devices +# +# CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT is not set +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +# CONFIG_VGA_ROM_RUN is not set +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +CONFIG_SMBUS_HAS_AUX_CHANNELS=y +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT=y +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +CONFIG_PCIEXP_COMMON_CLOCK=y +CONFIG_PCIEXP_ASPM=y +CONFIG_PCIEXP_CLK_PM=y +# CONFIG_EARLY_PCI_BRIDGE is not set +CONFIG_PCIEXP_L1_SUB_STATE=y +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_ELOG is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +CONFIG_SPI_FLASH=y +CONFIG_SPI_ATOMIC_SEQUENCING=y +CONFIG_SPI_FLASH_MEMORY_MAPPED=y +# CONFIG_SPI_FLASH_NO_FAST_READ is not set +CONFIG_SPI_FLASH_ADESTO=y +CONFIG_SPI_FLASH_AMIC=y +CONFIG_SPI_FLASH_ATMEL=y +CONFIG_SPI_FLASH_EON=y +CONFIG_SPI_FLASH_GIGADEVICE=y +CONFIG_SPI_FLASH_MACRONIX=y +CONFIG_SPI_FLASH_SPANSION=y +CONFIG_SPI_FLASH_SST=y +CONFIG_SPI_FLASH_STMICRO=y +CONFIG_SPI_FLASH_WINBOND=y +# CONFIG_SPI_FLASH_FAST_READ_DUAL_OUTPUT_3B is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +CONFIG_DRIVERS_ASPEED_AST2050=y +CONFIG_DEVICE_SPECIFIC_OPTIONS=y +CONFIG_DRIVERS_ASPEED_AST_COMMON=y +# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_I2C_W83795=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +# CONFIG_INTEL_EDID is not set +# CONFIG_INTEL_INT15 is not set +# CONFIG_INTEL_GMA_ACPI is not set +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK=y +CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK=y +CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK=y +CONFIG_HAVE_MONOTONIC_TIMER=y +# CONFIG_GENERIC_UDELAY is not set +# CONFIG_TIMER_QUEUE is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +# CONFIG_HAVE_SMI_HANDLER is not set +CONFIG_PCI_IO_CFG_EXT=y +CONFIG_IOAPIC=y +# CONFIG_USE_WATCHDOG_ON_BOOT is not set +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +CONFIG_HAVE_PIRQ_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +CONFIG_GENERATE_PIRQ_TABLE=y +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="KCMA-D8" + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +CONFIG_HAVE_DEBUG_CAR=y +# CONFIG_DEBUG_CAR is not set +# CONFIG_DEBUG_PIRQ is not set +CONFIG_HAVE_DEBUG_SMBUS=y +# CONFIG_DEBUG_SMBUS is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_DEBUG_SPI_FLASH is not set +# CONFIG_TRACE is not set +CONFIG_ENABLE_APIC_EXT_ID=y +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_DEBUG_BOOT_STATE is not set diff --git a/projects/coreboot/configs/seabios/kcma-d8/revision b/projects/coreboot/configs/seabios/kcma-d8/revision new file mode 100644 index 00000000..a4c248f2 --- /dev/null +++ b/projects/coreboot/configs/seabios/kcma-d8/revision @@ -0,0 +1 @@ +eee0e229764e965996479d7eb07e6086176b8bf0 diff --git a/projects/coreboot/configs/seabios/kfsn4-dre/arch b/projects/coreboot/configs/seabios/kfsn4-dre/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/kfsn4-dre/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/kfsn4-dre/config b/projects/coreboot/configs/seabios/kfsn4-dre/config new file mode 100644 index 00000000..f554fbfb --- /dev/null +++ b/projects/coreboot/configs/seabios/kfsn4-dre/config @@ -0,0 +1,610 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +CONFIG_FLASHMAP_OFFSET=0 +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set +# CONFIG_ACPI_SATA_GENERATOR is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +CONFIG_VENDOR_ASUS=y +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +# CONFIG_VENDOR_LENOVO is not set +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="asus/kfsn4-dre" +CONFIG_MAINBOARD_PART_NUMBER="KFSN4-DRE" +CONFIG_IRQ_SLOT_COUNT=13 +CONFIG_MAINBOARD_VENDOR="ASUS" +CONFIG_APIC_ID_OFFSET=0 +CONFIG_HW_MEM_HOLE_SIZEK=0x100000 +CONFIG_MAX_CPUS=12 +CONFIG_MAX_PHYSICAL_CPUS=2 +# CONFIG_HW_MEM_HOLE_SIZE_AUTO_INC is not set +CONFIG_HT_CHAIN_END_UNITID_BASE=0x20 +CONFIG_HT_CHAIN_UNITID_BASE=0x0 +CONFIG_ONBOARD_VGA_IS_PRIMARY=y +# CONFIG_VGA_BIOS is not set +CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" +CONFIG_DCACHE_RAM_BASE=0xc4000 +CONFIG_DCACHE_RAM_SIZE=0x0c000 +CONFIG_MMCONF_BASE_ADDRESS=0xc0000000 +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="ASUS" +# CONFIG_BOARD_ASUS_A8N_E is not set +# CONFIG_BOARD_ASUS_A8N_SLI is not set +# CONFIG_BOARD_ASUS_A8V_E_DELUXE is not set +# CONFIG_BOARD_ASUS_A8V_E_SE is not set +# CONFIG_BOARD_ASUS_DSBF is not set +# CONFIG_BOARD_ASUS_F2A85_M is not set +# CONFIG_BOARD_ASUS_F2A85_M_LE is not set +# CONFIG_BOARD_ASUS_K8V_X is not set +# CONFIG_BOARD_ASUS_KCMA_D8 is not set +CONFIG_BOARD_ASUS_KFSN4_DRE=y +# CONFIG_BOARD_ASUS_KFSN4_DRE_K8 is not set +# CONFIG_BOARD_ASUS_KGPE_D16 is not set +# CONFIG_BOARD_ASUS_M2N_E is not set +# CONFIG_BOARD_ASUS_M2V_MX_SE is not set +# CONFIG_BOARD_ASUS_M2V is not set +# CONFIG_BOARD_ASUS_M4A78_EM is not set +# CONFIG_BOARD_ASUS_M4A785M is not set +# CONFIG_BOARD_ASUS_M4A785TM is not set +# CONFIG_BOARD_ASUS_M5A88_V is not set +# CONFIG_BOARD_ASUS_MEW_AM is not set +# CONFIG_BOARD_ASUS_MEW_VM is not set +# CONFIG_BOARD_ASUS_P2B_D is not set +# CONFIG_BOARD_ASUS_P2B_DS is not set +# CONFIG_BOARD_ASUS_P2B_F is not set +# CONFIG_BOARD_ASUS_P2B_LS is not set +# CONFIG_BOARD_ASUS_P2B is not set +# CONFIG_BOARD_ASUS_P3B_F is not set +CONFIG_POST_IO=y +CONFIG_AGP_APERTURE_SIZE=0x4000000 +CONFIG_BOOTBLOCK_MAINBOARD_INIT="mainboard/asus/kfsn4-dre/bootblock.c" +CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL=y +CONFIG_MAX_REBOOT_CNT=10 +CONFIG_CK804_PCI_E_X=1 +CONFIG_CK804_PCIE_PME_WAKE=y +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_UART_FOR_CONSOLE=0 +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_RAMTOP=0x400000 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x100000 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=0 +CONFIG_TTYS0_LCS=3 +CONFIG_UDELAY_LAPIC_FIXED_FSB=200 +CONFIG_CPU_ADDR_BITS=48 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +CONFIG_USBDEBUG=y +CONFIG_MAINBOARD_VERSION="1.0" +CONFIG_DRIVERS_PS2_KEYBOARD=y +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_NO_POST is not set +CONFIG_CK804_NUM=1 +CONFIG_BOARD_ROMSIZE_KB_1024=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +CONFIG_COREBOOT_ROMSIZE_KB_1024=y +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +CONFIG_COREBOOT_ROMSIZE_KB=1024 +CONFIG_ROM_SIZE=0x100000 +CONFIG_FMDFILE="" +# CONFIG_SYSTEM_TYPE_LAPTOP is not set +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_DCACHE_BSP_STACK_SIZE=0x4000 +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/amd/amdfam10/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/nvidia/ck804/bootblock.c" +CONFIG_TTYS0_BASE=0x3f8 +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_HEAP_SIZE=0xc0000 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_DCACHE_BSP_STACK_SLUSH=0x1000 +CONFIG_DCACHE_AP_STACK_SIZE=0x500 +CONFIG_CPU_SOCKET_TYPE=0x10 +# CONFIG_EXT_RT_TBL_SUPPORT is not set +CONFIG_CBB=0x0 +CONFIG_CDB=0x18 +CONFIG_XIP_ROM_SIZE=0x80000 +CONFIG_CPU_AMD_SOCKET_F_1207=y +CONFIG_DIMM_SUPPORT=0x0104 +CONFIG_LIFT_BSP_APIC_ID=y +CONFIG_SET_FIDVID=y +CONFIG_SET_FIDVID_DEBUG=y +# CONFIG_SET_FIDVID_CORE0_ONLY is not set +CONFIG_SET_FIDVID_STORE_AP_APICID_AT_FIRST=y +CONFIG_CPU_AMD_MODEL_10XXX=y +# CONFIG_USE_LARGE_DCACHE is not set +CONFIG_NUM_IPI_STARTS=1 +CONFIG_SET_FIDVID_CORE_RANGE=0 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +CONFIG_PARALLEL_CPU_INIT=y +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +CONFIG_UDELAY_LAPIC=y +# CONFIG_LAPIC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +CONFIG_TSC_SYNC_LFENCE=y +# CONFIG_TSC_SYNC_MFENCE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +CONFIG_X86_AMD_FIXED_MTRRS=y +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_BACKUP_DEFAULT_SMM_REGION is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +CONFIG_MMCONF_BUS_NUMBER=256 +CONFIG_NORTHBRIDGE_AMD_AMDFAM10=y +# CONFIG_SB_HT_CHAIN_UNITID_OFFSET_ONLY is not set +# CONFIG_HT_CHAIN_DISTRIBUTE is not set +# CONFIG_DIMM_FBDIMM is not set +CONFIG_DIMM_DDR2=y +# CONFIG_DIMM_DDR3 is not set +CONFIG_DIMM_REGISTERED=y +# CONFIG_DIMM_VOLTAGE_SET_SUPPORT is not set +# CONFIG_SVI_HIGH_FREQ is not set + +# +# HyperTransport setup +# +# CONFIG_LIMIT_HT_DOWN_WIDTH_8 is not set +CONFIG_LIMIT_HT_DOWN_WIDTH_16=y +# CONFIG_LIMIT_HT_UP_WIDTH_8 is not set +CONFIG_LIMIT_HT_UP_WIDTH_16=y +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_HPET_MIN_TICKS=0xfa +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +# CONFIG_SOUTHBRIDGE_INTEL_COMMON is not set +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_NVIDIA_CK804=y +# CONFIG_CK804_USE_NIC is not set +# CONFIG_CK804_USE_ACI is not set +CONFIG_CK804B_PCI_E_X=4 + +# +# Super I/O +# +CONFIG_SUPERIO_WINBOND_COMMON_ROMSTAGE=y +CONFIG_SUPERIO_WINBOND_W83627THG=y + +# +# Embedded Controllers +# +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_COMPILE_IN_DSDT is not set +CONFIG_VERSTAGE_ADDR=0x2000000 + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +# CONFIG_NATIVE_VGA_INIT_USE_EDID is not set +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT=y +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +CONFIG_PCIEXP_COMMON_CLOCK=y +CONFIG_PCIEXP_ASPM=y +CONFIG_PCIEXP_CLK_PM=y +# CONFIG_EARLY_PCI_BRIDGE is not set +CONFIG_PCIEXP_L1_SUB_STATE=y +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_PXE_ROM is not set +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +CONFIG_DEVICE_SPECIFIC_OPTIONS=y +# CONFIG_GIC is not set +# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_I2C_W83793=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +# CONFIG_INTEL_EDID is not set +# CONFIG_INTEL_INT15 is not set +# CONFIG_INTEL_GMA_ACPI is not set +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +CONFIG_DRIVERS_UART=y +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +CONFIG_HAVE_USBDEBUG=y +# CONFIG_HAVE_USBDEBUG_OPTIONS is not set +CONFIG_USBDEBUG_IN_ROMSTAGE=y +CONFIG_USBDEBUG_DEFAULT_PORT=0 +CONFIG_USBDEBUG_DONGLE_STD=y +# CONFIG_USBDEBUG_DONGLE_BEAGLEBONE is not set +# CONFIG_USBDEBUG_DONGLE_BEAGLEBONE_BLACK is not set +# CONFIG_USBDEBUG_DONGLE_FTDI_FT232H is not set +CONFIG_USBDEBUG_OPTIONAL_HUB_PORT=0 +CONFIG_DRIVERS_XGI_Z79_COMMON=y +CONFIG_DRIVERS_XGI_Z9S=y +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +CONFIG_RTC=y +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +CONFIG_CONSOLE_SERIAL=y + +# +# I/O mapped, 8250-compatible +# + +# +# Serial port base address = 0x3f8 +# +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +CONFIG_CONSOLE_SERIAL_115200=y +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +CONFIG_TTYS0_BAUD=115200 +# CONFIG_SPKMODEM is not set +CONFIG_CONSOLE_USB=y +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM=y +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +# CONFIG_CONSOLE_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +# CONFIG_HAVE_ACPI_RESUME is not set +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +CONFIG_HAVE_MONOTONIC_TIMER=y +# CONFIG_GENERIC_UDELAY is not set +# CONFIG_TIMER_QUEUE is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +# CONFIG_HAVE_SMI_HANDLER is not set +CONFIG_PCI_IO_CFG_EXT=y +CONFIG_IOAPIC=y +# CONFIG_USE_WATCHDOG_ON_BOOT is not set +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +CONFIG_HAVE_PIRQ_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +CONFIG_GENERATE_PIRQ_TABLE=y +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="KFSN4-DRE" + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_GDB_STUB is not set +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +CONFIG_HAVE_DEBUG_CAR=y +# CONFIG_DEBUG_CAR is not set +# CONFIG_DEBUG_PIRQ is not set +CONFIG_HAVE_DEBUG_SMBUS=y +# CONFIG_DEBUG_SMBUS is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_DEBUG_USBDEBUG is not set +# CONFIG_TRACE is not set +CONFIG_ENABLE_APIC_EXT_ID=y +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_DEBUG_BOOT_STATE is not set diff --git a/projects/coreboot/configs/seabios/kfsn4-dre/revision b/projects/coreboot/configs/seabios/kfsn4-dre/revision new file mode 100644 index 00000000..fabe7537 --- /dev/null +++ b/projects/coreboot/configs/seabios/kfsn4-dre/revision @@ -0,0 +1 @@ +15fca66bf08db45937ce88b950491963654805b9 diff --git a/projects/coreboot/configs/seabios/kgpe-d16/arch b/projects/coreboot/configs/seabios/kgpe-d16/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/kgpe-d16/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/kgpe-d16/config b/projects/coreboot/configs/seabios/kgpe-d16/config new file mode 100644 index 00000000..db0ab7f1 --- /dev/null +++ b/projects/coreboot/configs/seabios/kgpe-d16/config @@ -0,0 +1,602 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +CONFIG_FLASHMAP_OFFSET=0 +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set +# CONFIG_ACPI_SATA_GENERATOR is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +CONFIG_VENDOR_ASUS=y +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +# CONFIG_VENDOR_LENOVO is not set +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="asus/kgpe-d16" +CONFIG_MAINBOARD_PART_NUMBER="KGPE-D16" +CONFIG_IRQ_SLOT_COUNT=13 +CONFIG_MAINBOARD_VENDOR="ASUS" +CONFIG_APIC_ID_OFFSET=0 +CONFIG_HW_MEM_HOLE_SIZEK=0x100000 +CONFIG_MAX_CPUS=32 +CONFIG_MAX_PHYSICAL_CPUS=4 +# CONFIG_HW_MEM_HOLE_SIZE_AUTO_INC is not set +CONFIG_HT_CHAIN_END_UNITID_BASE=0x20 +CONFIG_HT_CHAIN_UNITID_BASE=0x0 +CONFIG_ONBOARD_VGA_IS_PRIMARY=y +# CONFIG_VGA_BIOS is not set +CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" +CONFIG_DCACHE_RAM_BASE=0xc2000 +CONFIG_DCACHE_RAM_SIZE=0x1e000 +CONFIG_MMCONF_BASE_ADDRESS=0xc0000000 +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="ASUS" +# CONFIG_BOARD_ASUS_A8N_E is not set +# CONFIG_BOARD_ASUS_A8N_SLI is not set +# CONFIG_BOARD_ASUS_A8V_E_DELUXE is not set +# CONFIG_BOARD_ASUS_A8V_E_SE is not set +# CONFIG_BOARD_ASUS_DSBF is not set +# CONFIG_BOARD_ASUS_F2A85_M is not set +# CONFIG_BOARD_ASUS_F2A85_M_LE is not set +# CONFIG_BOARD_ASUS_K8V_X is not set +# CONFIG_BOARD_ASUS_KCMA_D8 is not set +# CONFIG_BOARD_ASUS_KFSN4_DRE is not set +# CONFIG_BOARD_ASUS_KFSN4_DRE_K8 is not set +CONFIG_BOARD_ASUS_KGPE_D16=y +# CONFIG_BOARD_ASUS_M2N_E is not set +# CONFIG_BOARD_ASUS_M2V_MX_SE is not set +# CONFIG_BOARD_ASUS_M2V is not set +# CONFIG_BOARD_ASUS_M4A78_EM is not set +# CONFIG_BOARD_ASUS_M4A785M is not set +# CONFIG_BOARD_ASUS_M4A785TM is not set +# CONFIG_BOARD_ASUS_M5A88_V is not set +# CONFIG_BOARD_ASUS_MEW_AM is not set +# CONFIG_BOARD_ASUS_MEW_VM is not set +# CONFIG_BOARD_ASUS_P2B_D is not set +# CONFIG_BOARD_ASUS_P2B_DS is not set +# CONFIG_BOARD_ASUS_P2B_F is not set +# CONFIG_BOARD_ASUS_P2B_LS is not set +# CONFIG_BOARD_ASUS_P2B is not set +# CONFIG_BOARD_ASUS_P3B_F is not set +# CONFIG_POST_IO is not set +CONFIG_AGP_APERTURE_SIZE=0x4000000 +CONFIG_BOOTBLOCK_MAINBOARD_INIT="mainboard/asus/kgpe-d16/bootblock.c" +CONFIG_SOUTHBRIDGE_AMD_SB700_SATA_PORT_COUNT_BITFIELD=0x3f +CONFIG_MAINBOARD_POWER_ON_AFTER_POWER_FAIL=y +CONFIG_MAX_REBOOT_CNT=10 +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_RAMTOP=0x400000 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x200000 +# CONFIG_POST_DEVICE is not set +CONFIG_BOOT_MEDIA_SPI_BUS=0 +CONFIG_CONSOLE_POST=y +CONFIG_DRIVERS_UART_8250IO=y +CONFIG_UDELAY_LAPIC_FIXED_FSB=200 +CONFIG_CPU_ADDR_BITS=48 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +CONFIG_MAINBOARD_VERSION="1.0" +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +CONFIG_COREBOOT_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +CONFIG_COREBOOT_ROMSIZE_KB=2048 +CONFIG_ROM_SIZE=0x200000 +CONFIG_FMDFILE="" +# CONFIG_SYSTEM_TYPE_LAPTOP is not set +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_DCACHE_BSP_STACK_SIZE=0x4000 +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/amd/amdfam10/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/amd/sb700/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_HEAP_SIZE=0xc0000 +CONFIG_CONSOLE_CBMEM=y +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_DCACHE_BSP_STACK_SLUSH=0x4000 +CONFIG_DCACHE_AP_STACK_SIZE=0x500 +CONFIG_CPU_SOCKET_TYPE=0x15 +# CONFIG_EXT_RT_TBL_SUPPORT is not set +CONFIG_CBB=0x0 +CONFIG_CDB=0x18 +CONFIG_XIP_ROM_SIZE=0x80000 +CONFIG_CPU_AMD_SOCKET_G34_NON_AGESA=y +CONFIG_DIMM_SUPPORT=0x0005 +CONFIG_LIFT_BSP_APIC_ID=y +CONFIG_SET_FIDVID=y +CONFIG_SET_FIDVID_DEBUG=y +# CONFIG_SET_FIDVID_CORE0_ONLY is not set +CONFIG_SET_FIDVID_STORE_AP_APICID_AT_FIRST=y +CONFIG_CPU_AMD_MODEL_10XXX=y +CONFIG_USE_LARGE_DCACHE=y +CONFIG_NUM_IPI_STARTS=1 +CONFIG_SET_FIDVID_CORE_RANGE=0 +# CONFIG_CPU_AMD_AGESA is not set +CONFIG_S3_DATA_POS=0x0 +CONFIG_S3_DATA_SIZE=32768 +# CONFIG_CPU_AMD_PI is not set +CONFIG_EXT_CONF_SUPPORT=y +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +CONFIG_PARALLEL_CPU_INIT=y +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +CONFIG_UDELAY_LAPIC=y +# CONFIG_LAPIC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +CONFIG_TSC_SYNC_LFENCE=y +# CONFIG_TSC_SYNC_MFENCE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +CONFIG_X86_AMD_FIXED_MTRRS=y +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_BACKUP_DEFAULT_SMM_REGION is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +CONFIG_MMCONF_BUS_NUMBER=256 +CONFIG_NORTHBRIDGE_AMD_AMDFAM10=y +CONFIG_SB_HT_CHAIN_UNITID_OFFSET_ONLY=y +# CONFIG_HT_CHAIN_DISTRIBUTE is not set +# CONFIG_DIMM_FBDIMM is not set +# CONFIG_DIMM_DDR2 is not set +CONFIG_DIMM_DDR3=y +CONFIG_DIMM_REGISTERED=y +CONFIG_DIMM_VOLTAGE_SET_SUPPORT=y +# CONFIG_SVI_HIGH_FREQ is not set + +# +# HyperTransport setup +# +# CONFIG_LIMIT_HT_DOWN_WIDTH_8 is not set +CONFIG_LIMIT_HT_DOWN_WIDTH_16=y +# CONFIG_LIMIT_HT_UP_WIDTH_8 is not set +CONFIG_LIMIT_HT_UP_WIDTH_16=y +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_HPET_MIN_TICKS=0x14 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_AMD_SB700=y +CONFIG_SOUTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_SOUTHBRIDGE_AMD_SUBTYPE_SP5100=y +# CONFIG_SOUTHBRIDGE_AMD_SB700_SKIP_ISA_DMA_INIT is not set +CONFIG_SOUTHBRIDGE_AMD_SB700_DISABLE_ISA_DMA=y +CONFIG_SOUTHBRIDGE_AMD_SR5650=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON is not set +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set + +# +# Super I/O +# +CONFIG_SUPERIO_WINBOND_COMMON_ROMSTAGE=y +CONFIG_SUPERIO_WINBOND_W83667HG_A=y + +# +# Embedded Controllers +# +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +CONFIG_VERSTAGE_ADDR=0x2000000 +# CONFIG_POSTCAR_STAGE is not set + +# +# Devices +# +# CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT is not set +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +# CONFIG_VGA_ROM_RUN is not set +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +CONFIG_SMBUS_HAS_AUX_CHANNELS=y +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT=y +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +CONFIG_PCIEXP_COMMON_CLOCK=y +CONFIG_PCIEXP_ASPM=y +CONFIG_PCIEXP_CLK_PM=y +# CONFIG_EARLY_PCI_BRIDGE is not set +CONFIG_PCIEXP_L1_SUB_STATE=y +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_ELOG is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +CONFIG_SPI_FLASH=y +CONFIG_SPI_ATOMIC_SEQUENCING=y +CONFIG_SPI_FLASH_MEMORY_MAPPED=y +# CONFIG_SPI_FLASH_NO_FAST_READ is not set +CONFIG_SPI_FLASH_ADESTO=y +CONFIG_SPI_FLASH_AMIC=y +CONFIG_SPI_FLASH_ATMEL=y +CONFIG_SPI_FLASH_EON=y +CONFIG_SPI_FLASH_GIGADEVICE=y +CONFIG_SPI_FLASH_MACRONIX=y +CONFIG_SPI_FLASH_SPANSION=y +CONFIG_SPI_FLASH_SST=y +CONFIG_SPI_FLASH_STMICRO=y +CONFIG_SPI_FLASH_WINBOND=y +# CONFIG_SPI_FLASH_FAST_READ_DUAL_OUTPUT_3B is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +CONFIG_DRIVERS_ASPEED_AST2050=y +CONFIG_DEVICE_SPECIFIC_OPTIONS=y +CONFIG_DRIVERS_ASPEED_AST_COMMON=y +# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_I2C_W83795=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +# CONFIG_INTEL_EDID is not set +# CONFIG_INTEL_INT15 is not set +# CONFIG_INTEL_GMA_ACPI is not set +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK=y +CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK=y +CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK=y +CONFIG_HAVE_MONOTONIC_TIMER=y +# CONFIG_GENERIC_UDELAY is not set +# CONFIG_TIMER_QUEUE is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +# CONFIG_HAVE_SMI_HANDLER is not set +CONFIG_PCI_IO_CFG_EXT=y +CONFIG_IOAPIC=y +# CONFIG_USE_WATCHDOG_ON_BOOT is not set +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +CONFIG_HAVE_PIRQ_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +CONFIG_GENERATE_PIRQ_TABLE=y +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="KGPE-D16" + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +CONFIG_HAVE_DEBUG_CAR=y +# CONFIG_DEBUG_CAR is not set +# CONFIG_DEBUG_PIRQ is not set +CONFIG_HAVE_DEBUG_SMBUS=y +# CONFIG_DEBUG_SMBUS is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_DEBUG_SPI_FLASH is not set +# CONFIG_TRACE is not set +CONFIG_ENABLE_APIC_EXT_ID=y +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_DEBUG_BOOT_STATE is not set diff --git a/projects/coreboot/configs/seabios/kgpe-d16/revision b/projects/coreboot/configs/seabios/kgpe-d16/revision new file mode 100644 index 00000000..a4c248f2 --- /dev/null +++ b/projects/coreboot/configs/seabios/kgpe-d16/revision @@ -0,0 +1 @@ +eee0e229764e965996479d7eb07e6086176b8bf0 diff --git a/projects/coreboot/configs/seabios/macbook21/arch b/projects/coreboot/configs/seabios/macbook21/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/macbook21/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/macbook21/config b/projects/coreboot/configs/seabios/macbook21/config new file mode 100644 index 00000000..cdf23a4d --- /dev/null +++ b/projects/coreboot/configs/seabios/macbook21/config @@ -0,0 +1,524 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION=" MB21.88Z.00A5.B07.0706270922" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +# CONFIG_COMPRESS_PRERAM_STAGES is not set +CONFIG_INCLUDE_CONFIG_FILE=y +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +CONFIG_FLASHMAP_OFFSET=0x0 +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set +# CONFIG_ACPI_SATA_GENERATOR is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +CONFIG_VENDOR_APPLE=y +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +# CONFIG_VENDOR_LENOVO is not set +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="apple/macbook21" +CONFIG_MAINBOARD_PART_NUMBER="MacBook2,1" +CONFIG_MAINBOARD_VENDOR="Apple" +CONFIG_MAX_CPUS=2 +CONFIG_VGA_BIOS_ID="8086,27a2" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +# CONFIG_UDELAY_IO is not set +CONFIG_MAINBOARD_SERIAL_NUMBER="W8724XXXXXX" +CONFIG_DCACHE_RAM_BASE=0xffdf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +# CONFIG_BOARD_APPLE_MACBOOK11 is not set +CONFIG_BOARD_APPLE_MACBOOK21=y +# CONFIG_BOARD_APPLE_MACBOOKAIR4_2 is not set +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Apple Inc." +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_RAMTOP=0x200000 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x200000 +CONFIG_POST_DEVICE=y +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +CONFIG_MAINBOARD_VERSION="1.0" +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_NO_POST is not set +CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0 +CONFIG_BOARD_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +CONFIG_COREBOOT_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +CONFIG_COREBOOT_ROMSIZE_KB=2048 +CONFIG_ROM_SIZE=0x200000 +CONFIG_FMDFILE="" +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/i945/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801gx/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_HEAP_SIZE=0x4000 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_SOCKET_SPECIFIC_OPTIONS=y +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_6EX=y +CONFIG_CPU_INTEL_MODEL_6FX=y +CONFIG_CPU_INTEL_SOCKET_MFCPGA478=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +CONFIG_UDELAY_LAPIC=y +CONFIG_LAPIC_MONOTONIC_TIMER=y +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_CALIBRATE_WITH_IO is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_BACKUP_DEFAULT_SMM_REGION is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_I945=y +# CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GC is not set +CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GM=y +CONFIG_CHANNEL_XOR_RANDOMIZATION=y +# CONFIG_OVERRIDE_CLOCK_DISABLE is not set +# CONFIG_CHECK_SLFRCS_ON_RESUME is not set +# CONFIG_VRAM_SIZE_1MB is not set +# CONFIG_VRAM_SIZE_4MB is not set +# CONFIG_VRAM_SIZE_8MB is not set +# CONFIG_VRAM_SIZE_16MB is not set +# CONFIG_VRAM_SIZE_32MB is not set +# CONFIG_VRAM_SIZE_48MB is not set +CONFIG_VRAM_SIZE_64MB=y +CONFIG_VRAM_SIZE=0x70 +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_HPET_MIN_TICKS=0x80 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y + +# +# Super I/O +# + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +CONFIG_AP_IN_SIPI_WAIT=y +# CONFIG_SIPI_VECTOR_IN_ROM is not set +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_COMPILE_IN_DSDT is not set +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_PXE_ROM is not set +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVERS_UART is not set +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +CONFIG_HAVE_USBDEBUG=y +# CONFIG_HAVE_USBDEBUG_OPTIONS is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +CONFIG_RTC=y +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM=y +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +# CONFIG_CONSOLE_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +CONFIG_HAVE_MONOTONIC_TIMER=y +# CONFIG_GENERIC_UDELAY is not set +# CONFIG_TIMER_QUEUE is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +CONFIG_COMMON_FADT=y +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="MacBook2,1" + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_DEBUG_BOOT_STATE is not set diff --git a/projects/coreboot/configs/seabios/macbook21/revision b/projects/coreboot/configs/seabios/macbook21/revision new file mode 100644 index 00000000..1ab8299e --- /dev/null +++ b/projects/coreboot/configs/seabios/macbook21/revision @@ -0,0 +1 @@ +2a3434757ef425dbdfedf1fc69e1a033a6e7310d diff --git a/projects/coreboot/configs/seabios/qemu_i440fx_piix4/arch b/projects/coreboot/configs/seabios/qemu_i440fx_piix4/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/qemu_i440fx_piix4/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/qemu_i440fx_piix4/config b/projects/coreboot/configs/seabios/qemu_i440fx_piix4/config new file mode 100644 index 00000000..4ce855b1 --- /dev/null +++ b/projects/coreboot/configs/seabios/qemu_i440fx_piix4/config @@ -0,0 +1,498 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +# CONFIG_COMPRESS_PRERAM_STAGES is not set +CONFIG_INCLUDE_CONFIG_FILE=y +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +CONFIG_FLASHMAP_OFFSET=0x0 +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set +# CONFIG_ACPI_SATA_GENERATOR is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +CONFIG_VENDOR_EMULATION=y +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +# CONFIG_VENDOR_LENOVO is not set +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="emulation/qemu-i440fx" +CONFIG_MAINBOARD_PART_NUMBER="QEMU x86 i440fx/piix4" +CONFIG_IRQ_SLOT_COUNT=6 +CONFIG_MAINBOARD_VENDOR="Emulation" +CONFIG_MAX_CPUS=1 +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_UDELAY_IO=y +CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" +CONFIG_DCACHE_RAM_BASE=0xd0000 +CONFIG_DCACHE_RAM_SIZE=0x10000 +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Emulation" +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set +CONFIG_BOARD_EMULATION_QEMU_X86_I440FX=y +# CONFIG_BOARD_EMULATION_QEMU_POWER8 is not set +# CONFIG_BOARD_EMULATION_QEMU_X86_Q35 is not set +# CONFIG_BOARD_EMULATION_QEMU_UCB_RISCV is not set +# CONFIG_BOARD_EMULATION_SPIKE_UCB_RISCV is not set +CONFIG_BOARD_EMULATION_QEMU_X86=y +CONFIG_RAMTOP=0x200000 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x800000 +CONFIG_POST_DEVICE=y +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +CONFIG_MAINBOARD_VERSION="1.0" +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_256=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +CONFIG_COREBOOT_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +CONFIG_COREBOOT_ROMSIZE_KB=8192 +CONFIG_ROM_SIZE=0x800000 +CONFIG_FMDFILE="" +# CONFIG_SYSTEM_TYPE_LAPTOP is not set +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82371eb/bootblock.c" +CONFIG_HEAP_SIZE=0x4000 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +# CONFIG_SSE2 is not set +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +CONFIG_CPU_QEMU_X86=y +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_UDELAY_LAPIC is not set +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_CALIBRATE_WITH_IO is not set +# CONFIG_TSC_SYNC_LFENCE is not set +# CONFIG_TSC_SYNC_MFENCE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_BACKUP_DEFAULT_SMM_REGION is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +# CONFIG_SUPPORT_CPU_UCODE_IN_CBFS is not set +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +# CONFIG_SOUTHBRIDGE_INTEL_COMMON is not set +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82371EB=y + +# +# Super I/O +# + +# +# Embedded Controllers +# +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_HAVE_CMOS_DEFAULT is not set +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_COMPILE_IN_DSDT is not set +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_PXE_ROM is not set +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +CONFIG_FRAMEBUFFER_KEEP_VESA_MODE=y + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +CONFIG_DRIVERS_EMULATION_QEMU_BOCHS=y +CONFIG_DRIVERS_EMULATION_QEMU_BOCHS_XRES=800 +CONFIG_DRIVERS_EMULATION_QEMU_BOCHS_YRES=600 +# CONFIG_GIC is not set +# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +# CONFIG_INTEL_EDID is not set +# CONFIG_INTEL_INT15 is not set +# CONFIG_INTEL_GMA_ACPI is not set +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVERS_UART is not set +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_HAVE_USBDEBUG is not set +# CONFIG_HAVE_USBDEBUG_OPTIONS is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +CONFIG_RTC=y +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +# CONFIG_MMCONF_SUPPORT_DEFAULT is not set +# CONFIG_MMCONF_SUPPORT is not set +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM=y +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_CONSOLE_QEMU_DEBUGCON=y +CONFIG_CONSOLE_QEMU_DEBUGCON_PORT=0x402 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +# CONFIG_CONSOLE_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +# CONFIG_HAVE_ACPI_RESUME is not set +# CONFIG_HAVE_HARD_RESET is not set +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +# CONFIG_HAVE_SMI_HANDLER is not set +# CONFIG_PCI_IO_CFG_EXT is not set +# CONFIG_IOAPIC is not set +# CONFIG_USE_WATCHDOG_ON_BOOT is not set +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_PIRQ_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +# CONFIG_GENERATE_MP_TABLE is not set +CONFIG_GENERATE_PIRQ_TABLE=y +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="QEMU x86 i440fx/piix4" + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +# CONFIG_HAVE_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_DEBUG_PIRQ is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_DEBUG_BOOT_STATE is not set diff --git a/projects/coreboot/configs/seabios/qemu_i440fx_piix4/revision b/projects/coreboot/configs/seabios/qemu_i440fx_piix4/revision new file mode 100644 index 00000000..1ab8299e --- /dev/null +++ b/projects/coreboot/configs/seabios/qemu_i440fx_piix4/revision @@ -0,0 +1 @@ +2a3434757ef425dbdfedf1fc69e1a033a6e7310d diff --git a/projects/coreboot/configs/seabios/qemu_q35_ich9/arch b/projects/coreboot/configs/seabios/qemu_q35_ich9/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/qemu_q35_ich9/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/qemu_q35_ich9/config b/projects/coreboot/configs/seabios/qemu_q35_ich9/config new file mode 100644 index 00000000..eaa60108 --- /dev/null +++ b/projects/coreboot/configs/seabios/qemu_q35_ich9/config @@ -0,0 +1,500 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +# CONFIG_COMPRESS_PRERAM_STAGES is not set +CONFIG_INCLUDE_CONFIG_FILE=y +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +CONFIG_FLASHMAP_OFFSET=0x0 +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set +# CONFIG_ACPI_SATA_GENERATOR is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +CONFIG_VENDOR_EMULATION=y +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +# CONFIG_VENDOR_LENOVO is not set +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="emulation/qemu-q35" +CONFIG_MAINBOARD_PART_NUMBER="QEMU x86 q35/ich9" +CONFIG_MAINBOARD_VENDOR="Emulation" +CONFIG_MAX_CPUS=1 +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_UDELAY_IO=y +CONFIG_MAINBOARD_SERIAL_NUMBER="123456789" +CONFIG_DCACHE_RAM_BASE=0xd0000 +CONFIG_DCACHE_RAM_SIZE=0x10000 +CONFIG_MMCONF_BASE_ADDRESS=0xb0000000 +CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Emulation" +CONFIG_POST_IO=y +CONFIG_BOOTBLOCK_MAINBOARD_INIT="mainboard/emulation/qemu-q35/bootblock.c" +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +# CONFIG_BOARD_EMULATION_QEMU_ARMV7 is not set +# CONFIG_BOARD_EMULATION_QEMU_X86_I440FX is not set +# CONFIG_BOARD_EMULATION_QEMU_POWER8 is not set +CONFIG_BOARD_EMULATION_QEMU_X86_Q35=y +# CONFIG_BOARD_EMULATION_QEMU_UCB_RISCV is not set +# CONFIG_BOARD_EMULATION_SPIKE_UCB_RISCV is not set +CONFIG_BOARD_EMULATION_QEMU_X86=y +CONFIG_RAMTOP=0x200000 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x800000 +CONFIG_POST_DEVICE=y +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +CONFIG_MAINBOARD_VERSION="1.0" +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_256=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +CONFIG_COREBOOT_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +CONFIG_COREBOOT_ROMSIZE_KB=8192 +CONFIG_ROM_SIZE=0x800000 +CONFIG_FMDFILE="" +# CONFIG_SYSTEM_TYPE_LAPTOP is not set +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_HEAP_SIZE=0x4000 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +# CONFIG_SSE2 is not set +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +CONFIG_CPU_QEMU_X86=y +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_UDELAY_LAPIC is not set +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_CALIBRATE_WITH_IO is not set +# CONFIG_TSC_SYNC_LFENCE is not set +# CONFIG_TSC_SYNC_MFENCE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +# CONFIG_SMM_LAPIC_REMAP_MITIGATION is not set +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_BACKUP_DEFAULT_SMM_REGION is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +# CONFIG_SUPPORT_CPU_UCODE_IN_CBFS is not set +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_HPET_MIN_TICKS=0x80 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# + +# +# Embedded Controllers +# +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_HAVE_CMOS_DEFAULT is not set +CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS=y +# CONFIG_COMPILE_IN_DSDT is not set +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_PXE_ROM is not set +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +CONFIG_FRAMEBUFFER_KEEP_VESA_MODE=y + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +CONFIG_DRIVERS_EMULATION_QEMU_BOCHS=y +CONFIG_DRIVERS_EMULATION_QEMU_BOCHS_XRES=800 +CONFIG_DRIVERS_EMULATION_QEMU_BOCHS_YRES=600 +# CONFIG_GIC is not set +# CONFIG_SMBIOS_PROVIDED_BY_MOBO is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +# CONFIG_INTEL_EDID is not set +# CONFIG_INTEL_INT15 is not set +# CONFIG_INTEL_GMA_ACPI is not set +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVERS_UART is not set +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +CONFIG_RTC=y +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM=y +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_CONSOLE_QEMU_DEBUGCON=y +CONFIG_CONSOLE_QEMU_DEBUGCON_PORT=0x402 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +# CONFIG_CONSOLE_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +# CONFIG_HAVE_ACPI_RESUME is not set +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +# CONFIG_HAVE_OPTION_TABLE is not set +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +# CONFIG_GENERATE_MP_TABLE is not set +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y +CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="QEMU x86 q35/ich9" + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +# CONFIG_HAVE_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_DEBUG_BOOT_STATE is not set diff --git a/projects/coreboot/configs/seabios/qemu_q35_ich9/revision b/projects/coreboot/configs/seabios/qemu_q35_ich9/revision new file mode 100644 index 00000000..1ab8299e --- /dev/null +++ b/projects/coreboot/configs/seabios/qemu_q35_ich9/revision @@ -0,0 +1 @@ +2a3434757ef425dbdfedf1fc69e1a033a6e7310d diff --git a/projects/coreboot/configs/seabios/r400_16mb/arch b/projects/coreboot/configs/seabios/r400_16mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/r400_16mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/r400_16mb/config b/projects/coreboot/configs/seabios/r400_16mb/config new file mode 100644 index 00000000..d0be0b1a --- /dev/null +++ b/projects/coreboot/configs/seabios/r400_16mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad R400" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0xFFD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +CONFIG_BOARD_LENOVO_R400=y +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +CONFIG_COREBOOT_ROMSIZE_KB_16384=y +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=16384 +CONFIG_ROM_SIZE=0x1000000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/r400_16mb/revision b/projects/coreboot/configs/seabios/r400_16mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/r400_16mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/r400_4mb/arch b/projects/coreboot/configs/seabios/r400_4mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/r400_4mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/r400_4mb/config b/projects/coreboot/configs/seabios/r400_4mb/config new file mode 100644 index 00000000..13ea1c67 --- /dev/null +++ b/projects/coreboot/configs/seabios/r400_4mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad R400" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x3FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +CONFIG_BOARD_LENOVO_R400=y +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +CONFIG_COREBOOT_ROMSIZE_KB_4096=y +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=4096 +CONFIG_ROM_SIZE=0x400000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/r400_4mb/revision b/projects/coreboot/configs/seabios/r400_4mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/r400_4mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/r400_8mb/arch b/projects/coreboot/configs/seabios/r400_8mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/r400_8mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/r400_8mb/config b/projects/coreboot/configs/seabios/r400_8mb/config new file mode 100644 index 00000000..56a22708 --- /dev/null +++ b/projects/coreboot/configs/seabios/r400_8mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad R400" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x7FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +CONFIG_BOARD_LENOVO_R400=y +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +CONFIG_COREBOOT_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=8192 +CONFIG_ROM_SIZE=0x800000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/r400_8mb/revision b/projects/coreboot/configs/seabios/r400_8mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/r400_8mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/t400_16mb/arch b/projects/coreboot/configs/seabios/t400_16mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/t400_16mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/t400_16mb/config b/projects/coreboot/configs/seabios/t400_16mb/config new file mode 100644 index 00000000..69af9ed1 --- /dev/null +++ b/projects/coreboot/configs/seabios/t400_16mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad T400" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0xFFD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +CONFIG_BOARD_LENOVO_T400=y +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +CONFIG_COREBOOT_ROMSIZE_KB_16384=y +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=16384 +CONFIG_ROM_SIZE=0x1000000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/t400_16mb/revision b/projects/coreboot/configs/seabios/t400_16mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/t400_16mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/t400_4mb/arch b/projects/coreboot/configs/seabios/t400_4mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/t400_4mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/t400_4mb/config b/projects/coreboot/configs/seabios/t400_4mb/config new file mode 100644 index 00000000..74287e71 --- /dev/null +++ b/projects/coreboot/configs/seabios/t400_4mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad T400" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x3FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +CONFIG_BOARD_LENOVO_T400=y +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +CONFIG_COREBOOT_ROMSIZE_KB_4096=y +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=4096 +CONFIG_ROM_SIZE=0x400000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/t400_4mb/revision b/projects/coreboot/configs/seabios/t400_4mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/t400_4mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/t400_8mb/arch b/projects/coreboot/configs/seabios/t400_8mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/t400_8mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/t400_8mb/config b/projects/coreboot/configs/seabios/t400_8mb/config new file mode 100644 index 00000000..76be1d08 --- /dev/null +++ b/projects/coreboot/configs/seabios/t400_8mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad T400" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x7FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +CONFIG_BOARD_LENOVO_T400=y +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +CONFIG_COREBOOT_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=8192 +CONFIG_ROM_SIZE=0x800000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/t400_8mb/revision b/projects/coreboot/configs/seabios/t400_8mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/t400_8mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/t500_16mb/arch b/projects/coreboot/configs/seabios/t500_16mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/t500_16mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/t500_16mb/config b/projects/coreboot/configs/seabios/t500_16mb/config new file mode 100644 index 00000000..db78f75a --- /dev/null +++ b/projects/coreboot/configs/seabios/t500_16mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad T500" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0xFFD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +CONFIG_BOARD_LENOVO_T500=y +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +CONFIG_COREBOOT_ROMSIZE_KB_16384=y +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=16384 +CONFIG_ROM_SIZE=0x1000000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/t500_16mb/revision b/projects/coreboot/configs/seabios/t500_16mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/t500_16mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/t500_4mb/arch b/projects/coreboot/configs/seabios/t500_4mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/t500_4mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/t500_4mb/config b/projects/coreboot/configs/seabios/t500_4mb/config new file mode 100644 index 00000000..2d9c18c5 --- /dev/null +++ b/projects/coreboot/configs/seabios/t500_4mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad T500" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x3FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +CONFIG_BOARD_LENOVO_T500=y +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +CONFIG_COREBOOT_ROMSIZE_KB_4096=y +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=4096 +CONFIG_ROM_SIZE=0x400000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/t500_4mb/revision b/projects/coreboot/configs/seabios/t500_4mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/t500_4mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/t500_8mb/arch b/projects/coreboot/configs/seabios/t500_8mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/t500_8mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/t500_8mb/config b/projects/coreboot/configs/seabios/t500_8mb/config new file mode 100644 index 00000000..d693bc98 --- /dev/null +++ b/projects/coreboot/configs/seabios/t500_8mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad T500" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x7FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +CONFIG_BOARD_LENOVO_T500=y +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +CONFIG_COREBOOT_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=8192 +CONFIG_ROM_SIZE=0x800000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/t500_8mb/revision b/projects/coreboot/configs/seabios/t500_8mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/t500_8mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/t60/arch b/projects/coreboot/configs/seabios/t60/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/t60/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/t60/config b/projects/coreboot/configs/seabios/t60/config new file mode 100644 index 00000000..67d83d1f --- /dev/null +++ b/projects/coreboot/configs/seabios/t60/config @@ -0,0 +1,540 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="79ETE7WW (2.27 )" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +# CONFIG_COMPRESS_PRERAM_STAGES is not set +CONFIG_INCLUDE_CONFIG_FILE=y +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +CONFIG_FLASHMAP_OFFSET=0x0 +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set +# CONFIG_ACPI_SATA_GENERATOR is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t60" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad T60" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_VGA_BIOS_ID="8086,27a2" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +# CONFIG_UDELAY_IO is not set +CONFIG_DCACHE_RAM_BASE=0xffdf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_RAMTOP=0x200000 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x200000 +CONFIG_POST_DEVICE=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +CONFIG_BOARD_LENOVO_T60=y +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_SEABIOS_PS2_TIMEOUT=3000 +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_NO_POST is not set +CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0 +CONFIG_BOARD_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +CONFIG_COREBOOT_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +CONFIG_COREBOOT_ROMSIZE_KB=2048 +CONFIG_ROM_SIZE=0x200000 +CONFIG_FMDFILE="" +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/i945/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801gx/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_HEAP_SIZE=0x4000 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_SOCKET_SPECIFIC_OPTIONS=y +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_6EX=y +CONFIG_CPU_INTEL_MODEL_6FX=y +CONFIG_CPU_INTEL_SOCKET_MFCPGA478=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +CONFIG_UDELAY_LAPIC=y +CONFIG_LAPIC_MONOTONIC_TIMER=y +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_CALIBRATE_WITH_IO is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_BACKUP_DEFAULT_SMM_REGION is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_I945=y +# CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GC is not set +CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GM=y +CONFIG_CHANNEL_XOR_RANDOMIZATION=y +# CONFIG_OVERRIDE_CLOCK_DISABLE is not set +# CONFIG_CHECK_SLFRCS_ON_RESUME is not set +# CONFIG_VRAM_SIZE_1MB is not set +# CONFIG_VRAM_SIZE_4MB is not set +# CONFIG_VRAM_SIZE_8MB is not set +# CONFIG_VRAM_SIZE_16MB is not set +# CONFIG_VRAM_SIZE_32MB is not set +# CONFIG_VRAM_SIZE_48MB is not set +CONFIG_VRAM_SIZE_64MB=y +CONFIG_VRAM_SIZE=0x70 +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_HPET_MIN_TICKS=0x80 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y +CONFIG_SOUTHBRIDGE_TI_PCI1X2X=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y +CONFIG_SUPERIO_NSC_PC87384=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_H8_DOCK_EARLY_INIT=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +CONFIG_AP_IN_SIPI_WAIT=y +# CONFIG_SIPI_VECTOR_IN_ROM is not set +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_COMPILE_IN_DSDT is not set +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_PXE_ROM is not set +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVERS_UART is not set +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +CONFIG_HAVE_USBDEBUG=y +# CONFIG_HAVE_USBDEBUG_OPTIONS is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +CONFIG_RTC=y +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM=y +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +# CONFIG_CONSOLE_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +CONFIG_HAVE_MONOTONIC_TIMER=y +# CONFIG_GENERIC_UDELAY is not set +# CONFIG_TIMER_QUEUE is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +CONFIG_COMMON_FADT=y +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_DEBUG_BOOT_STATE is not set diff --git a/projects/coreboot/configs/seabios/t60/revision b/projects/coreboot/configs/seabios/t60/revision new file mode 100644 index 00000000..1ab8299e --- /dev/null +++ b/projects/coreboot/configs/seabios/t60/revision @@ -0,0 +1 @@ +2a3434757ef425dbdfedf1fc69e1a033a6e7310d diff --git a/projects/coreboot/configs/seabios/targets b/projects/coreboot/configs/seabios/targets new file mode 100644 index 00000000..3e1041b1 --- /dev/null +++ b/projects/coreboot/configs/seabios/targets @@ -0,0 +1,26 @@ +d510mo +d945gclf +ga-g41m-es2l +kcma-d8 +kfsn4-dre +kgpe-d16 +macbook21 +qemu_i440fx_piix4 +qemu_q35_ich9 +r400_16mb +r400_4mb +r400_8mb +t400_16mb +t400_4mb +t400_8mb +t500_16mb +t500_4mb +t500_8mb +t60 +w500_16mb +w500_4mb +w500_8mb +x200_16mb +x200_4mb +x200_8mb +x60 diff --git a/projects/coreboot/configs/seabios/w500_16mb/arch b/projects/coreboot/configs/seabios/w500_16mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/w500_16mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/w500_16mb/config b/projects/coreboot/configs/seabios/w500_16mb/config new file mode 100644 index 00000000..bbc29cba --- /dev/null +++ b/projects/coreboot/configs/seabios/w500_16mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad W500" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0xFFD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +CONFIG_BOARD_LENOVO_T500=y +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +CONFIG_COREBOOT_ROMSIZE_KB_16384=y +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=16384 +CONFIG_ROM_SIZE=0x1000000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/w500_16mb/revision b/projects/coreboot/configs/seabios/w500_16mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/w500_16mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/w500_4mb/arch b/projects/coreboot/configs/seabios/w500_4mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/w500_4mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/w500_4mb/config b/projects/coreboot/configs/seabios/w500_4mb/config new file mode 100644 index 00000000..d49c420d --- /dev/null +++ b/projects/coreboot/configs/seabios/w500_4mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad W500" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x3FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +CONFIG_BOARD_LENOVO_T500=y +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +CONFIG_COREBOOT_ROMSIZE_KB_4096=y +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=4096 +CONFIG_ROM_SIZE=0x400000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/w500_4mb/revision b/projects/coreboot/configs/seabios/w500_4mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/w500_4mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/w500_8mb/arch b/projects/coreboot/configs/seabios/w500_8mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/w500_8mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/w500_8mb/config b/projects/coreboot/configs/seabios/w500_8mb/config new file mode 100644 index 00000000..a03171ac --- /dev/null +++ b/projects/coreboot/configs/seabios/w500_8mb/config @@ -0,0 +1,550 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/t400" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad W500" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x7FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +CONFIG_BOARD_LENOVO_T500=y +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +CONFIG_COREBOOT_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=8192 +CONFIG_ROM_SIZE=0x800000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +# CONFIG_DRIVERS_LENOVO_WACOM is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/w500_8mb/revision b/projects/coreboot/configs/seabios/w500_8mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/w500_8mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/x200_16mb/arch b/projects/coreboot/configs/seabios/x200_16mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/x200_16mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/x200_16mb/config b/projects/coreboot/configs/seabios/x200_16mb/config new file mode 100644 index 00000000..02cc1c72 --- /dev/null +++ b/projects/coreboot/configs/seabios/x200_16mb/config @@ -0,0 +1,545 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/x200" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad X200" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0xFFD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +# CONFIG_DRIVERS_UART_8250IO is not set +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +CONFIG_BOARD_LENOVO_X200=y +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +CONFIG_COREBOOT_ROMSIZE_KB_16384=y +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=16384 +CONFIG_ROM_SIZE=0x1000000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +CONFIG_DRIVERS_LENOVO_WACOM=y +# CONFIG_DIGITIZER_AUTODETECT is not set +CONFIG_DIGITIZER_PRESENT=y +# CONFIG_DIGITIZER_ABSENT is not set +# CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/x200_16mb/revision b/projects/coreboot/configs/seabios/x200_16mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/x200_16mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/x200_4mb/arch b/projects/coreboot/configs/seabios/x200_4mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/x200_4mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/x200_4mb/config b/projects/coreboot/configs/seabios/x200_4mb/config new file mode 100644 index 00000000..22573e85 --- /dev/null +++ b/projects/coreboot/configs/seabios/x200_4mb/config @@ -0,0 +1,545 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/x200" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad X200" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x3FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +# CONFIG_DRIVERS_UART_8250IO is not set +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +CONFIG_BOARD_LENOVO_X200=y +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +CONFIG_COREBOOT_ROMSIZE_KB_4096=y +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=4096 +CONFIG_ROM_SIZE=0x400000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +CONFIG_DRIVERS_LENOVO_WACOM=y +# CONFIG_DIGITIZER_AUTODETECT is not set +CONFIG_DIGITIZER_PRESENT=y +# CONFIG_DIGITIZER_ABSENT is not set +# CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/x200_4mb/revision b/projects/coreboot/configs/seabios/x200_4mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/x200_4mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/x200_8mb/arch b/projects/coreboot/configs/seabios/x200_8mb/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/x200_8mb/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/x200_8mb/config b/projects/coreboot/configs/seabios/x200_8mb/config new file mode 100644 index 00000000..2ef9b6e0 --- /dev/null +++ b/projects/coreboot/configs/seabios/x200_8mb/config @@ -0,0 +1,545 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +CONFIG_INCLUDE_CONFIG_FILE=y +# CONFIG_NO_XIP_EARLY_STAGES is not set +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +# CONFIG_NO_STAGE_CACHE is not set +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADI is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/x200" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad X200" +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x7FD000 +CONFIG_VGA_BIOS_ID="8086,2a42" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +CONFIG_DCACHE_RAM_BASE=0xffaf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_POST_DEVICE=y +CONFIG_USBDEBUG_HCD_INDEX=2 +# CONFIG_CONSOLE_POST is not set +# CONFIG_DRIVERS_UART_8250IO is not set +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +CONFIG_BOARD_LENOVO_X200=y +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +# CONFIG_BOARD_LENOVO_X60 is not set +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +# CONFIG_NO_POST is not set +CONFIG_BOARD_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +CONFIG_COREBOOT_ROMSIZE_KB_8192=y +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set +CONFIG_COREBOOT_ROMSIZE_KB=8192 +CONFIG_ROM_SIZE=0x800000 +CONFIG_FMDFILE="" +# CONFIG_MAINBOARD_HAS_TPM2 is not set +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/gm45/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801ix/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_RAMTOP=0x200000 +CONFIG_HEAP_SIZE=0x4000 +CONFIG_CONSOLE_CBMEM=y +CONFIG_UART_PCI_ADDR=0x0 +CONFIG_HPET_MIN_TICKS=0x80 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ40XX is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_SOC_ROCKCHIP_RK3399 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_1067X=y +CONFIG_CPU_INTEL_SOCKET_BGA956=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_UDELAY_IO is not set +# CONFIG_UDELAY_LAPIC is not set +CONFIG_UDELAY_TSC=y +# CONFIG_TSC_CONSTANT_RATE is not set +# CONFIG_TSC_MONOTONIC_TIMER is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +# CONFIG_NO_FIXED_XIP_ROM_SIZE is not set +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +# CONFIG_NORTHBRIDGE_INTEL_COMMON_MRC_CACHE is not set +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_GM45=y +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y +CONFIG_SOUTHBRIDGE_INTEL_I82801IX=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_USE_SIEMENS_HWILIB is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +# CONFIG_AP_IN_SIPI_WAIT is not set +# CONFIG_SIPI_VECTOR_IN_ROM is not set +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +# CONFIG_BOOTBLOCK_DEBUG_SPINLOOP is not set +# CONFIG_BOOTBLOCK_SAVE_BIST_AND_TIMESTAMP is not set +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_POSTCAR_STAGE is not set +# CONFIG_VERSTAGE_DEBUG_SPINLOOP is not set +# CONFIG_ROMSTAGE_DEBUG_SPINLOOP is not set + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +# CONFIG_IPMI_KCS is not set +CONFIG_DRIVERS_LENOVO_WACOM=y +# CONFIG_DIGITIZER_AUTODETECT is not set +CONFIG_DIGITIZER_PRESENT=y +# CONFIG_DIGITIZER_ABSENT is not set +# CONFIG_DRIVERS_LENOVO_HYBRID_GRAPHICS is not set +# CONFIG_REALTEK_8168_RESET is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVERS_UART is not set +CONFIG_NO_UART_ON_SUPERIO=y +# CONFIG_UART_OVERRIDE_INPUT_CLOCK_DIVIDER is not set +# CONFIG_UART_OVERRIDE_REFCLK is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +# CONFIG_UART_USE_REFCLK_AS_INPUT_CLOCK is not set +CONFIG_HAVE_USBDEBUG=y +CONFIG_HAVE_USBDEBUG_OPTIONS=y +CONFIG_DRIVERS_GENERIC_IOAPIC=y +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_PCF8523 is not set +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +# CONFIG_DRIVER_PARADE_PS8640 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVER_SIEMENS_NC_FPGA is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +# CONFIG_ACPI_SATA_GENERATOR is not set +# CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES is not set +# CONFIG_RTC is not set +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +# CONFIG_HAVE_MONOTONIC_TIMER is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +# CONFIG_COMMON_FADT is not set +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +# CONFIG_GENERATE_PIRQ_TABLE is not set +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +# CONFIG_PXE is not set +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set + +# +# Secondary Payloads +# +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set +# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set +# CONFIG_TINT_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_DEBUG_BOOT_STATE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_CREATE_BOARD_CHECKLIST is not set +# CONFIG_MAKE_CHECKLIST_PUBLIC is not set diff --git a/projects/coreboot/configs/seabios/x200_8mb/revision b/projects/coreboot/configs/seabios/x200_8mb/revision new file mode 100644 index 00000000..d4e47be8 --- /dev/null +++ b/projects/coreboot/configs/seabios/x200_8mb/revision @@ -0,0 +1 @@ +d83b0e9ac4174cca92ac2c3b83a7e8491a9a1ff4 diff --git a/projects/coreboot/configs/seabios/x60/arch b/projects/coreboot/configs/seabios/x60/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/coreboot/configs/seabios/x60/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/coreboot/configs/seabios/x60/config b/projects/coreboot/configs/seabios/x60/config new file mode 100644 index 00000000..f73cd211 --- /dev/null +++ b/projects/coreboot/configs/seabios/x60/config @@ -0,0 +1,546 @@ +# +# Automatically generated file; DO NOT EDIT. +# coreboot configuration +# + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_CBFS_PREFIX="fallback" +# CONFIG_MULTIPLE_CBFS_INSTANCES is not set +CONFIG_COMPILER_GCC=y +# CONFIG_COMPILER_LLVM_CLANG is not set +# CONFIG_ANY_TOOLCHAIN is not set +# CONFIG_CCACHE is not set +# CONFIG_FMD_GENPARSER is not set +# CONFIG_SCONFIG_GENPARSER is not set +CONFIG_USE_OPTION_TABLE=y +CONFIG_STATIC_OPTION_TABLE=y +# CONFIG_UNCOMPRESSED_RAMSTAGE is not set +CONFIG_COMPRESS_RAMSTAGE=y +# CONFIG_COMPRESS_PRERAM_STAGES is not set +CONFIG_INCLUDE_CONFIG_FILE=y +CONFIG_EARLY_CBMEM_INIT=y +# CONFIG_COLLECT_TIMESTAMPS is not set +# CONFIG_USE_BLOBS is not set +# CONFIG_COVERAGE is not set +# CONFIG_RELOCATABLE_MODULES is not set +# CONFIG_RELOCATABLE_RAMSTAGE is not set +CONFIG_FLASHMAP_OFFSET=0x0 +CONFIG_BOOTBLOCK_SIMPLE=y +# CONFIG_BOOTBLOCK_NORMAL is not set +CONFIG_BOOTBLOCK_CUSTOM=y +CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c" +# CONFIG_C_ENVIRONMENT_BOOTBLOCK is not set +# CONFIG_UPDATE_IMAGE is not set +# CONFIG_GENERIC_GPIO_LIB is not set +# CONFIG_BOARD_ID_AUTO is not set +# CONFIG_BOARD_ID_MANUAL is not set +# CONFIG_RAM_CODE_SUPPORT is not set +# CONFIG_BOOTSPLASH_IMAGE is not set +# CONFIG_ACPI_SATA_GENERATOR is not set + +# +# Mainboard +# +# CONFIG_VENDOR_A_TREND is not set +# CONFIG_VENDOR_AAEON is not set +# CONFIG_VENDOR_ABIT is not set +# CONFIG_VENDOR_ADLINK is not set +# CONFIG_VENDOR_ADVANSUS is not set +# CONFIG_VENDOR_AMD is not set +# CONFIG_VENDOR_AOPEN is not set +# CONFIG_VENDOR_APPLE is not set +# CONFIG_VENDOR_ARTECGROUP is not set +# CONFIG_VENDOR_ASROCK is not set +# CONFIG_VENDOR_ASUS is not set +# CONFIG_VENDOR_AVALUE is not set +# CONFIG_VENDOR_AZZA is not set +# CONFIG_VENDOR_BACHMANN is not set +# CONFIG_VENDOR_BAP is not set +# CONFIG_VENDOR_BCOM is not set +# CONFIG_VENDOR_BIFFEROS is not set +# CONFIG_VENDOR_BIOSTAR is not set +# CONFIG_VENDOR_BROADCOM is not set +# CONFIG_VENDOR_COMPAQ is not set +# CONFIG_VENDOR_CUBIETECH is not set +# CONFIG_VENDOR_DIGITALLOGIC is not set +# CONFIG_VENDOR_DMP is not set +# CONFIG_VENDOR_ECS is not set +# CONFIG_VENDOR_EMULATION is not set +# CONFIG_VENDOR_ESD is not set +# CONFIG_VENDOR_GETAC is not set +# CONFIG_VENDOR_GIGABYTE is not set +# CONFIG_VENDOR_GIZMOSPHERE is not set +# CONFIG_VENDOR_GOOGLE is not set +# CONFIG_VENDOR_HP is not set +# CONFIG_VENDOR_IBASE is not set +# CONFIG_VENDOR_IEI is not set +# CONFIG_VENDOR_INTEL is not set +# CONFIG_VENDOR_IWAVE is not set +# CONFIG_VENDOR_IWILL is not set +# CONFIG_VENDOR_JETWAY is not set +# CONFIG_VENDOR_KONTRON is not set +# CONFIG_VENDOR_LANNER is not set +CONFIG_VENDOR_LENOVO=y +# CONFIG_VENDOR_LINUTOP is not set +# CONFIG_VENDOR_LIPPERT is not set +# CONFIG_VENDOR_MITAC is not set +# CONFIG_VENDOR_MSI is not set +# CONFIG_VENDOR_NEC is not set +# CONFIG_VENDOR_NOKIA is not set +# CONFIG_VENDOR_NVIDIA is not set +# CONFIG_VENDOR_PACKARDBELL is not set +# CONFIG_VENDOR_PCENGINES is not set +# CONFIG_VENDOR_PURISM is not set +# CONFIG_VENDOR_RCA is not set +# CONFIG_VENDOR_RODA is not set +# CONFIG_VENDOR_SAMSUNG is not set +# CONFIG_VENDOR_SIEMENS is not set +# CONFIG_VENDOR_SOYO is not set +# CONFIG_VENDOR_SUNW is not set +# CONFIG_VENDOR_SUPERMICRO is not set +# CONFIG_VENDOR_TECHNEXION is not set +# CONFIG_VENDOR_THOMSON is not set +# CONFIG_VENDOR_TI is not set +# CONFIG_VENDOR_TRAVERSE is not set +# CONFIG_VENDOR_TYAN is not set +# CONFIG_VENDOR_VIA is not set +# CONFIG_VENDOR_WINENT is not set +# CONFIG_VENDOR_WYSE is not set +CONFIG_BOARD_SPECIFIC_OPTIONS=y +CONFIG_MAINBOARD_DIR="lenovo/x60" +CONFIG_MAINBOARD_PART_NUMBER="ThinkPad X60" +CONFIG_IRQ_SLOT_COUNT=18 +CONFIG_MAINBOARD_VENDOR="LENOVO" +CONFIG_MAX_CPUS=2 +CONFIG_VGA_BIOS_ID="8086,27a2" +# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set +# CONFIG_VGA_BIOS is not set +# CONFIG_UDELAY_IO is not set +CONFIG_DCACHE_RAM_BASE=0xffdf8000 +CONFIG_DCACHE_RAM_SIZE=0x8000 +CONFIG_MMCONF_BASE_ADDRESS=0xf0000000 +CONFIG_POST_IO=y +CONFIG_MAX_REBOOT_CNT=3 +CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT=y +CONFIG_ID_SECTION_OFFSET=0x80 +CONFIG_RAMTOP=0x200000 +CONFIG_CACHE_ROM_SIZE_OVERRIDE=0 +CONFIG_CBFS_SIZE=0x200000 +CONFIG_POST_DEVICE=y +# CONFIG_BOARD_LENOVO_G505S is not set +# CONFIG_BOARD_LENOVO_R400 is not set +# CONFIG_BOARD_LENOVO_T400 is not set +# CONFIG_BOARD_LENOVO_T420S is not set +# CONFIG_BOARD_LENOVO_T430S is not set +# CONFIG_BOARD_LENOVO_T500 is not set +# CONFIG_BOARD_LENOVO_T520 is not set +# CONFIG_BOARD_LENOVO_T530 is not set +# CONFIG_BOARD_LENOVO_T60 is not set +# CONFIG_BOARD_LENOVO_X200 is not set +# CONFIG_BOARD_LENOVO_X201 is not set +# CONFIG_BOARD_LENOVO_X220 is not set +# CONFIG_BOARD_LENOVO_X220I is not set +# CONFIG_BOARD_LENOVO_X230 is not set +CONFIG_BOARD_LENOVO_X60=y +CONFIG_SEABIOS_PS2_TIMEOUT=3000 +CONFIG_CPU_ADDR_BITS=36 +CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8 +# CONFIG_USBDEBUG is not set +# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_DRIVERS_UART_8250IO=y +# CONFIG_NO_POST is not set +CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0 +CONFIG_BOARD_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set +CONFIG_COREBOOT_ROMSIZE_KB_2048=y +# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set +# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set +CONFIG_COREBOOT_ROMSIZE_KB=2048 +CONFIG_ROM_SIZE=0x200000 +CONFIG_FMDFILE="" +CONFIG_SYSTEM_TYPE_LAPTOP=y +# CONFIG_CBFS_AUTOGEN_ATTRIBUTES is not set + +# +# Chipset +# + +# +# SoC +# +# CONFIG_SOC_BROADCOM_CYGNUS is not set +CONFIG_C_ENV_BOOTBLOCK_SIZE=0x10000 +CONFIG_BOOTBLOCK_NORTHBRIDGE_INIT="northbridge/intel/i945/bootblock.c" +CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801gx/bootblock.c" +CONFIG_EHCI_BAR=0xfef00000 +CONFIG_HEAP_SIZE=0x4000 +# CONFIG_SOC_MARVELL_ARMADA38X is not set +# CONFIG_SOC_MARVELL_BG4CD is not set +# CONFIG_SOC_MEDIATEK_MT8173 is not set +# CONFIG_SOC_NVIDIA_TEGRA124 is not set +# CONFIG_SOC_NVIDIA_TEGRA132 is not set +# CONFIG_SOC_NVIDIA_TEGRA210 is not set +# CONFIG_SOC_QC_IPQ806X is not set +# CONFIG_SOC_ROCKCHIP_RK3288 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5250 is not set +# CONFIG_CPU_SAMSUNG_EXYNOS5420 is not set +# CONFIG_SOC_UCB_RISCV is not set + +# +# CPU +# +# CONFIG_CPU_ALLWINNER_A10 is not set +CONFIG_SOCKET_SPECIFIC_OPTIONS=y +CONFIG_XIP_ROM_SIZE=0x10000 +CONFIG_NUM_IPI_STARTS=2 +# CONFIG_CPU_AMD_AGESA is not set +# CONFIG_CPU_AMD_PI is not set +# CONFIG_CPU_ARMLTD_CORTEX_A9 is not set +CONFIG_CPU_INTEL_MODEL_6EX=y +CONFIG_CPU_INTEL_MODEL_6FX=y +CONFIG_CPU_INTEL_SOCKET_MFCPGA478=y +CONFIG_SSE2=y +# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set +# CONFIG_CPU_INTEL_TURBO_NOT_PACKAGE_SCOPED is not set +# CONFIG_CPU_TI_AM335X is not set +# CONFIG_PARALLEL_CPU_INIT is not set +CONFIG_UDELAY_LAPIC=y +CONFIG_LAPIC_MONOTONIC_TIMER=y +# CONFIG_UDELAY_TSC is not set +# CONFIG_UDELAY_TIMER2 is not set +# CONFIG_TSC_CALIBRATE_WITH_IO is not set +# CONFIG_TSC_SYNC_LFENCE is not set +CONFIG_TSC_SYNC_MFENCE=y +CONFIG_LOGICAL_CPUS=y +# CONFIG_SMM_TSEG is not set +CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +# CONFIG_SERIALIZED_SMM_INITIALIZATION is not set +# CONFIG_X86_AMD_FIXED_MTRRS is not set +# CONFIG_PLATFORM_USES_FSP1_0 is not set +# CONFIG_PARALLEL_MP is not set +# CONFIG_BACKUP_DEFAULT_SMM_REGION is not set +# CONFIG_MIRROR_PAYLOAD_TO_RAM_BEFORE_LOADING is not set +CONFIG_CACHE_AS_RAM=y +CONFIG_SMP=y +CONFIG_AP_SIPI_VECTOR=0xfffff000 +CONFIG_MMX=y +CONFIG_SSE=y +CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y +# CONFIG_USES_MICROCODE_HEADER_FILES is not set +# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set +# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set +CONFIG_CPU_MICROCODE_CBFS_NONE=y + +# +# Northbridge +# +# CONFIG_NORTHBRIDGE_AMD_AGESA is not set +# CONFIG_AMD_NB_CIMX is not set +# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set +CONFIG_VIDEO_MB=0 +# CONFIG_NORTHBRIDGE_AMD_PI is not set +CONFIG_RAMBASE=0x100000 +CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y +CONFIG_NORTHBRIDGE_INTEL_I945=y +# CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GC is not set +CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GM=y +CONFIG_CHANNEL_XOR_RANDOMIZATION=y +# CONFIG_OVERRIDE_CLOCK_DISABLE is not set +# CONFIG_CHECK_SLFRCS_ON_RESUME is not set +# CONFIG_VRAM_SIZE_1MB is not set +# CONFIG_VRAM_SIZE_4MB is not set +# CONFIG_VRAM_SIZE_8MB is not set +# CONFIG_VRAM_SIZE_16MB is not set +# CONFIG_VRAM_SIZE_32MB is not set +# CONFIG_VRAM_SIZE_48MB is not set +CONFIG_VRAM_SIZE_64MB=y +CONFIG_VRAM_SIZE=0x70 +CONFIG_HPET_ADDRESS=0xfed00000 +CONFIG_HPET_MIN_TICKS=0x80 +CONFIG_MAX_PIRQ_LINKS=4 + +# +# Southbridge +# +# CONFIG_AMD_SB_CIMX is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set +# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set +CONFIG_SOUTHBRIDGE_INTEL_COMMON=y +# CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO is not set +CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y +CONFIG_SOUTHBRIDGE_RICOH_RL5C476=y + +# +# Super I/O +# +CONFIG_SUPERIO_NSC_PC87382=y +CONFIG_SUPERIO_NSC_PC87392=y + +# +# Embedded Controllers +# +CONFIG_EC_ACPI=y +CONFIG_EC_LENOVO_H8=y +CONFIG_H8_DOCK_EARLY_INIT=y +CONFIG_EC_LENOVO_PMH7=y +# CONFIG_MAINBOARD_HAS_CHROMEOS is not set +# CONFIG_UEFI_2_4_BINDING is not set +# CONFIG_ARCH_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARM is not set +# CONFIG_ARCH_VERSTAGE_ARM is not set +# CONFIG_ARCH_ROMSTAGE_ARM is not set +# CONFIG_ARCH_RAMSTAGE_ARM is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV4 is not set +# CONFIG_ARCH_VERSTAGE_ARMV4 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV4 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV4 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7 is not set +# CONFIG_ARCH_VERSTAGE_ARMV7 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV7 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV7 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV7_M is not set +# CONFIG_ARCH_VERSTAGE_ARMV7_M is not set +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARM64 is not set +# CONFIG_ARCH_VERSTAGE_ARM64 is not set +# CONFIG_ARCH_ROMSTAGE_ARM64 is not set +# CONFIG_ARCH_RAMSTAGE_ARM64 is not set +# CONFIG_ARCH_BOOTBLOCK_ARMV8_64 is not set +# CONFIG_ARCH_VERSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_ROMSTAGE_ARMV8_64 is not set +# CONFIG_ARCH_RAMSTAGE_ARMV8_64 is not set +# CONFIG_ARM64_A53_ERRATUM_843419 is not set +# CONFIG_ARCH_MIPS is not set +# CONFIG_ARCH_BOOTBLOCK_MIPS is not set +# CONFIG_ARCH_VERSTAGE_MIPS is not set +# CONFIG_ARCH_ROMSTAGE_MIPS is not set +# CONFIG_ARCH_RAMSTAGE_MIPS is not set +# CONFIG_ARCH_POWER8 is not set +# CONFIG_ARCH_BOOTBLOCK_POWER8 is not set +# CONFIG_ARCH_VERSTAGE_POWER8 is not set +# CONFIG_ARCH_ROMSTAGE_POWER8 is not set +# CONFIG_ARCH_RAMSTAGE_POWER8 is not set +# CONFIG_ARCH_RISCV is not set +# CONFIG_ARCH_BOOTBLOCK_RISCV is not set +# CONFIG_ARCH_VERSTAGE_RISCV is not set +# CONFIG_ARCH_ROMSTAGE_RISCV is not set +# CONFIG_ARCH_RAMSTAGE_RISCV is not set +CONFIG_ARCH_X86=y +CONFIG_ARCH_BOOTBLOCK_X86_32=y +CONFIG_ARCH_VERSTAGE_X86_32=y +CONFIG_ARCH_ROMSTAGE_X86_32=y +CONFIG_ARCH_RAMSTAGE_X86_32=y +# CONFIG_ARCH_BOOTBLOCK_X86_64 is not set +# CONFIG_ARCH_VERSTAGE_X86_64 is not set +# CONFIG_ARCH_ROMSTAGE_X86_64 is not set +# CONFIG_ARCH_RAMSTAGE_X86_64 is not set +# CONFIG_USE_MARCH_586 is not set +CONFIG_AP_IN_SIPI_WAIT=y +# CONFIG_SIPI_VECTOR_IN_ROM is not set +CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y +# CONFIG_ROMCC is not set +# CONFIG_LATE_CBMEM_INIT is not set +CONFIG_PC80_SYSTEM=y +CONFIG_HAVE_CMOS_DEFAULT=y +CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default" +CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y +# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set +# CONFIG_COMPILE_IN_DSDT is not set +CONFIG_ROMSTAGE_ADDR=0x2000000 +CONFIG_VERSTAGE_ADDR=0x2000000 + +# +# Devices +# +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT=y +CONFIG_NATIVE_VGA_INIT_USE_EDID=y +CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG=y +CONFIG_ON_DEVICE_ROM_LOAD=y +# CONFIG_MULTIPLE_VGA_ADAPTERS is not set +# CONFIG_SMBUS_HAS_AUX_CHANNELS is not set +# CONFIG_SPD_CACHE is not set +CONFIG_PCI=y +# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set +CONFIG_PCIX_PLUGIN_SUPPORT=y +CONFIG_PCIEXP_PLUGIN_SUPPORT=y +CONFIG_CARDBUS_PLUGIN_SUPPORT=y +# CONFIG_AZALIA_PLUGIN_SUPPORT is not set +# CONFIG_PCIEXP_COMMON_CLOCK is not set +# CONFIG_PCIEXP_ASPM is not set +# CONFIG_PCIEXP_CLK_PM is not set +# CONFIG_EARLY_PCI_BRIDGE is not set +# CONFIG_PCIEXP_L1_SUB_STATE is not set +CONFIG_SUBSYSTEM_VENDOR_ID=0x0000 +CONFIG_SUBSYSTEM_DEVICE_ID=0x0000 +# CONFIG_PXE_ROM is not set +# CONFIG_SOFTWARE_I2C is not set + +# +# Display +# +# CONFIG_FRAMEBUFFER_KEEP_VESA_MODE is not set + +# +# Generic Drivers +# +# CONFIG_DRIVERS_AS3722_RTC is not set +# CONFIG_GIC is not set +CONFIG_SMBIOS_PROVIDED_BY_MOBO=y +# CONFIG_DRIVERS_I2C_RTD2132 is not set +CONFIG_DRIVERS_ICS_954309=y +# CONFIG_INTEL_DP is not set +# CONFIG_INTEL_DDI is not set +CONFIG_INTEL_EDID=y +CONFIG_INTEL_INT15=y +CONFIG_INTEL_GMA_ACPI=y +# CONFIG_DRIVER_INTEL_I210 is not set +# CONFIG_IPMI_KCS is not set +CONFIG_DRIVERS_LENOVO_WACOM=y +# CONFIG_DIGITIZER_AUTODETECT is not set +CONFIG_DIGITIZER_PRESENT=y +# CONFIG_DIGITIZER_ABSENT is not set +# CONFIG_DRIVER_MAXIM_MAX77686 is not set +# CONFIG_DRIVER_PARADE_PS8625 is not set +CONFIG_DRIVERS_MC146818=y +# CONFIG_MAINBOARD_HAS_LPC_TPM is not set +# CONFIG_DRIVERS_RICOH_RCE822 is not set +# CONFIG_DRIVERS_SIL_3114 is not set +# CONFIG_SPI_FLASH is not set +# CONFIG_HAVE_SPI_CONSOLE_SUPPORT is not set +# CONFIG_DRIVER_TI_TPS65090 is not set +# CONFIG_DRIVERS_TI_TPS65913 is not set +# CONFIG_DRIVERS_TI_TPS65913_RTC is not set +# CONFIG_DRIVERS_UART is not set +# CONFIG_NO_UART_ON_SUPERIO is not set +# CONFIG_DRIVERS_UART_8250MEM is not set +# CONFIG_DRIVERS_UART_8250MEM_32 is not set +# CONFIG_HAVE_UART_SPECIAL is not set +# CONFIG_DRIVERS_UART_OXPCIE is not set +# CONFIG_DRIVERS_UART_PL011 is not set +CONFIG_HAVE_USBDEBUG=y +# CONFIG_HAVE_USBDEBUG_OPTIONS is not set +# CONFIG_DRIVER_XPOWERS_AXP209 is not set +CONFIG_RTC=y +# CONFIG_TPM is not set +CONFIG_STACK_SIZE=0x1000 +CONFIG_MMCONF_SUPPORT_DEFAULT=y +CONFIG_MMCONF_SUPPORT=y +# CONFIG_BOOTMODE_STRAPS is not set + +# +# Console +# +CONFIG_SQUELCH_EARLY_SMP=y +# CONFIG_CONSOLE_SERIAL is not set +# CONFIG_CONSOLE_SERIAL_921600 is not set +# CONFIG_CONSOLE_SERIAL_460800 is not set +# CONFIG_CONSOLE_SERIAL_230400 is not set +# CONFIG_CONSOLE_SERIAL_115200 is not set +# CONFIG_CONSOLE_SERIAL_57600 is not set +# CONFIG_CONSOLE_SERIAL_38400 is not set +# CONFIG_CONSOLE_SERIAL_19200 is not set +# CONFIG_CONSOLE_SERIAL_9600 is not set +# CONFIG_SPKMODEM is not set +# CONFIG_CONSOLE_NE2K is not set +CONFIG_CONSOLE_CBMEM=y +CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +# CONFIG_CONSOLE_CBMEM_DUMP_TO_UART is not set +CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set +# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set +# CONFIG_CMOS_POST is not set +# CONFIG_CONSOLE_POST is not set +CONFIG_POST_DEVICE_NONE=y +# CONFIG_POST_DEVICE_LPC is not set +# CONFIG_POST_DEVICE_PCI_PCIE is not set +CONFIG_POST_IO_PORT=0x80 +# CONFIG_NO_EARLY_BOOTBLOCK_POSTCODES is not set +CONFIG_HAVE_ACPI_RESUME=y +CONFIG_RESUME_PATH_SAME_AS_BOOT=y +CONFIG_HAVE_HARD_RESET=y +# CONFIG_HAVE_ROMSTAGE_CONSOLE_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_NVRAM_CBFS_SPINLOCK is not set +# CONFIG_HAVE_ROMSTAGE_MICROCODE_CBFS_SPINLOCK is not set +CONFIG_HAVE_MONOTONIC_TIMER=y +# CONFIG_GENERIC_UDELAY is not set +# CONFIG_TIMER_QUEUE is not set +CONFIG_HAVE_OPTION_TABLE=y +# CONFIG_PIRQ_ROUTE is not set +CONFIG_HAVE_SMI_HANDLER=y +# CONFIG_PCI_IO_CFG_EXT is not set +CONFIG_IOAPIC=y +CONFIG_USE_WATCHDOG_ON_BOOT=y +CONFIG_VGA=y +# CONFIG_GFXUMA is not set +CONFIG_HAVE_ACPI_TABLES=y +CONFIG_HAVE_MP_TABLE=y +CONFIG_HAVE_PIRQ_TABLE=y +CONFIG_COMMON_FADT=y +# CONFIG_ACPI_NHLT is not set + +# +# System tables +# +CONFIG_GENERATE_MP_TABLE=y +CONFIG_GENERATE_PIRQ_TABLE=y +CONFIG_GENERATE_SMBIOS_TABLES=y + +# +# Payload +# +# CONFIG_PAYLOAD_NONE is not set +CONFIG_PAYLOAD_ELF=y +# CONFIG_PAYLOAD_FILO is not set +# CONFIG_PAYLOAD_GRUB2 is not set +# CONFIG_PAYLOAD_SEABIOS is not set +# CONFIG_PAYLOAD_UBOOT is not set +# CONFIG_PAYLOAD_LINUX is not set +# CONFIG_PAYLOAD_TIANOCORE is not set +CONFIG_PAYLOAD_FILE="$(obj)/../seabios-bios/bios.bin.elf" +CONFIG_PAYLOAD_OPTIONS="" +CONFIG_COMPRESSED_PAYLOAD_LZMA=y +# CONFIG_PAYLOAD_IS_FLAT_BINARY is not set +# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set +# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set + +# +# Debugging +# +# CONFIG_FATAL_ASSERTS is not set +# CONFIG_DEBUG_CBFS is not set +CONFIG_HAVE_DEBUG_RAM_SETUP=y +# CONFIG_DEBUG_RAM_SETUP is not set +# CONFIG_HAVE_DEBUG_CAR is not set +# CONFIG_DEBUG_PIRQ is not set +# CONFIG_HAVE_DEBUG_SMBUS is not set +# CONFIG_DEBUG_SMI is not set +# CONFIG_DEBUG_SMM_RELOCATION is not set +# CONFIG_DEBUG_MALLOC is not set +# CONFIG_DEBUG_ACPI is not set +# CONFIG_TRACE is not set +# CONFIG_ENABLE_APIC_EXT_ID is not set +CONFIG_WARNINGS_ARE_ERRORS=y +CONFIG_IASL_WARNINGS_ARE_ERRORS=y +# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set +# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set +# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set +# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set +# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set +# CONFIG_REG_SCRIPT is not set +# CONFIG_DEBUG_BOOT_STATE is not set diff --git a/projects/coreboot/configs/seabios/x60/revision b/projects/coreboot/configs/seabios/x60/revision new file mode 100644 index 00000000..1ab8299e --- /dev/null +++ b/projects/coreboot/configs/seabios/x60/revision @@ -0,0 +1 @@ +2a3434757ef425dbdfedf1fc69e1a033a6e7310d diff --git a/projects/coreboot/configs/targets b/projects/coreboot/configs/targets index d7e90413..5b8e87b0 100644 --- a/projects/coreboot/configs/targets +++ b/projects/coreboot/configs/targets @@ -1 +1,2 @@ depthcharge +seabios diff --git a/projects/coreboot/coreboot b/projects/coreboot/coreboot index 5a3c3c7f..85c1719d 100755 --- a/projects/coreboot/coreboot +++ b/projects/coreboot/coreboot @@ -64,33 +64,22 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$payload" "$@" - local sources_path=$( project_sources_path "$project" "$repository" "$payload" "$@" ) - local build_path=$( project_build_path "$project" "$payload" "$@" ) - local config_path=$( coreboot_config_path "$payload" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$payload" "$@") + local build_path=$(project_build_path "$project" "$payload" "$@") + local config_path=$(coreboot_config_path "$payload" "$@") - local arch=$( coreboot_arch "$payload" "$@" ) + local arch=$(coreboot_arch "$payload" "$@") - local crossgcc_build_path=$( project_build_path "crossgcc" "$arch" ) + local crossgcc_build_path=$(project_build_path "crossgcc" "$arch") local crossgcc_bin_path="$crossgcc_build_path/bin/" - local vboot_sources_path=$( project_sources_path "vboot" "vboot" "devices" ) - - project_action "build" "crossgcc" "$arch" + local vboot_sources_path=$(project_sources_path "vboot" "vboot" "devices") if git_project_check "$repository" then git_project_checkout "$project" "$repository" "$payload" "$@" fi - project_action "checkout" "vboot" "devices" - - project_action "build" "$payload" "$@" - - if coreboot_ec_check "$payload" "$@" - then - ec=$( coreboot_ec "$payload" "$@" ) - - project_action "build" "$ec" "$@" - fi + project_action_arguments "checkout" "vboot" "devices" rm -f "$sources_path/.xcompile" diff --git a/projects/coreboot/coreboot-helper b/projects/coreboot/coreboot-helper index 8a528fa5..8a528fa5 100644..100755 --- a/projects/coreboot/coreboot-helper +++ b/projects/coreboot/coreboot-helper diff --git a/projects/cros-ec/cros-ec b/projects/cros-ec/cros-ec index a8a5a634..ba03bd56 100755 --- a/projects/cros-ec/cros-ec +++ b/projects/cros-ec/cros-ec @@ -63,8 +63,8 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$@" - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") if git_project_check "$repository" then @@ -73,17 +73,15 @@ build() { mkdir -p "$build_path" - if [ "$target" = "tools" ] + if [[ "$target" = "tools" ]] then make -C "$sources_path" out="$build_path" HOST_CROSS_COMPILE= -j$TASKS "utils" else local arch="arm" - local config=$( cros_ec_config "$@" ) + local config=$(cros_ec_config "$@") - local crossgcc_bin_prefix=$( project_action "prefix" "crossgcc" "$arch" ) - - project_action "build" "crossgcc" "$arch" + local crossgcc_bin_prefix=$(project_action_arguments "prefix" "crossgcc" "$arch") make -C "$sources_path" out="$build_path" CROSS_COMPILE="$crossgcc_bin_prefix" HOST_CROSS_COMPILE= BOARD="$config" -j$TASKS fi @@ -106,7 +104,7 @@ release() { local repository=$project - if [ "$target" = "tools" ] + if [[ "$target" = "tools" ]] then project_release_install_archive "$project" "$TOOLS" "$@" else @@ -121,7 +119,7 @@ release_check() { local repository=$project - if [ "$target" = "tools" ] + if [[ "$target" = "tools" ]] then project_release_install_archive_check "$project" "$TOOLS" "$@" else diff --git a/projects/cros-scripts/install/cros-boot-keys b/projects/cros-scripts/install/cros-boot-keys index 28b25175..53db579f 100755 --- a/projects/cros-scripts/install/cros-boot-keys +++ b/projects/cros-scripts/install/cros-boot-keys @@ -31,16 +31,16 @@ ALGORITHMS="7 7 11 7 7 4 11 11 11" MODES="7 7 11 7 10" usage() { - printf '%s\n' "$executable [action]" >&2 + printf 1>&2 '%s\n' "$executable [action]" - printf '\n%s\n' 'Actions:' >&2 - printf '%s\n' ' generate - Generate a set of keys' >&2 - printf '%s\n' ' verify - Verify keyblocks' >&2 + printf 1>&2 '\n%s\n' 'Actions:' + printf 1>&2 '%s\n' ' generate - Generate a set of keys' + printf 1>&2 '%s\n' ' verify - Verify keyblocks' - printf '\n%s\n' 'Environment variables:' >&2 - printf '%s\n' ' KEYS_VERSION - Version to give the keys' >&2 - printf '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' >&2 - printf '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' >&2 + printf 1>&2 '\n%s\n' 'Environment variables:' + printf 1>&2 '%s\n' ' KEYS_VERSION - Version to give the keys' + printf 1>&2 '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' + printf 1>&2 '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' } keys_override_confirm() { @@ -151,7 +151,7 @@ requirements() { if [ -z "$requirement_path" ] then - printf '%s\n' "Missing requirement: $requirement" >&2 + printf 1>&2 '%s\n' "Missing requirement: $requirement" exit 1 fi done diff --git a/projects/cros-scripts/install/cros-firmware-prepare b/projects/cros-scripts/install/cros-firmware-prepare index 52deadf5..8fceffb4 100755 --- a/projects/cros-scripts/install/cros-firmware-prepare +++ b/projects/cros-scripts/install/cros-firmware-prepare @@ -22,34 +22,34 @@ VBPUBK="vbpubk" GBB_FLAGS="dev_screen_short_delay load_option_roms enable_alternate_os force_dev_switch_on force_dev_boot_usb disable_fw_rollback_check enter_triggers_tonorm force_dev_boot_legacy faft_key_overide disable_ec_software_sync default_dev_boot_lefacy disable_pd_software_sync disable_lid_shutdown dev_boot_fastboot_full_cap enable_serial" usage() { - printf '%s\n' "$executable [action] [firmware image] [gbb action|vpd action] [gbb file|gbb flag|vpd file]" >&2 + printf 1>&2 '%s\n' "$executable [action] [firmware image] [gbb action|vpd action] [gbb file|gbb flag|vpd file]" - printf '\n%s\n' 'Actions:' >&2 - printf '%s\n' ' sign - Sign firmware image' >&2 - printf '%s\n' ' verify - Verify firmware image' >&2 - printf '%s\n' ' gbb - Google Binary Block' >&2 + printf 1>&2 '\n%s\n' 'Actions:' + printf 1>&2 '%s\n' ' sign - Sign firmware image' + printf 1>&2 '%s\n' ' verify - Verify firmware image' + printf 1>&2 '%s\n' ' gbb - Google Binary Block' - printf '\n%s\n' 'GBB actions:' >&2 - printf '%s\n' ' extract - Extract GBB from firmware image to path' >&2 - printf '%s\n' ' replace - Replace GBB from path to firmware image' >&2 - printf '%s\n' ' list - List enabled GBB flags' >&2 - printf '%s\n' ' enable - Enable GBB flag' >&2 - printf '%s\n' ' disable - Disable GBB flag' >&2 + printf 1>&2 '\n%s\n' 'GBB actions:' + printf 1>&2 '%s\n' ' extract - Extract GBB from firmware image to path' + printf 1>&2 '%s\n' ' replace - Replace GBB from path to firmware image' + printf 1>&2 '%s\n' ' list - List enabled GBB flags' + printf 1>&2 '%s\n' ' enable - Enable GBB flag' + printf 1>&2 '%s\n' ' disable - Disable GBB flag' - printf '\n%s\n' 'GBB flags:' >&2 + printf 1>&2 '\n%s\n' 'GBB flags:' for flag in $GBB_FLAGS do - printf '%s\n' " $flag" >&2 + printf 1>&2 '%s\n' " $flag" done - printf '\n%s\n' 'VPD actions:' >&2 - printf '%s\n' ' extract - Extract VPD from firmware image to path' >&2 - printf '%s\n' ' replace - Replace VPD from path to firmware image' >&2 + printf 1>&2 '\n%s\n' 'VPD actions:' + printf 1>&2 '%s\n' ' extract - Extract VPD from firmware image to path' + printf 1>&2 '%s\n' ' replace - Replace VPD from path to firmware image' - printf '\n%s\n' 'Environment variables:' >&2 - printf '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' >&2 - printf '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' >&2 + printf 1>&2 '\n%s\n' 'Environment variables:' + printf 1>&2 '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' + printf 1>&2 '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' } sign() { @@ -134,7 +134,7 @@ gbb() { if [ -z "$flag_value" ] then - printf '%s\n' "Invalid GBB flag: $gbb_flag" >&2 + printf 1>&2 '%s\n' "Invalid GBB flag: $gbb_flag" exit 1 fi @@ -156,7 +156,7 @@ gbb() { if [ -z "$flag_value" ] then - printf '%s\n' "Invalid GBB flag: $gbb_flag" >&2 + printf 1>&2 '%s\n' "Invalid GBB flag: $gbb_flag" exit 1 fi @@ -237,7 +237,7 @@ requirements() { if [ -z "$requirement_path" ] then - printf '%s\n' "Missing requirement: $requirement" >&2 + printf 1>&2 '%s\n' "Missing requirement: $requirement" exit 1 fi done diff --git a/projects/cros-scripts/install/cros-kernel-install b/projects/cros-scripts/install/cros-kernel-install index 7333b3fa..8f6c69e9 100755 --- a/projects/cros-scripts/install/cros-kernel-install +++ b/projects/cros-scripts/install/cros-kernel-install @@ -23,22 +23,22 @@ MODEL="model" NAME="name" usage() { - printf '%s\n' "$executable [action] [storage] [kernel image|kernel modules]" >&2 + printf 1>&2 '%s\n' "$executable [action] [storage] [kernel image|kernel modules]" - printf '\n%s\n' 'Actions:' >&2 - printf '%s\n' ' backup - Backup kernel image' >&2 - printf '%s\n' ' image - Install kernel image' >&2 - printf '%s\n' ' modules - Install kernel modules' >&2 + printf 1>&2 '\n%s\n' 'Actions:' + printf 1>&2 '%s\n' ' backup - Backup kernel image' + printf 1>&2 '%s\n' ' image - Install kernel image' + printf 1>&2 '%s\n' ' modules - Install kernel modules' usage_storage - printf '\n%s\n' 'Environment variables:' >&2 - printf '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' >&2 - printf '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' >&2 + printf 1>&2 '\n%s\n' 'Environment variables:' + printf 1>&2 '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' + printf 1>&2 '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' } usage_storage() { - printf '\n%s\n' 'Storage:' >&2 + printf 1>&2 '\n%s\n' 'Storage:' local nodes=$( ls "$SYS_BLOCK_PATH" ) local node_path @@ -58,7 +58,7 @@ usage_storage() { continue fi - printf '%s\n' " $node_path - $name" >&2 + printf 1>&2 '%s\n' " $node_path - $name" done } @@ -155,7 +155,7 @@ backup() { if [ -z "$storage_kernel_path" ] then - printf '%s\n' "No kernel partition found on storage $storage_path" >&2 + printf 1>&2 '%s\n' "No kernel partition found on storage $storage_path" return 1 fi @@ -172,7 +172,7 @@ image() { if [ -z "$storage_kernel_path" ] then - printf '%s\n' "No kernel partition found on storage $storage_path" >&2 + printf 1>&2 '%s\n' "No kernel partition found on storage $storage_path" return 1 fi @@ -192,7 +192,7 @@ modules() { if [ -z "$storage_rootfs_path" ] then - printf '%s\n' "No rootfs partition found on storage $storage_path" >&2 + printf 1>&2 '%s\n' "No rootfs partition found on storage $storage_path" return 1 fi @@ -221,7 +221,7 @@ requirements() { if [ -z "$requirement_path" ] then - printf '%s\n' "Missing requirement: $requirement" >&2 + printf 1>&2 '%s\n' "Missing requirement: $requirement" exit 1 fi done diff --git a/projects/cros-scripts/install/cros-kernel-prepare b/projects/cros-scripts/install/cros-kernel-prepare index 047bb5c1..8dd5c797 100755 --- a/projects/cros-scripts/install/cros-kernel-prepare +++ b/projects/cros-scripts/install/cros-kernel-prepare @@ -27,21 +27,21 @@ FIT="fit" IMG="img" usage() { - printf '%s\n' "$executable [action] [kernel files|kernel image] [medium]" >&2 + printf 1>&2 '%s\n' "$executable [action] [kernel files|kernel image] [medium]" - printf '\n%s\n' 'Actions:' >&2 - printf '%s\n' ' pack - Pack kernel files to a medium-specific image' >&2 - printf '%s\n' ' sign - Sign kernel image' >&2 - printf '%s\n' ' verify - Very kernel image signatures' >&2 + printf 1>&2 '\n%s\n' 'Actions:' + printf 1>&2 '%s\n' ' pack - Pack kernel files to a medium-specific image' + printf 1>&2 '%s\n' ' sign - Sign kernel image' + printf 1>&2 '%s\n' ' verify - Very kernel image signatures' - printf '\n%s\n' 'Medium:' >&2 - printf '%s\n' ' usb - External USB storage' >&2 - printf '%s\n' ' mmc - External SD card storage' >&2 - printf '%s\n' ' emmc - Internal storage' >&2 + printf 1>&2 '\n%s\n' 'Medium:' + printf 1>&2 '%s\n' ' usb - External USB storage' + printf 1>&2 '%s\n' ' mmc - External SD card storage' + printf 1>&2 '%s\n' ' emmc - Internal storage' - printf '\n%s\n' 'Environment variables:' >&2 - printf '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' >&2 - printf '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' >&2 + printf 1>&2 '\n%s\n' 'Environment variables:' + printf 1>&2 '%s\n' ' VBOOT_KEYS_PATH - Path to the vboot keys' + printf 1>&2 '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' } pack() { @@ -88,7 +88,7 @@ requirements() { if [ -z "$requirement_path" ] then - printf '%s\n' "Missing requirement: $requirement" >&2 + printf 1>&2 '%s\n' "Missing requirement: $requirement" exit 1 fi done diff --git a/projects/cros-scripts/install/cros-medium-setup b/projects/cros-scripts/install/cros-medium-setup index 2b278a9d..6295e0ec 100755 --- a/projects/cros-scripts/install/cros-medium-setup +++ b/projects/cros-scripts/install/cros-medium-setup @@ -32,22 +32,22 @@ GPT_SIZE=34 KERNEL_SIZE=16384 usage() { - printf '%s\n' "$executable [action] [storage] [rootfs tarball|kernel files] [medium]" >&2 + printf 1>&2 '%s\n' "$executable [action] [storage] [rootfs tarball|kernel files] [medium]" - printf '\n%s\n' 'Actions:' >&2 - printf '%s\n' ' partitions - Setup partitions on storage' >&2 - printf '%s\n' ' rootfs - Install rootfs tarball to storage' >&2 - printf '%s\n' ' kernel - Install kernel files to storage' >&2 + printf 1>&2 '\n%s\n' 'Actions:' + printf 1>&2 '%s\n' ' partitions - Setup partitions on storage' + printf 1>&2 '%s\n' ' rootfs - Install rootfs tarball to storage' + printf 1>&2 '%s\n' ' kernel - Install kernel files to storage' usage_storage - printf '\n%s\n' 'Environment variables:' >&2 - printf '%s\n' ' KERNEL_PATH - Path to the kernel image' >&2 - printf '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' >&2 + printf 1>&2 '\n%s\n' 'Environment variables:' + printf 1>&2 '%s\n' ' KERNEL_PATH - Path to the kernel image' + printf 1>&2 '%s\n' ' VBOOT_TOOLS_PATH - Path to vboot tools' } usage_storage() { - printf '\n%s\n' 'Storage:' >&2 + printf 1>&2 '\n%s\n' 'Storage:' local nodes=$( ls "$SYS_BLOCK_PATH" ) local node_path @@ -67,7 +67,7 @@ usage_storage() { continue fi - printf '%s\n' " $node_path - $name" >&2 + printf 1>&2 '%s\n' " $node_path - $name" done } @@ -243,7 +243,7 @@ requirements() { if [ -z "$requirement_path" ] then - printf '%s\n' "Missing requirement: $requirement" >&2 + printf 1>&2 '%s\n' "Missing requirement: $requirement" exit 1 fi done diff --git a/projects/crossgcc/configs/targets b/projects/crossgcc/configs/targets index fb05f39d..8c9fb8ba 100644 --- a/projects/crossgcc/configs/targets +++ b/projects/crossgcc/configs/targets @@ -1 +1,2 @@ arm +i386 diff --git a/projects/crossgcc/crossgcc b/projects/crossgcc/crossgcc index 3ad3b7ae..46b9e3f3 100755 --- a/projects/crossgcc/crossgcc +++ b/projects/crossgcc/crossgcc @@ -46,11 +46,11 @@ extract() { crossgcc_tarballs "$@" | while read tarball do - local tarball_sources_path=$( crossgcc_tarball_sources_path "$tarball" ) - local tarball_install_path=$( crossgcc_tarball_install_path "$tarball" "$@" ) - local tarball_install_directory_path=$( dirname "$tarball_install_path" ) + local tarball_sources_path=$(crossgcc_tarball_sources_path "$tarball") + local tarball_install_path=$(crossgcc_tarball_install_path "$tarball" "$@") + local tarball_install_directory_path=$(dirname "$tarball_install_path") - if [ -f "$tarball_sources_path" ] && ! [ -f "$tarball_install_path" ] + if [[ -f "$tarball_sources_path" ]] && ! [[ -f "$tarball_install_path" ]] then printf '%s\n' "Copying source archive $tarball for $project (with ${arguments:-no argument})" @@ -70,7 +70,7 @@ extract_check() { crossgcc_tarballs "$@" | while read tarball do - local tarball_install_path=$( crossgcc_tarball_install_path "$tarball" "$@" ) + local tarball_install_path=$(crossgcc_tarball_install_path "$tarball" "$@") test ! -f "$tarball_install_path" done @@ -86,11 +86,11 @@ update() { crossgcc_tarballs "$@" | while read tarball do - local tarball_sources_path=$( crossgcc_tarball_sources_path "$tarball" ) - local tarball_install_path=$( crossgcc_tarball_install_path "$tarball" "$@" ) - local tarball_install_directory_path=$( dirname "$tarball_install_path" ) + local tarball_sources_path=$(crossgcc_tarball_sources_path "$tarball") + local tarball_install_path=$(crossgcc_tarball_install_path "$tarball" "$@") + local tarball_install_directory_path=$(dirname "$tarball_install_path") - if [ -f $tarball_sources_path ] + if [[ -f $tarball_sources_path ]] then printf '%s\n' "Copying source archive $tarball for $project (with ${arguments:-no argument})" @@ -110,7 +110,7 @@ update_check() { crossgcc_tarballs "$@" | while read tarball do - local tarball_sources_path=$( crossgcc_tarball_sources_path "$tarball" "$@" ) + local tarball_sources_path=$(crossgcc_tarball_sources_path "$tarball" "$@") test ! -f "$tarball_sources_path" done @@ -119,11 +119,14 @@ update_check() { prefix() { local arch=$1 - local build_path=$( project_build_path "$project" "$@" ) + local build_path=$(project_build_path "$project" "$@") case $arch in "arm") - printf '%s\n' "$build_path/bin/arm-eabi-" + printf '\n%s\n' "$build_path/bin/arm-eabi-" + ;; + "i386") + printf '\n%s\n' "$build_path/bin/i386-elf-" ;; esac } @@ -135,8 +138,8 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$@" - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") if git_project_check "$repository" then @@ -145,7 +148,16 @@ build() { mkdir -p "$build_path" - make -C "$sources_path" CPUS="$TASKS" DEST="$build_path" "crossgcc-$arch" + local bootstrap_flag + + if ! crossgcc_same_major_version_test; then + printf '\n%s' 'GCC major versions differ. Bootstrapping' 1>&2 + printf '%s\n\n' ' to avoid potential build failure' 1>&2 + + bootstrap_flag='-b' + fi + + make -C "$sources_path" "$bootstrap_flag" CPUS="$TASKS" DEST="$build_path" "crossgcc-$arch" } build_check() { @@ -172,13 +184,13 @@ release() { crossgcc_tarballs "$@" | while read tarball do - local tarball_install_path=$( crossgcc_tarball_install_path "$tarball" "$@" ) - local tarball_release_path=$( crossgcc_tarball_release_path "$tarball" "$@" ) - local release_path=$( project_release_path "$project" "$SOURCES" "$@" ) + local tarball_install_path=$(crossgcc_tarball_install_path "$tarball" "$@") + local tarball_release_path=$(crossgcc_tarball_release_path "$tarball" "$@") + local release_path=$(project_release_path "$project" "$SOURCES" "$@") mkdir -p "$release_path" - if [ -f "$tarball_install_path" ] && ! [ -f "$tarball_release_path" ] + if [[ -f "$tarball_install_path" ]] && ! [[ -f "$tarball_release_path" ]] then printf '%s\n' "Releasing source archive $tarball for $project (with ${arguments:-no argument})" @@ -198,7 +210,7 @@ release_check() { crossgcc_tarballs "$@" | while read tarball do - local tarball_release_path=$( crossgcc_tarball_release_path "$tarball" "$@" ) + local tarball_release_path=$(crossgcc_tarball_release_path "$tarball" "$@") test -f "$tarball_release_path" done diff --git a/projects/crossgcc/crossgcc-helper b/projects/crossgcc/crossgcc-helper index 5c4072d2..94e445bf 100755 --- a/projects/crossgcc/crossgcc-helper +++ b/projects/crossgcc/crossgcc-helper @@ -15,10 +15,25 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. +crossgcc_same_major_version_test() { + local buildgcc_path="$sources_path/util/crossgcc/buildgcc" + local sources_path="$(project_sources_path "$project" "$repository" "$@")" + + local crossgcc_version="$(sed -rne 's/^GCC_VERSION=(.*)$/\1/p' "$buildgcc_path")" + local host_gcc_version="$(gcc -dumpversion)" + + if [[ "${host_gcc_version%%.*}" -eq "${crossgcc_version%%.*}" ]]; then + + return 0 + else + return 1 + fi +} + crossgcc_tarballs() { - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") local install_path="$sources_path/util/crossgcc/tarballs/" - local tarballs=$( ls "$sources_path/util/crossgcc/sum" | sed "s/.cksum$//" ) + local tarballs=$(ls "$sources_path/util/crossgcc/sum" | sed "s/.cksum$//") printf '%s\n' "$tarballs" } @@ -35,7 +50,7 @@ crossgcc_tarball_install_path() { local tarball=$1 shift - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") local install_path="$sources_path/util/crossgcc/tarballs/" local tarball_install_path="$install_path/$tarball" @@ -46,7 +61,7 @@ crossgcc_tarball_release_path() { local tarball=$1 shift - local release_path=$( project_release_path "$project" "$SOURCES" "$@" ) + local release_path=$(project_release_path "$project" "$SOURCES" "$@") local tarball_release_path="$release_path/$tarball" printf '%s\n' "$tarball_release_path" diff --git a/projects/dejavu-fonts/configs/install b/projects/dejavu-fonts/configs/install new file mode 100644 index 00000000..121743c4 --- /dev/null +++ b/projects/dejavu-fonts/configs/install @@ -0,0 +1 @@ +DejaVuSansMono.ttf:DejaVuSansMono.ttf diff --git a/projects/dejavu-fonts/configs/revision b/projects/dejavu-fonts/configs/revision new file mode 100644 index 00000000..218592b3 --- /dev/null +++ b/projects/dejavu-fonts/configs/revision @@ -0,0 +1 @@ +version_2_37 diff --git a/projects/dejavu-fonts/dejavu-fonts b/projects/dejavu-fonts/dejavu-fonts new file mode 100755 index 00000000..037aa3d9 --- /dev/null +++ b/projects/dejavu-fonts/dejavu-fonts @@ -0,0 +1,120 @@ +#!/usr/bin/env bash + +# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +arguments() { + project_arguments_targets "$project" "$@" +} + +usage() { + project_usage_actions "$project" + project_usage_arguments "$project" "$@" +} + +download() { + local repository="$project" + + project_download_git "$project" \ + "$repository" \ + 'https://github.com/dejavu-fonts/dejavu-fonts.git' \ + "$@" + + local sources_path="$(project_sources_path "$project" "$repository" "$@")" + + download_wrapper "$sources_path/resources" \ + 'https://www.unicode.org/Public/UNIDATA/UnicodeData.txt' \ + 'https://www.unicode.org/Public/UNIDATA/Blocks.txt' +} + +download_check() { + local repository="$project" + + project_download_check_git "$project" "$repository" "$@" +} + +extract() { + local repository="$project" + + project_extract "$project" "$@" +} + +extract_check() { + local repository="$project" + + project_extract_check "$project" "$@" +} + +update() { + local repository="$project" + + project_update_git "$project" "$repository" "$@" +} + +update_check() { + local repository="$project" + + project_update_check_git "$project" "$repository" "$@" +} + +build() { + local repository="$project" + + project_sources_directory_missing_empty_error "$project" "$repository" "$@" + + if git_project_check "$repository"; then + git_project_checkout "$project" "$repository" "$@" + fi + + local sources_path="$(project_sources_path "$project" "$repository" "$@")" + local build_path="$(project_build_path "$project" "$@")" + + mkdir -p "$build_path" + + # Create a symlink to the orthography files provided by fontconfig + ln -s "$root/$SOURCES/fontconfig/fc-lang" "$sources_path/resources/fc-lang" + + make -C "$sources_path" -j"$TASKS" + cp "$sources_path/build"/[!.]*.ttf "$build_path" + make -C "$sources_path" clean +} + +build_check() { + project_build_check "$project" "$@" +} + +install() { + project_install "$project" "$@" +} + +install_check() { + project_install_check "$project" "$@" +} + +release() { + local repository="$project" + + project_release_sources_git "$project" "$repository" "$@" +} + +release_check() { + local repository="$project" + + project_release_check_sources_git "$project" "$repository" "$@" +} + +clean() { + project_clean "$project" "$@" +} diff --git a/projects/dejavu-fonts/patches/0001-Preserve-unicode-source-files-thru-git-clean-df.patch b/projects/dejavu-fonts/patches/0001-Preserve-unicode-source-files-thru-git-clean-df.patch new file mode 100644 index 00000000..52798b1e --- /dev/null +++ b/projects/dejavu-fonts/patches/0001-Preserve-unicode-source-files-thru-git-clean-df.patch @@ -0,0 +1,24 @@ +From 9ac03500773a1cc69b198ce1c43770a7fc66da98 Mon Sep 17 00:00:00 2001 +From: Andrew Robbins <contact@andrewrobbins.info> +Date: Tue, 5 Sep 2017 23:57:34 -0400 +Subject: [PATCH] Preserve unicode source files thru `git clean -df` + +UnicodeData.txt and Blocks.txt should be preserved after a +`git clean -df` to avoid needless refetching of these resources. +--- + .gitignore | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/.gitignore b/.gitignore +index dedd2b5..841e748 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -2,3 +2,5 @@ build/ + dist/ + tmp/ + /src/*.sfd~ ++resources/Blocks.txt ++resources/UnicodeData.txt +-- +1.9.1 + diff --git a/projects/depthcharge/configs/veyron/targets b/projects/depthcharge/configs/veyron/targets new file mode 100644 index 00000000..1722192f --- /dev/null +++ b/projects/depthcharge/configs/veyron/targets @@ -0,0 +1,2 @@ +minnie +speedy diff --git a/projects/depthcharge/depthcharge b/projects/depthcharge/depthcharge index ca31d4be..966b9689 100755 --- a/projects/depthcharge/depthcharge +++ b/projects/depthcharge/depthcharge @@ -66,20 +66,17 @@ build() { git_project_checkout "$project" "$repository" "$@" fi - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") - local libpayload_build_path=$( project_build_path "libpayload" "$project" "$@" ) + local libpayload_build_path=$(project_build_path "libpayload" "$project" "$@") local libpayload_build_install_path="$libpayload_build_path/install" - local vboot_sources_path=$( project_sources_path "vboot" "vboot" "devices" ) + local vboot_sources_path=$(project_sources_path "vboot" "vboot" "devices") - local arch=$( depthcharge_arch "$@" ) - local device=$( depthcharge_device "$@" ) + local arch=$(depthcharge_arch "$@") + local device=$(depthcharge_device "$@") - project_action "build" "crossgcc" "$arch" - project_action "build" "libpayload" "$project" "$@" - - project_action "checkout" "vboot" "devices" + project_action_arguments "checkout" "vboot" "devices" mkdir -p "$build_path" diff --git a/projects/flashmap/flashmap b/projects/flashmap/flashmap index 4ac6ab70..cc1cb81b 100755 --- a/projects/flashmap/flashmap +++ b/projects/flashmap/flashmap @@ -56,8 +56,8 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$@" - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") if git_project_check "$repository" then diff --git a/projects/flashrom-cros/flashrom-cros b/projects/flashrom-cros/flashrom-cros index 8e793fa7..a1259c2c 100755 --- a/projects/flashrom-cros/flashrom-cros +++ b/projects/flashrom-cros/flashrom-cros @@ -61,8 +61,8 @@ build() { git_project_checkout "$project" "$repository" "$@" fi - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") mkdir -p "$build_path" diff --git a/projects/flashrom/configs/revision b/projects/flashrom/configs/revision index 7e310bae..8031930e 100644 --- a/projects/flashrom/configs/revision +++ b/projects/flashrom/configs/revision @@ -1 +1 @@ -0.9.9 +v0.9.9 diff --git a/projects/flashrom/flashrom b/projects/flashrom/flashrom index 0206e6b7..bc3199f0 100755 --- a/projects/flashrom/flashrom +++ b/projects/flashrom/flashrom @@ -70,8 +70,8 @@ build() { git_project_checkout "$project" "$repository" "$@" fi - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") mkdir -p "$build_path" diff --git a/projects/fontconfig/configs/revision b/projects/fontconfig/configs/revision new file mode 100644 index 00000000..56beced9 --- /dev/null +++ b/projects/fontconfig/configs/revision @@ -0,0 +1 @@ +2.12.4 diff --git a/projects/fontconfig/fontconfig b/projects/fontconfig/fontconfig new file mode 100755 index 00000000..48de22f2 --- /dev/null +++ b/projects/fontconfig/fontconfig @@ -0,0 +1,80 @@ +#!/usr/bin/env bash + +# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +arguments() { + project_arguments_targets "$project" "$@" +} + +usage() { + project_usage_actions "$project" + project_usage_arguments "$project" "$@" +} + +download() { + local repository="$project" + + project_download_git "$project" \ + "$repository" \ + 'https://anongit.freedesktop.org/git/fontconfig' \ + "$@" +} + +download_check() { + local repository="$project" + + project_download_check_git "$project" "$repository" "$@" +} + +extract() { + local repository="$project" + + project_extract "$project" "$@" +} + +extract_check() { + local repository="$project" + + project_extract_check "$project" "$@" +} + +update() { + local repository="$project" + + project_update_git "$project" "$repository" "$@" +} + +update_check() { + local repository="$project" + + project_update_check_git "$project" "$repository" "$@" +} + +release() { + local repository="$project" + + project_release_sources_git "$project" "$repository" "$@" +} + +release_check() { + local repository="$project" + + project_release_check_sources_git "$project" "$repository" "$@" +} + +clean() { + project_clean "$project" "$@" +} diff --git a/projects/grub/configs/bios/arch b/projects/grub/configs/bios/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/grub/configs/bios/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/grub/configs/bios/config b/projects/grub/configs/bios/config new file mode 100644 index 00000000..9e627e2f --- /dev/null +++ b/projects/grub/configs/bios/config @@ -0,0 +1,2 @@ +set root=(cbfsdisk) +source (cbfsdisk)/fallback/grub.cfg diff --git a/projects/grub/configs/bios/format b/projects/grub/configs/bios/format new file mode 100644 index 00000000..58df395e --- /dev/null +++ b/projects/grub/configs/bios/format @@ -0,0 +1 @@ +i386-pc diff --git a/projects/grub/configs/bios/install b/projects/grub/configs/bios/install new file mode 100644 index 00000000..241e2762 --- /dev/null +++ b/projects/grub/configs/bios/install @@ -0,0 +1,202 @@ +i386-pc/acpi.mod:i386-pc/acpi.mod +i386-pc/adler32.mod:i386-pc/adler32.mod +i386-pc/affs.mod:i386-pc/affs.mod +i386-pc/afs.mod:i386-pc/afs.mod +i386-pc/ahci.mod:i386-pc/ahci.mod +i386-pc/all_video.mod:i386-pc/all_video.mod +i386-pc/archelp.mod:i386-pc/archelp.mod +i386-pc/ata.mod:i386-pc/ata.mod +i386-pc/at_keyboard.mod:i386-pc/at_keyboard.mod +i386-pc/backtrace.mod:i386-pc/backtrace.mod +i386-pc/bfs.mod:i386-pc/bfs.mod +i386-pc/biosdisk.mod:i386-pc/biosdisk.mod +i386-pc/bitmap.mod:i386-pc/bitmap.mod +i386-pc/bitmap_scale.mod:i386-pc/bitmap_scale.mod +i386-pc/boot.mod:i386-pc/boot.mod +i386-pc/bsd.mod:i386-pc/bsd.mod +i386-pc/btrfs.mod:i386-pc/btrfs.mod +i386-pc/cat.mod:i386-pc/cat.mod +i386-pc/cbfs.mod:i386-pc/cbfs.mod +i386-pc/cbls.mod:i386-pc/cbls.mod +i386-pc/cbmemc.mod:i386-pc/cbmemc.mod +i386-pc/cbtime.mod:i386-pc/cbtime.mod +i386-pc/chain.mod:i386-pc/chain.mod +i386-pc/cmosdump.mod:i386-pc/cmosdump.mod +i386-pc/cmostest.mod:i386-pc/cmostest.mod +i386-pc/cmp.mod:i386-pc/cmp.mod +i386-pc/configfile.mod:i386-pc/configfile.mod +i386-pc/cpio.mod:i386-pc/cpio.mod +i386-pc/cpio_be.mod:i386-pc/cpio_be.mod +i386-pc/cpuid.mod:i386-pc/cpuid.mod +i386-pc/crc64.mod:i386-pc/crc64.mod +i386-pc/crypto.mod:i386-pc/crypto.mod +i386-pc/cryptodisk.mod:i386-pc/cryptodisk.mod +i386-pc/cs5536.mod:i386-pc/cs5536.mod +i386-pc/date.mod:i386-pc/date.mod +i386-pc/datehook.mod:i386-pc/datehook.mod +i386-pc/datetime.mod:i386-pc/datetime.mod +i386-pc/disk.mod:i386-pc/disk.mod +i386-pc/diskfilter.mod:i386-pc/diskfilter.mod +i386-pc/div_test.mod:i386-pc/div_test.mod +i386-pc/echo.mod:i386-pc/echo.mod +i386-pc/efiemu.mod:i386-pc/efiemu.mod +i386-pc/ehci.mod:i386-pc/ehci.mod +i386-pc/elf.mod:i386-pc/elf.mod +i386-pc/eval.mod:i386-pc/eval.mod +i386-pc/exfat.mod:i386-pc/exfat.mod +i386-pc/ext2.mod:i386-pc/ext2.mod +i386-pc/extcmd.mod:i386-pc/extcmd.mod +i386-pc/fat.mod:i386-pc/fat.mod +i386-pc/file.mod:i386-pc/file.mod +i386-pc/fshelp.mod:i386-pc/fshelp.mod +i386-pc/gcry_arcfour.mod:i386-pc/gcry_arcfour.mod +i386-pc/gcry_blowfish.mod:i386-pc/gcry_blowfish.mod +i386-pc/gcry_camellia.mod:i386-pc/gcry_camellia.mod +i386-pc/gcry_cast5.mod:i386-pc/gcry_cast5.mod +i386-pc/gcry_crc.mod:i386-pc/gcry_crc.mod +i386-pc/gcry_des.mod:i386-pc/gcry_des.mod +i386-pc/gcry_dsa.mod:i386-pc/gcry_dsa.mod +i386-pc/gcry_idea.mod:i386-pc/gcry_idea.mod +i386-pc/gcry_md4.mod:i386-pc/gcry_md4.mod +i386-pc/gcry_md5.mod:i386-pc/gcry_md5.mod +i386-pc/gcry_rfc2268.mod:i386-pc/gcry_rfc2268.mod +i386-pc/gcry_rijndael.mod:i386-pc/gcry_rijndael.mod +i386-pc/gcry_rmd160.mod:i386-pc/gcry_rmd160.mod +i386-pc/gcry_rsa.mod:i386-pc/gcry_rsa.mod +i386-pc/gcry_seed.mod:i386-pc/gcry_seed.mod +i386-pc/gcry_serpent.mod:i386-pc/gcry_serpent.mod +i386-pc/gcry_sha1.mod:i386-pc/gcry_sha1.mod +i386-pc/gcry_sha256.mod:i386-pc/gcry_sha256.mod +i386-pc/gcry_sha512.mod:i386-pc/gcry_sha512.mod +i386-pc/gcry_tiger.mod:i386-pc/gcry_tiger.mod +i386-pc/gcry_twofish.mod:i386-pc/gcry_twofish.mod +i386-pc/gcry_whirlpool.mod:i386-pc/gcry_whirlpool.mod +i386-pc/gettext.mod:i386-pc/gettext.mod +i386-pc/gfxmenu.mod:i386-pc/gfxmenu.mod +i386-pc/gfxterm_background.mod:i386-pc/gfxterm_background.mod +i386-pc/gfxterm_menu.mod:i386-pc/gfxterm_menu.mod +i386-pc/gptsync.mod:i386-pc/gptsync.mod +i386-pc/gzio.mod:i386-pc/gzio.mod +i386-pc/halt.mod:i386-pc/halt.mod +i386-pc/hashsum.mod:i386-pc/hashsum.mod +i386-pc/hdparm.mod:i386-pc/hdparm.mod +i386-pc/help.mod:i386-pc/help.mod +i386-pc/hexdump.mod:i386-pc/hexdump.mod +i386-pc/hfs.mod:i386-pc/hfs.mod +i386-pc/hfsplus.mod:i386-pc/hfsplus.mod +i386-pc/http.mod:i386-pc/http.mod +i386-pc/iorw.mod:i386-pc/iorw.mod +i386-pc/iso9660.mod:i386-pc/iso9660.mod +i386-pc/jfs.mod:i386-pc/jfs.mod +i386-pc/jpeg.mod:i386-pc/jpeg.mod +i386-pc/keystatus.mod:i386-pc/keystatus.mod +i386-pc/linux.mod:i386-pc/linux.mod +i386-pc/linux16.mod:i386-pc/linux16.mod +i386-pc/loadenv.mod:i386-pc/loadenv.mod +i386-pc/loopback.mod:i386-pc/loopback.mod +i386-pc/ls.mod:i386-pc/ls.mod +i386-pc/lsacpi.mod:i386-pc/lsacpi.mod +i386-pc/lsmmap.mod:i386-pc/lsmmap.mod +i386-pc/lspci.mod:i386-pc/lspci.mod +i386-pc/luks.mod:i386-pc/luks.mod +i386-pc/lvm.mod:i386-pc/lvm.mod +i386-pc/lzopio.mod:i386-pc/lzopio.mod +i386-pc/mda_text.mod:i386-pc/mda_text.mod +i386-pc/mdraid09.mod:i386-pc/mdraid09.mod +i386-pc/mdraid09_be.mod:i386-pc/mdraid09_be.mod +i386-pc/mdraid1x.mod:i386-pc/mdraid1x.mod +i386-pc/memdisk.mod:i386-pc/memdisk.mod +i386-pc/memrw.mod:i386-pc/memrw.mod +i386-pc/minicmd.mod:i386-pc/minicmd.mod +i386-pc/minix.mod:i386-pc/minix.mod +i386-pc/minix2.mod:i386-pc/minix2.mod +i386-pc/minix2_be.mod:i386-pc/minix2_be.mod +i386-pc/minix3.mod:i386-pc/minix3.mod +i386-pc/minix3_be.mod:i386-pc/minix3_be.mod +i386-pc/minix_be.mod:i386-pc/minix_be.mod +i386-pc/mmap.mod:i386-pc/mmap.mod +i386-pc/morse.mod:i386-pc/morse.mod +i386-pc/mpi.mod:i386-pc/mpi.mod +i386-pc/msdospart.mod:i386-pc/msdospart.mod +i386-pc/multiboot.mod:i386-pc/multiboot.mod +i386-pc/multiboot2.mod:i386-pc/multiboot2.mod +i386-pc/nativedisk.mod:i386-pc/nativedisk.mod +i386-pc/net.mod:i386-pc/net.mod +i386-pc/newc.mod:i386-pc/newc.mod +i386-pc/nilfs2.mod:i386-pc/nilfs2.mod +i386-pc/normal.mod:i386-pc/normal.mod +i386-pc/ntfs.mod:i386-pc/ntfs.mod +i386-pc/ntfscomp.mod:i386-pc/ntfscomp.mod +i386-pc/odc.mod:i386-pc/odc.mod +i386-pc/offsetio.mod:i386-pc/offsetio.mod +i386-pc/ohci.mod:i386-pc/ohci.mod +i386-pc/part_bsd.mod:i386-pc/part_bsd.mod +i386-pc/part_gpt.mod:i386-pc/part_gpt.mod +i386-pc/part_msdos.mod:i386-pc/part_msdos.mod +i386-pc/parttool.mod:i386-pc/parttool.mod +i386-pc/password.mod:i386-pc/password.mod +i386-pc/password_pbkdf2.mod:i386-pc/password_pbkdf2.mod +i386-pc/pata.mod:i386-pc/pata.mod +i386-pc/pbkdf2.mod:i386-pc/pbkdf2.mod +i386-pc/pci.mod:i386-pc/pci.mod +i386-pc/pcidump.mod:i386-pc/pcidump.mod +i386-pc/play.mod:i386-pc/play.mod +i386-pc/png.mod:i386-pc/png.mod +i386-pc/priority_queue.mod:i386-pc/priority_queue.mod +i386-pc/probe.mod:i386-pc/probe.mod +i386-pc/procfs.mod:i386-pc/procfs.mod +i386-pc/progress.mod:i386-pc/progress.mod +i386-pc/raid5rec.mod:i386-pc/raid5rec.mod +i386-pc/raid6rec.mod:i386-pc/raid6rec.mod +i386-pc/read.mod:i386-pc/read.mod +i386-pc/reboot.mod:i386-pc/reboot.mod +i386-pc/regexp.mod:i386-pc/regexp.mod +i386-pc/reiserfs.mod:i386-pc/reiserfs.mod +i386-pc/relocator.mod:i386-pc/relocator.mod +i386-pc/romfs.mod:i386-pc/romfs.mod +i386-pc/scsi.mod:i386-pc/scsi.mod +i386-pc/search.mod:i386-pc/search.mod +i386-pc/search_fs_file.mod:i386-pc/search_fs_file.mod +i386-pc/search_fs_uuid.mod:i386-pc/search_fs_uuid.mod +i386-pc/search_label.mod:i386-pc/search_label.mod +i386-pc/serial.mod:i386-pc/serial.mod +i386-pc/setjmp.mod:i386-pc/setjmp.mod +i386-pc/setpci.mod:i386-pc/setpci.mod +i386-pc/sfs.mod:i386-pc/sfs.mod +i386-pc/sleep.mod:i386-pc/sleep.mod +i386-pc/spkmodem.mod:i386-pc/spkmodem.mod +i386-pc/squash4.mod:i386-pc/squash4.mod +i386-pc/syslinuxcfg.mod:i386-pc/syslinuxcfg.mod +i386-pc/tar.mod:i386-pc/tar.mod +i386-pc/terminal.mod:i386-pc/terminal.mod +i386-pc/terminfo.mod:i386-pc/terminfo.mod +i386-pc/test.mod:i386-pc/test.mod +i386-pc/testload.mod:i386-pc/testload.mod +i386-pc/testspeed.mod:i386-pc/testspeed.mod +i386-pc/tftp.mod:i386-pc/tftp.mod +i386-pc/tga.mod:i386-pc/tga.mod +i386-pc/time.mod:i386-pc/time.mod +i386-pc/tr.mod:i386-pc/tr.mod +i386-pc/trig.mod:i386-pc/trig.mod +i386-pc/true.mod:i386-pc/true.mod +i386-pc/udf.mod:i386-pc/udf.mod +i386-pc/ufs1.mod:i386-pc/ufs1.mod +i386-pc/ufs1_be.mod:i386-pc/ufs1_be.mod +i386-pc/ufs2.mod:i386-pc/ufs2.mod +i386-pc/uhci.mod:i386-pc/uhci.mod +i386-pc/usb.mod:i386-pc/usb.mod +i386-pc/usb_keyboard.mod:i386-pc/usb_keyboard.mod +i386-pc/usbms.mod:i386-pc/usbms.mod +i386-pc/usbserial_common.mod:i386-pc/usbserial_common.mod +i386-pc/usbserial_ftdi.mod:i386-pc/usbserial_ftdi.mod +i386-pc/usbserial_pl2303.mod:i386-pc/usbserial_pl2303.mod +i386-pc/usbserial_usbdebug.mod:i386-pc/usbserial_usbdebug.mod +i386-pc/usbtest.mod:i386-pc/usbtest.mod +i386-pc/verify.mod:i386-pc/verify.mod +i386-pc/video_colors.mod:i386-pc/video_colors.mod +i386-pc/videoinfo.mod:i386-pc/videoinfo.mod +i386-pc/videotest.mod:i386-pc/videotest.mod +i386-pc/videotest_checksum.mod:i386-pc/videotest_checksum.mod +i386-pc/xfs.mod:i386-pc/xfs.mod +i386-pc/xzio.mod:i386-pc/xzio.mod +i386-pc/zfs.mod:i386-pc/zfs.mod diff --git a/projects/grub/configs/bios/modules-minimal b/projects/grub/configs/bios/modules-minimal new file mode 100644 index 00000000..ea936115 --- /dev/null +++ b/projects/grub/configs/bios/modules-minimal @@ -0,0 +1,8 @@ +biosdisk +cbmemc +ext2 +halt +part_bsd +part_gpt +reboot +verify diff --git a/projects/grub/configs/bios/platform b/projects/grub/configs/bios/platform new file mode 100644 index 00000000..581a7690 --- /dev/null +++ b/projects/grub/configs/bios/platform @@ -0,0 +1 @@ +pc diff --git a/projects/grub/configs/bios/prefix b/projects/grub/configs/bios/prefix new file mode 100644 index 00000000..48604ad8 --- /dev/null +++ b/projects/grub/configs/bios/prefix @@ -0,0 +1 @@ +(cbfsdisk)/fallback diff --git a/projects/grub/configs/bios/size b/projects/grub/configs/bios/size new file mode 100644 index 00000000..a7625603 --- /dev/null +++ b/projects/grub/configs/bios/size @@ -0,0 +1 @@ +160 diff --git a/projects/grub/configs/coreboot/arch b/projects/grub/configs/coreboot/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/grub/configs/coreboot/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/grub/configs/coreboot/config b/projects/grub/configs/coreboot/config new file mode 100644 index 00000000..e3792e94 --- /dev/null +++ b/projects/grub/configs/coreboot/config @@ -0,0 +1,4 @@ +set prefix=(cbfsdisk)/fallback + +set root=(cbfsdisk) +source (cbfsdisk)/fallback/grub.cfg diff --git a/projects/grub/configs/coreboot/format b/projects/grub/configs/coreboot/format new file mode 100644 index 00000000..0a387787 --- /dev/null +++ b/projects/grub/configs/coreboot/format @@ -0,0 +1 @@ +i386-coreboot diff --git a/projects/grub/configs/coreboot/install b/projects/grub/configs/coreboot/install new file mode 100644 index 00000000..a36a56e2 --- /dev/null +++ b/projects/grub/configs/coreboot/install @@ -0,0 +1,201 @@ +i386-coreboot/acpi.mod:i386-coreboot/acpi.mod +i386-coreboot/adler32.mod:i386-coreboot/adler32.mod +i386-coreboot/affs.mod:i386-coreboot/affs.mod +i386-coreboot/afs.mod:i386-coreboot/afs.mod +i386-coreboot/ahci.mod:i386-coreboot/ahci.mod +i386-coreboot/all_video.mod:i386-coreboot/all_video.mod +i386-coreboot/archelp.mod:i386-coreboot/archelp.mod +i386-coreboot/ata.mod:i386-coreboot/ata.mod +i386-coreboot/at_keyboard.mod:i386-coreboot/at_keyboard.mod +i386-coreboot/backtrace.mod:i386-coreboot/backtrace.mod +i386-coreboot/bfs.mod:i386-coreboot/bfs.mod +i386-coreboot/bitmap.mod:i386-coreboot/bitmap.mod +i386-coreboot/bitmap_scale.mod:i386-coreboot/bitmap_scale.mod +i386-coreboot/boot.mod:i386-coreboot/boot.mod +i386-coreboot/bsd.mod:i386-coreboot/bsd.mod +i386-coreboot/btrfs.mod:i386-coreboot/btrfs.mod +i386-coreboot/cat.mod:i386-coreboot/cat.mod +i386-coreboot/cbfs.mod:i386-coreboot/cbfs.mod +i386-coreboot/cbls.mod:i386-coreboot/cbls.mod +i386-coreboot/cbmemc.mod:i386-coreboot/cbmemc.mod +i386-coreboot/cbtime.mod:i386-coreboot/cbtime.mod +i386-coreboot/chain.mod:i386-coreboot/chain.mod +i386-coreboot/cmosdump.mod:i386-coreboot/cmosdump.mod +i386-coreboot/cmostest.mod:i386-coreboot/cmostest.mod +i386-coreboot/cmp.mod:i386-coreboot/cmp.mod +i386-coreboot/configfile.mod:i386-coreboot/configfile.mod +i386-coreboot/cpio.mod:i386-coreboot/cpio.mod +i386-coreboot/cpio_be.mod:i386-coreboot/cpio_be.mod +i386-coreboot/cpuid.mod:i386-coreboot/cpuid.mod +i386-coreboot/crc64.mod:i386-coreboot/crc64.mod +i386-coreboot/crypto.mod:i386-coreboot/crypto.mod +i386-coreboot/cryptodisk.mod:i386-coreboot/cryptodisk.mod +i386-coreboot/cs5536.mod:i386-coreboot/cs5536.mod +i386-coreboot/date.mod:i386-coreboot/date.mod +i386-coreboot/datehook.mod:i386-coreboot/datehook.mod +i386-coreboot/datetime.mod:i386-coreboot/datetime.mod +i386-coreboot/disk.mod:i386-coreboot/disk.mod +i386-coreboot/diskfilter.mod:i386-coreboot/diskfilter.mod +i386-coreboot/div_test.mod:i386-coreboot/div_test.mod +i386-coreboot/echo.mod:i386-coreboot/echo.mod +i386-coreboot/efiemu.mod:i386-coreboot/efiemu.mod +i386-coreboot/ehci.mod:i386-coreboot/ehci.mod +i386-coreboot/elf.mod:i386-coreboot/elf.mod +i386-coreboot/eval.mod:i386-coreboot/eval.mod +i386-coreboot/exfat.mod:i386-coreboot/exfat.mod +i386-coreboot/ext2.mod:i386-coreboot/ext2.mod +i386-coreboot/extcmd.mod:i386-coreboot/extcmd.mod +i386-coreboot/fat.mod:i386-coreboot/fat.mod +i386-coreboot/file.mod:i386-coreboot/file.mod +i386-coreboot/fshelp.mod:i386-coreboot/fshelp.mod +i386-coreboot/gcry_arcfour.mod:i386-coreboot/gcry_arcfour.mod +i386-coreboot/gcry_blowfish.mod:i386-coreboot/gcry_blowfish.mod +i386-coreboot/gcry_camellia.mod:i386-coreboot/gcry_camellia.mod +i386-coreboot/gcry_cast5.mod:i386-coreboot/gcry_cast5.mod +i386-coreboot/gcry_crc.mod:i386-coreboot/gcry_crc.mod +i386-coreboot/gcry_des.mod:i386-coreboot/gcry_des.mod +i386-coreboot/gcry_dsa.mod:i386-coreboot/gcry_dsa.mod +i386-coreboot/gcry_idea.mod:i386-coreboot/gcry_idea.mod +i386-coreboot/gcry_md4.mod:i386-coreboot/gcry_md4.mod +i386-coreboot/gcry_md5.mod:i386-coreboot/gcry_md5.mod +i386-coreboot/gcry_rfc2268.mod:i386-coreboot/gcry_rfc2268.mod +i386-coreboot/gcry_rijndael.mod:i386-coreboot/gcry_rijndael.mod +i386-coreboot/gcry_rmd160.mod:i386-coreboot/gcry_rmd160.mod +i386-coreboot/gcry_rsa.mod:i386-coreboot/gcry_rsa.mod +i386-coreboot/gcry_seed.mod:i386-coreboot/gcry_seed.mod +i386-coreboot/gcry_serpent.mod:i386-coreboot/gcry_serpent.mod +i386-coreboot/gcry_sha1.mod:i386-coreboot/gcry_sha1.mod +i386-coreboot/gcry_sha256.mod:i386-coreboot/gcry_sha256.mod +i386-coreboot/gcry_sha512.mod:i386-coreboot/gcry_sha512.mod +i386-coreboot/gcry_tiger.mod:i386-coreboot/gcry_tiger.mod +i386-coreboot/gcry_twofish.mod:i386-coreboot/gcry_twofish.mod +i386-coreboot/gcry_whirlpool.mod:i386-coreboot/gcry_whirlpool.mod +i386-coreboot/gettext.mod:i386-coreboot/gettext.mod +i386-coreboot/gfxmenu.mod:i386-coreboot/gfxmenu.mod +i386-coreboot/gfxterm_background.mod:i386-coreboot/gfxterm_background.mod +i386-coreboot/gfxterm_menu.mod:i386-coreboot/gfxterm_menu.mod +i386-coreboot/gptsync.mod:i386-coreboot/gptsync.mod +i386-coreboot/gzio.mod:i386-coreboot/gzio.mod +i386-coreboot/halt.mod:i386-coreboot/halt.mod +i386-coreboot/hashsum.mod:i386-coreboot/hashsum.mod +i386-coreboot/hdparm.mod:i386-coreboot/hdparm.mod +i386-coreboot/help.mod:i386-coreboot/help.mod +i386-coreboot/hexdump.mod:i386-coreboot/hexdump.mod +i386-coreboot/hfs.mod:i386-coreboot/hfs.mod +i386-coreboot/hfsplus.mod:i386-coreboot/hfsplus.mod +i386-coreboot/http.mod:i386-coreboot/http.mod +i386-coreboot/iorw.mod:i386-coreboot/iorw.mod +i386-coreboot/iso9660.mod:i386-coreboot/iso9660.mod +i386-coreboot/jfs.mod:i386-coreboot/jfs.mod +i386-coreboot/jpeg.mod:i386-coreboot/jpeg.mod +i386-coreboot/keystatus.mod:i386-coreboot/keystatus.mod +i386-coreboot/linux.mod:i386-coreboot/linux.mod +i386-coreboot/linux16.mod:i386-coreboot/linux16.mod +i386-coreboot/loadenv.mod:i386-coreboot/loadenv.mod +i386-coreboot/loopback.mod:i386-coreboot/loopback.mod +i386-coreboot/ls.mod:i386-coreboot/ls.mod +i386-coreboot/lsacpi.mod:i386-coreboot/lsacpi.mod +i386-coreboot/lsmmap.mod:i386-coreboot/lsmmap.mod +i386-coreboot/lspci.mod:i386-coreboot/lspci.mod +i386-coreboot/luks.mod:i386-coreboot/luks.mod +i386-coreboot/lvm.mod:i386-coreboot/lvm.mod +i386-coreboot/lzopio.mod:i386-coreboot/lzopio.mod +i386-coreboot/mda_text.mod:i386-coreboot/mda_text.mod +i386-coreboot/mdraid09.mod:i386-coreboot/mdraid09.mod +i386-coreboot/mdraid09_be.mod:i386-coreboot/mdraid09_be.mod +i386-coreboot/mdraid1x.mod:i386-coreboot/mdraid1x.mod +i386-coreboot/memdisk.mod:i386-coreboot/memdisk.mod +i386-coreboot/memrw.mod:i386-coreboot/memrw.mod +i386-coreboot/minicmd.mod:i386-coreboot/minicmd.mod +i386-coreboot/minix.mod:i386-coreboot/minix.mod +i386-coreboot/minix2.mod:i386-coreboot/minix2.mod +i386-coreboot/minix2_be.mod:i386-coreboot/minix2_be.mod +i386-coreboot/minix3.mod:i386-coreboot/minix3.mod +i386-coreboot/minix3_be.mod:i386-coreboot/minix3_be.mod +i386-coreboot/minix_be.mod:i386-coreboot/minix_be.mod +i386-coreboot/mmap.mod:i386-coreboot/mmap.mod +i386-coreboot/morse.mod:i386-coreboot/morse.mod +i386-coreboot/mpi.mod:i386-coreboot/mpi.mod +i386-coreboot/msdospart.mod:i386-coreboot/msdospart.mod +i386-coreboot/multiboot.mod:i386-coreboot/multiboot.mod +i386-coreboot/multiboot2.mod:i386-coreboot/multiboot2.mod +i386-coreboot/nativedisk.mod:i386-coreboot/nativedisk.mod +i386-coreboot/net.mod:i386-coreboot/net.mod +i386-coreboot/newc.mod:i386-coreboot/newc.mod +i386-coreboot/nilfs2.mod:i386-coreboot/nilfs2.mod +i386-coreboot/normal.mod:i386-coreboot/normal.mod +i386-coreboot/ntfs.mod:i386-coreboot/ntfs.mod +i386-coreboot/ntfscomp.mod:i386-coreboot/ntfscomp.mod +i386-coreboot/odc.mod:i386-coreboot/odc.mod +i386-coreboot/offsetio.mod:i386-coreboot/offsetio.mod +i386-coreboot/ohci.mod:i386-coreboot/ohci.mod +i386-coreboot/part_bsd.mod:i386-coreboot/part_bsd.mod +i386-coreboot/part_gpt.mod:i386-coreboot/part_gpt.mod +i386-coreboot/part_msdos.mod:i386-coreboot/part_msdos.mod +i386-coreboot/parttool.mod:i386-coreboot/parttool.mod +i386-coreboot/password.mod:i386-coreboot/password.mod +i386-coreboot/password_pbkdf2.mod:i386-coreboot/password_pbkdf2.mod +i386-coreboot/pata.mod:i386-coreboot/pata.mod +i386-coreboot/pbkdf2.mod:i386-coreboot/pbkdf2.mod +i386-coreboot/pci.mod:i386-coreboot/pci.mod +i386-coreboot/pcidump.mod:i386-coreboot/pcidump.mod +i386-coreboot/play.mod:i386-coreboot/play.mod +i386-coreboot/png.mod:i386-coreboot/png.mod +i386-coreboot/priority_queue.mod:i386-coreboot/priority_queue.mod +i386-coreboot/probe.mod:i386-coreboot/probe.mod +i386-coreboot/procfs.mod:i386-coreboot/procfs.mod +i386-coreboot/progress.mod:i386-coreboot/progress.mod +i386-coreboot/raid5rec.mod:i386-coreboot/raid5rec.mod +i386-coreboot/raid6rec.mod:i386-coreboot/raid6rec.mod +i386-coreboot/read.mod:i386-coreboot/read.mod +i386-coreboot/reboot.mod:i386-coreboot/reboot.mod +i386-coreboot/regexp.mod:i386-coreboot/regexp.mod +i386-coreboot/reiserfs.mod:i386-coreboot/reiserfs.mod +i386-coreboot/relocator.mod:i386-coreboot/relocator.mod +i386-coreboot/romfs.mod:i386-coreboot/romfs.mod +i386-coreboot/scsi.mod:i386-coreboot/scsi.mod +i386-coreboot/search.mod:i386-coreboot/search.mod +i386-coreboot/search_fs_file.mod:i386-coreboot/search_fs_file.mod +i386-coreboot/search_fs_uuid.mod:i386-coreboot/search_fs_uuid.mod +i386-coreboot/search_label.mod:i386-coreboot/search_label.mod +i386-coreboot/serial.mod:i386-coreboot/serial.mod +i386-coreboot/setjmp.mod:i386-coreboot/setjmp.mod +i386-coreboot/setpci.mod:i386-coreboot/setpci.mod +i386-coreboot/sfs.mod:i386-coreboot/sfs.mod +i386-coreboot/sleep.mod:i386-coreboot/sleep.mod +i386-coreboot/spkmodem.mod:i386-coreboot/spkmodem.mod +i386-coreboot/squash4.mod:i386-coreboot/squash4.mod +i386-coreboot/syslinuxcfg.mod:i386-coreboot/syslinuxcfg.mod +i386-coreboot/tar.mod:i386-coreboot/tar.mod +i386-coreboot/terminal.mod:i386-coreboot/terminal.mod +i386-coreboot/terminfo.mod:i386-coreboot/terminfo.mod +i386-coreboot/test.mod:i386-coreboot/test.mod +i386-coreboot/testload.mod:i386-coreboot/testload.mod +i386-coreboot/testspeed.mod:i386-coreboot/testspeed.mod +i386-coreboot/tftp.mod:i386-coreboot/tftp.mod +i386-coreboot/tga.mod:i386-coreboot/tga.mod +i386-coreboot/time.mod:i386-coreboot/time.mod +i386-coreboot/tr.mod:i386-coreboot/tr.mod +i386-coreboot/trig.mod:i386-coreboot/trig.mod +i386-coreboot/true.mod:i386-coreboot/true.mod +i386-coreboot/udf.mod:i386-coreboot/udf.mod +i386-coreboot/ufs1.mod:i386-coreboot/ufs1.mod +i386-coreboot/ufs1_be.mod:i386-coreboot/ufs1_be.mod +i386-coreboot/ufs2.mod:i386-coreboot/ufs2.mod +i386-coreboot/uhci.mod:i386-coreboot/uhci.mod +i386-coreboot/usb.mod:i386-coreboot/usb.mod +i386-coreboot/usb_keyboard.mod:i386-coreboot/usb_keyboard.mod +i386-coreboot/usbms.mod:i386-coreboot/usbms.mod +i386-coreboot/usbserial_common.mod:i386-coreboot/usbserial_common.mod +i386-coreboot/usbserial_ftdi.mod:i386-coreboot/usbserial_ftdi.mod +i386-coreboot/usbserial_pl2303.mod:i386-coreboot/usbserial_pl2303.mod +i386-coreboot/usbserial_usbdebug.mod:i386-coreboot/usbserial_usbdebug.mod +i386-coreboot/usbtest.mod:i386-coreboot/usbtest.mod +i386-coreboot/verify.mod:i386-coreboot/verify.mod +i386-coreboot/video_colors.mod:i386-coreboot/video_colors.mod +i386-coreboot/videoinfo.mod:i386-coreboot/videoinfo.mod +i386-coreboot/videotest.mod:i386-coreboot/videotest.mod +i386-coreboot/videotest_checksum.mod:i386-coreboot/videotest_checksum.mod +i386-coreboot/xfs.mod:i386-coreboot/xfs.mod +i386-coreboot/xzio.mod:i386-coreboot/xzio.mod +i386-coreboot/zfs.mod:i386-coreboot/zfs.mod diff --git a/projects/grub/configs/coreboot/modules-minimal b/projects/grub/configs/coreboot/modules-minimal new file mode 100644 index 00000000..310aef86 --- /dev/null +++ b/projects/grub/configs/coreboot/modules-minimal @@ -0,0 +1,11 @@ +ahci +cbmemc +ehci +ext2 +halt +part_bsd +part_gpt +pata +reboot +usbms +verify diff --git a/projects/grub/configs/coreboot/platform b/projects/grub/configs/coreboot/platform new file mode 100644 index 00000000..9e67dee0 --- /dev/null +++ b/projects/grub/configs/coreboot/platform @@ -0,0 +1 @@ +coreboot diff --git a/projects/grub/configs/fonts/font-file b/projects/grub/configs/fonts/font-file new file mode 100644 index 00000000..adae2139 --- /dev/null +++ b/projects/grub/configs/fonts/font-file @@ -0,0 +1 @@ +DejaVuSansMono.ttf diff --git a/projects/grub/configs/fonts/font-project b/projects/grub/configs/fonts/font-project new file mode 100644 index 00000000..34a8df95 --- /dev/null +++ b/projects/grub/configs/fonts/font-project @@ -0,0 +1 @@ +dejavu-fonts diff --git a/projects/grub/configs/install b/projects/grub/configs/install new file mode 100644 index 00000000..818dfa91 --- /dev/null +++ b/projects/grub/configs/install @@ -0,0 +1,13 @@ +grub2:grub2 +fonts/DejaVuSansMono.pf2:fonts/DejaVuSansMono.pf2 +keymaps/deqwertz.gkb:keymaps/deqwertz.gkb +keymaps/esqwerty.gkb:keymaps/esqwerty.gkb +keymaps/frazerty.gkb:keymaps/frazerty.gkb +keymaps/frdvbepo.gkb:keymaps/frdvbepo.gkb +keymaps/itqwerty.gkb:keymaps/itqwerty.gkb +keymaps/jaqwerty.gkb:keymaps/jaqwerty.gkb +keymaps/svqwerty.gkb:keymaps/svqwerty.gkb +keymaps/ukdvorak.gkb:keymaps/ukdvorak.gkb +keymaps/ukqwerty.gkb:keymaps/ukqwerty.gkb +keymaps/usdvorak.gkb:keymaps/usdvorak.gkb +keymaps/usqwerty.gkb:keymaps/usqwerty.gkb diff --git a/projects/grub/configs/keymaps/deqwertz b/projects/grub/configs/keymaps/deqwertz new file mode 100644 index 00000000..030dd7b7 --- /dev/null +++ b/projects/grub/configs/keymaps/deqwertz @@ -0,0 +1,130 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul +keycode 4 = U+0033 U+00a7 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a7 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a7 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a7 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a7 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a7 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a7 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a7 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 5 = U+0034 U+0024 U+00bc U+00a4 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+00a4 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+00a4 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+00a4 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+00a4 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+00a4 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+00a4 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+00a4 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 6 = U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 8 = U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 9 = U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape +keycode 10 = U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 11 = U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 12 = +U+00df U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_question Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash +U+00df U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_question Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash +U+00df U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_question Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash +U+00df U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_question Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash +U+00df U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_question Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash +U+00df U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_question Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash +U+00df U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_question Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash +U+00df U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_question Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash +keycode 13 = dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek dead_acute dead_grave dead_cedilla dead_ogonek +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +keycode 17 = +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 18 = +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 19 = +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 20 = +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 21 = +U+007a +U+005a U+2190 U+00a5 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+2190 U+00a5 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+2190 U+00a5 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+2190 U+00a5 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+2190 U+00a5 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+2190 U+00a5 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+2190 U+00a5 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+2190 U+00a5 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 22 = +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 23 = +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 24 = +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 25 = +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 26 = +U+00fc +U+00dc dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00fc +U+00dc dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00fc +U+00dc dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00fc +U+00dc dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00fc +U+00dc dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00fc +U+00dc dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00fc +U+00dc dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00fc +U+00dc dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +keycode 27 = U+002b U+002a U+007e U+00af VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_plus Meta_asterisk Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002b U+002a U+007e U+00af VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_plus Meta_asterisk Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002b U+002a U+007e U+00af VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_plus Meta_asterisk Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002b U+002a U+007e U+00af VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_plus Meta_asterisk Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002b U+002a U+007e U+00af VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_plus Meta_asterisk Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002b U+002a U+007e U+00af VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_plus Meta_asterisk Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002b U+002a U+007e U+00af VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_plus Meta_asterisk Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002b U+002a U+007e U+00af VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_plus Meta_asterisk Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+0073 +U+0053 +U+017f +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+017f +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+017f +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+017f +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+017f +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+017f +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+017f +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+017f +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 32 = +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 33 = +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 34 = +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 35 = +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 36 = +U+006a +U+004a U+0323 U+002e Linefeed Linefeed Linefeed Compose Meta_j Meta_J Meta_j Meta_period Meta_Linefeed Meta_Linefeed Meta_Linefeed Compose +U+006a +U+004a U+0323 U+002e Linefeed Linefeed Linefeed Compose Meta_j Meta_J Meta_j Meta_period Meta_Linefeed Meta_Linefeed Meta_Linefeed Compose +U+006a +U+004a U+0323 U+002e Linefeed Linefeed Linefeed Compose Meta_j Meta_J Meta_j Meta_period Meta_Linefeed Meta_Linefeed Meta_Linefeed Compose +U+006a +U+004a U+0323 U+002e Linefeed Linefeed Linefeed Compose Meta_j Meta_J Meta_j Meta_period Meta_Linefeed Meta_Linefeed Meta_Linefeed Compose +U+004a +U+006a U+0323 U+002e Linefeed Linefeed Linefeed Compose Meta_j Meta_J Meta_j Meta_period Meta_Linefeed Meta_Linefeed Meta_Linefeed Compose +U+004a +U+006a U+0323 U+002e Linefeed Linefeed Linefeed Compose Meta_j Meta_J Meta_j Meta_period Meta_Linefeed Meta_Linefeed Meta_Linefeed Compose +U+004a +U+006a U+0323 U+002e Linefeed Linefeed Linefeed Compose Meta_j Meta_J Meta_j Meta_period Meta_Linefeed Meta_Linefeed Meta_Linefeed Compose +U+004a +U+006a U+0323 U+002e Linefeed Linefeed Linefeed Compose Meta_j Meta_J Meta_j Meta_period Meta_Linefeed Meta_Linefeed Meta_Linefeed Compose +keycode 37 = +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 38 = +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 39 = +U+00f6 +U+00d6 dead_doubleacute U+0323 dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f6 +U+00d6 dead_doubleacute U+0323 dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f6 +U+00d6 dead_doubleacute U+0323 dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f6 +U+00d6 dead_doubleacute U+0323 dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f6 +U+00d6 dead_doubleacute U+0323 dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f6 +U+00d6 dead_doubleacute U+0323 dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f6 +U+00d6 dead_doubleacute U+0323 dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f6 +U+00d6 dead_doubleacute U+0323 dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +keycode 40 = +U+00e4 +U+00c4 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00e4 +U+00c4 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00e4 +U+00c4 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00e4 +U+00c4 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00e4 +U+00c4 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00e4 +U+00c4 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00e4 +U+00c4 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00e4 +U+00c4 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +keycode 41 = dead_circumflex U+00b0 U+2032 U+2033 dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex U+00b0 U+2032 U+2033 dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex U+00b0 U+2032 U+2033 dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex U+00b0 U+2032 U+2033 dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex U+00b0 U+2032 U+2033 dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex U+00b0 U+2032 U+2033 dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex U+00b0 U+2032 U+2033 dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex U+00b0 U+2032 U+2033 dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex dead_circumflex +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = U+0023 U+0027 U+2019 dead_breve Control_g Control_g dead_breve dead_breve Meta_numbersign Meta_apostrophe Meta_numbersign dead_breve Meta_Control_g Meta_Control_g dead_breve dead_breve U+0023 U+0027 U+2019 dead_breve Control_g Control_g dead_breve dead_breve Meta_numbersign Meta_apostrophe Meta_numbersign dead_breve Meta_Control_g Meta_Control_g dead_breve dead_breve U+0023 U+0027 U+2019 dead_breve Control_g Control_g dead_breve dead_breve Meta_numbersign Meta_apostrophe Meta_numbersign dead_breve Meta_Control_g Meta_Control_g dead_breve dead_breve U+0023 U+0027 U+2019 dead_breve Control_g Control_g dead_breve dead_breve Meta_numbersign Meta_apostrophe Meta_numbersign dead_breve Meta_Control_g Meta_Control_g dead_breve dead_breve U+0023 U+0027 U+2019 dead_breve Control_g Control_g dead_breve dead_breve Meta_numbersign Meta_apostrophe Meta_numbersign dead_breve Meta_Control_g Meta_Control_g dead_breve dead_breve U+0023 U+0027 U+2019 dead_breve Control_g Control_g dead_breve dead_breve Meta_numbersign Meta_apostrophe Meta_numbersign dead_breve Meta_Control_g Meta_Control_g dead_breve dead_breve U+0023 U+0027 U+2019 dead_breve Control_g Control_g dead_breve dead_breve Meta_numbersign Meta_apostrophe Meta_numbersign dead_breve Meta_Control_g Meta_Control_g dead_breve dead_breve U+0023 U+0027 U+2019 dead_breve Control_g Control_g dead_breve dead_breve Meta_numbersign Meta_apostrophe Meta_numbersign dead_breve Meta_Control_g Meta_Control_g dead_breve dead_breve +keycode 44 = +U+0079 +U+0059 U+00bb U+203a Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+00bb U+203a Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+00bb U+203a Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+00bb U+203a Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00bb U+203a Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00bb U+203a Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00bb U+203a Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00bb U+203a Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 45 = +U+0078 +U+0058 U+00ab U+2039 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00ab U+2039 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00ab U+2039 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00ab U+2039 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00ab U+2039 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00ab U+2039 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00ab U+2039 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00ab U+2039 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 46 = +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 47 = +U+0076 +U+0056 U+201e U+201a Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201e U+201a Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201e U+201a Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201e U+201a Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201e U+201a Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201e U+201a Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201e U+201a Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201e U+201a Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 48 = +U+0062 +U+0042 U+201c U+2018 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201c U+2018 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201c U+2018 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201c U+2018 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201c U+2018 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201c U+2018 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201c U+2018 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201c U+2018 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 49 = +U+006e +U+004e U+201d U+2019 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e U+201d U+2019 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e U+201d U+2019 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e U+201d U+2019 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e U+201d U+2019 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e U+201d U+2019 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e U+201d U+2019 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e U+201d U+2019 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 50 = +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 51 = U+002c U+003b U+00b7 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+00b7 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+00b7 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+00b7 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+00b7 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+00b7 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+00b7 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+00b7 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 52 = U+002e U+003a U+2026 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose +keycode 53 = U+002d U+005f U+2013 U+2014 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+2013 U+2014 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+2013 U+2014 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+2013 U+2014 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+2013 U+2014 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+2013 U+2014 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+2013 U+2014 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+2013 U+2014 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma +keycode 86 = U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/keymaps/esqwerty b/projects/grub/configs/keymaps/esqwerty new file mode 100644 index 00000000..5c770cce --- /dev/null +++ b/projects/grub/configs/keymaps/esqwerty @@ -0,0 +1,130 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0031 U+0021 U+007c U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+007c U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+007c U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+007c U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+007c U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+007c U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+007c U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+007c U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = U+0032 U+0022 U+0040 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +keycode 4 = U+0033 U+00b7 U+0023 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00b7 U+0023 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00b7 U+0023 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00b7 U+0023 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00b7 U+0023 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00b7 U+0023 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00b7 U+0023 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00b7 U+0023 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 5 = U+0034 U+0024 U+007e U+0024 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_asciitilde Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+007e U+0024 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_asciitilde Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+007e U+0024 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_asciitilde Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+007e U+0024 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_asciitilde Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+007e U+0024 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_asciitilde Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+007e U+0024 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_asciitilde Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+007e U+0024 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_asciitilde Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+007e U+0024 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_asciitilde Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 6 = U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 8 = U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 9 = U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape +keycode 10 = U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 11 = U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 12 = U+0027 U+003f U+005c U+00bf Control_g Delete Control_backslash Control_backslash Meta_apostrophe Meta_question Meta_backslash Meta_backslash Meta_Control_g Meta_Delete Meta_Control_backslash Meta_Control_backslash U+0027 U+003f U+005c U+00bf Control_g Delete Control_backslash Control_backslash Meta_apostrophe Meta_question Meta_backslash Meta_backslash Meta_Control_g Meta_Delete Meta_Control_backslash Meta_Control_backslash U+0027 U+003f U+005c U+00bf Control_g Delete Control_backslash Control_backslash Meta_apostrophe Meta_question Meta_backslash Meta_backslash Meta_Control_g Meta_Delete Meta_Control_backslash Meta_Control_backslash U+0027 U+003f U+005c U+00bf Control_g Delete Control_backslash Control_backslash Meta_apostrophe Meta_question Meta_backslash Meta_backslash Meta_Control_g Meta_Delete Meta_Control_backslash Meta_Control_backslash U+0027 U+003f U+005c U+00bf Control_g Delete Control_backslash Control_backslash Meta_apostrophe Meta_question Meta_backslash Meta_backslash Meta_Control_g Meta_Delete Meta_Control_backslash Meta_Control_backslash U+0027 U+003f U+005c U+00bf Control_g Delete Control_backslash Control_backslash Meta_apostrophe Meta_question Meta_backslash Meta_backslash Meta_Control_g Meta_Delete Meta_Control_backslash Meta_Control_backslash U+0027 U+003f U+005c U+00bf Control_g Delete Control_backslash Control_backslash Meta_apostrophe Meta_question Meta_backslash Meta_backslash Meta_Control_g Meta_Delete Meta_Control_backslash Meta_Control_backslash U+0027 U+003f U+005c U+00bf Control_g Delete Control_backslash Control_backslash Meta_apostrophe Meta_question Meta_backslash Meta_backslash Meta_Control_g Meta_Delete Meta_Control_backslash Meta_Control_backslash +keycode 13 = U+00a1 U+00bf dead_tilde U+007e dead_tilde dead_tilde dead_tilde dead_tilde dead_tilde Meta_asciitilde dead_tilde Meta_asciitilde dead_tilde dead_tilde dead_tilde dead_tilde U+00a1 U+00bf dead_tilde U+007e dead_tilde dead_tilde dead_tilde dead_tilde dead_tilde Meta_asciitilde dead_tilde Meta_asciitilde dead_tilde dead_tilde dead_tilde dead_tilde U+00a1 U+00bf dead_tilde U+007e dead_tilde dead_tilde dead_tilde dead_tilde dead_tilde Meta_asciitilde dead_tilde Meta_asciitilde dead_tilde dead_tilde dead_tilde dead_tilde U+00a1 U+00bf dead_tilde U+007e dead_tilde dead_tilde dead_tilde dead_tilde dead_tilde Meta_asciitilde dead_tilde Meta_asciitilde dead_tilde dead_tilde dead_tilde dead_tilde U+00a1 U+00bf dead_tilde U+007e dead_tilde dead_tilde dead_tilde dead_tilde dead_tilde Meta_asciitilde dead_tilde Meta_asciitilde dead_tilde dead_tilde dead_tilde dead_tilde U+00a1 U+00bf dead_tilde U+007e dead_tilde dead_tilde dead_tilde dead_tilde dead_tilde Meta_asciitilde dead_tilde Meta_asciitilde dead_tilde dead_tilde dead_tilde dead_tilde U+00a1 U+00bf dead_tilde U+007e dead_tilde dead_tilde dead_tilde dead_tilde dead_tilde Meta_asciitilde dead_tilde Meta_asciitilde dead_tilde dead_tilde dead_tilde dead_tilde U+00a1 U+00bf dead_tilde U+007e dead_tilde dead_tilde dead_tilde dead_tilde dead_tilde Meta_asciitilde dead_tilde Meta_asciitilde dead_tilde dead_tilde dead_tilde dead_tilde +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +keycode 17 = +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 18 = +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 19 = +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 20 = +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 21 = +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 22 = +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 23 = +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 24 = +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 25 = +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 26 = dead_grave dead_circumflex U+005b U+002a dead_grave dead_circumflex Escape Escape dead_grave dead_circumflex Meta_bracketleft Meta_asterisk dead_grave dead_circumflex Meta_Escape Meta_Escape dead_grave dead_circumflex U+005b U+002a dead_grave dead_circumflex Escape Escape dead_grave dead_circumflex Meta_bracketleft Meta_asterisk dead_grave dead_circumflex Meta_Escape Meta_Escape dead_grave dead_circumflex U+005b U+002a dead_grave dead_circumflex Escape Escape dead_grave dead_circumflex Meta_bracketleft Meta_asterisk dead_grave dead_circumflex Meta_Escape Meta_Escape dead_grave dead_circumflex U+005b U+002a dead_grave dead_circumflex Escape Escape dead_grave dead_circumflex Meta_bracketleft Meta_asterisk dead_grave dead_circumflex Meta_Escape Meta_Escape dead_grave dead_circumflex U+005b U+002a dead_grave dead_circumflex Escape Escape dead_grave dead_circumflex Meta_bracketleft Meta_asterisk dead_grave dead_circumflex Meta_Escape Meta_Escape dead_grave dead_circumflex U+005b U+002a dead_grave dead_circumflex Escape Escape dead_grave dead_circumflex Meta_bracketleft Meta_asterisk dead_grave dead_circumflex Meta_Escape Meta_Escape dead_grave dead_circumflex U+005b U+002a dead_grave dead_circumflex Escape Escape dead_grave dead_circumflex Meta_bracketleft Meta_asterisk dead_grave dead_circumflex Meta_Escape Meta_Escape dead_grave dead_circumflex U+005b U+002a dead_grave dead_circumflex Escape Escape dead_grave dead_circumflex Meta_bracketleft Meta_asterisk dead_grave dead_circumflex Meta_Escape Meta_Escape +keycode 27 = U+002b U+002a U+005d U+005f Control_bracketright Control_underscore Control_bracketright Control_underscore Meta_plus Meta_asterisk Meta_bracketright Meta_underscore Meta_Control_bracketright Meta_Control_underscore Meta_Control_bracketright Meta_Control_underscore U+002b U+002a U+005d U+005f Control_bracketright Control_underscore Control_bracketright Control_underscore Meta_plus Meta_asterisk Meta_bracketright Meta_underscore Meta_Control_bracketright Meta_Control_underscore Meta_Control_bracketright Meta_Control_underscore U+002b U+002a U+005d U+005f Control_bracketright Control_underscore Control_bracketright Control_underscore Meta_plus Meta_asterisk Meta_bracketright Meta_underscore Meta_Control_bracketright Meta_Control_underscore Meta_Control_bracketright Meta_Control_underscore U+002b U+002a U+005d U+005f Control_bracketright Control_underscore Control_bracketright Control_underscore Meta_plus Meta_asterisk Meta_bracketright Meta_underscore Meta_Control_bracketright Meta_Control_underscore Meta_Control_bracketright Meta_Control_underscore U+002b U+002a U+005d U+005f Control_bracketright Control_underscore Control_bracketright Control_underscore Meta_plus Meta_asterisk Meta_bracketright Meta_underscore Meta_Control_bracketright Meta_Control_underscore Meta_Control_bracketright Meta_Control_underscore U+002b U+002a U+005d U+005f Control_bracketright Control_underscore Control_bracketright Control_underscore Meta_plus Meta_asterisk Meta_bracketright Meta_underscore Meta_Control_bracketright Meta_Control_underscore Meta_Control_bracketright Meta_Control_underscore U+002b U+002a U+005d U+005f Control_bracketright Control_underscore Control_bracketright Control_underscore Meta_plus Meta_asterisk Meta_bracketright Meta_underscore Meta_Control_bracketright Meta_Control_underscore Meta_Control_bracketright Meta_Control_underscore U+002b U+002a U+005d U+005f Control_bracketright Control_underscore Control_bracketright Control_underscore Meta_plus Meta_asterisk Meta_bracketright Meta_underscore Meta_Control_bracketright Meta_Control_underscore Meta_Control_bracketright Meta_Control_underscore +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 32 = +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 33 = +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 34 = +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 35 = +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 36 = +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 37 = +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 38 = +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 39 = +U+00f1 +U+00d1 U+007e dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute Meta_asciitilde dead_doubleacute Meta_asciitilde dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f1 +U+00d1 U+007e dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute Meta_asciitilde dead_doubleacute Meta_asciitilde dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f1 +U+00d1 U+007e dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute Meta_asciitilde dead_doubleacute Meta_asciitilde dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f1 +U+00d1 U+007e dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute Meta_asciitilde dead_doubleacute Meta_asciitilde dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f1 +U+00d1 U+007e dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute Meta_asciitilde dead_doubleacute Meta_asciitilde dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f1 +U+00d1 U+007e dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute Meta_asciitilde dead_doubleacute Meta_asciitilde dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f1 +U+00d1 U+007e dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute Meta_asciitilde dead_doubleacute Meta_asciitilde dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +U+00f1 +U+00d1 U+007e dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute Meta_asciitilde dead_doubleacute Meta_asciitilde dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute dead_doubleacute +keycode 40 = dead_acute dead_diaeresis U+007b U+007b dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis Meta_braceleft Meta_braceleft dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis U+007b U+007b dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis Meta_braceleft Meta_braceleft dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis U+007b U+007b dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis Meta_braceleft Meta_braceleft dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis U+007b U+007b dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis Meta_braceleft Meta_braceleft dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis U+007b U+007b dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis Meta_braceleft Meta_braceleft dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis U+007b U+007b dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis Meta_braceleft Meta_braceleft dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis U+007b U+007b dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis Meta_braceleft Meta_braceleft dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis U+007b U+007b dead_acute dead_diaeresis dead_acute dead_diaeresis dead_acute dead_diaeresis Meta_braceleft Meta_braceleft dead_acute dead_diaeresis dead_acute dead_diaeresis +keycode 41 = +U+00ba +U+00aa U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00ba +U+00aa U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00ba +U+00aa U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00ba +U+00aa U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00ba +U+00aa U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00ba +U+00aa U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00ba +U+00aa U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00ba +U+00aa U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = +U+00e7 +U+00c7 U+007d dead_breve dead_breve dead_breve dead_breve dead_breve Meta_braceright dead_breve Meta_braceright dead_breve dead_breve dead_breve dead_breve dead_breve +U+00e7 +U+00c7 U+007d dead_breve dead_breve dead_breve dead_breve dead_breve Meta_braceright dead_breve Meta_braceright dead_breve dead_breve dead_breve dead_breve dead_breve +U+00e7 +U+00c7 U+007d dead_breve dead_breve dead_breve dead_breve dead_breve Meta_braceright dead_breve Meta_braceright dead_breve dead_breve dead_breve dead_breve dead_breve +U+00e7 +U+00c7 U+007d dead_breve dead_breve dead_breve dead_breve dead_breve Meta_braceright dead_breve Meta_braceright dead_breve dead_breve dead_breve dead_breve dead_breve +U+00e7 +U+00c7 U+007d dead_breve dead_breve dead_breve dead_breve dead_breve Meta_braceright dead_breve Meta_braceright dead_breve dead_breve dead_breve dead_breve dead_breve +U+00e7 +U+00c7 U+007d dead_breve dead_breve dead_breve dead_breve dead_breve Meta_braceright dead_breve Meta_braceright dead_breve dead_breve dead_breve dead_breve dead_breve +U+00e7 +U+00c7 U+007d dead_breve dead_breve dead_breve dead_breve dead_breve Meta_braceright dead_breve Meta_braceright dead_breve dead_breve dead_breve dead_breve dead_breve +U+00e7 +U+00c7 U+007d dead_breve dead_breve dead_breve dead_breve dead_breve Meta_braceright dead_breve Meta_braceright dead_breve dead_breve dead_breve dead_breve dead_breve +keycode 44 = +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 45 = +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 46 = +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 47 = +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 48 = +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 49 = +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 50 = +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 51 = U+002c U+003b U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003b U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_semicolon Meta_comma Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 52 = U+002e U+003a U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose +keycode 53 = U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period +keycode 86 = U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/keymaps/frazerty b/projects/grub/configs/keymaps/frazerty new file mode 100644 index 00000000..ad7147af --- /dev/null +++ b/projects/grub/configs/keymaps/frazerty @@ -0,0 +1,130 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0026 U+0031 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_ampersand Meta_one Meta_ampersand Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0026 U+0031 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_ampersand Meta_one Meta_ampersand Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0026 U+0031 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_ampersand Meta_one Meta_ampersand Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0026 U+0031 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_ampersand Meta_one Meta_ampersand Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0026 U+0031 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_ampersand Meta_one Meta_ampersand Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0026 U+0031 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_ampersand Meta_one Meta_ampersand Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0026 U+0031 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_ampersand Meta_one Meta_ampersand Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0026 U+0031 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_ampersand Meta_one Meta_ampersand Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = +U+00e9 U+0032 U+007e U+215b nul nul nul nul Meta_two Meta_two Meta_asciitilde Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul +U+00e9 U+0032 U+007e U+215b nul nul nul nul Meta_two Meta_two Meta_asciitilde Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul +U+00e9 U+0032 U+007e U+215b nul nul nul nul Meta_two Meta_two Meta_asciitilde Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul +U+00e9 U+0032 U+007e U+215b nul nul nul nul Meta_two Meta_two Meta_asciitilde Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul +U+00c9 U+0032 U+007e U+215b nul nul nul nul Meta_two Meta_two Meta_asciitilde Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul +U+00c9 U+0032 U+007e U+215b nul nul nul nul Meta_two Meta_two Meta_asciitilde Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul +U+00c9 U+0032 U+007e U+215b nul nul nul nul Meta_two Meta_two Meta_asciitilde Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul +U+00c9 U+0032 U+007e U+215b nul nul nul nul Meta_two Meta_two Meta_asciitilde Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul +keycode 4 = U+0022 U+0033 U+0023 U+00a3 Escape Escape Escape Escape Meta_quotedbl Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0022 U+0033 U+0023 U+00a3 Escape Escape Escape Escape Meta_quotedbl Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0022 U+0033 U+0023 U+00a3 Escape Escape Escape Escape Meta_quotedbl Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0022 U+0033 U+0023 U+00a3 Escape Escape Escape Escape Meta_quotedbl Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0022 U+0033 U+0023 U+00a3 Escape Escape Escape Escape Meta_quotedbl Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0022 U+0033 U+0023 U+00a3 Escape Escape Escape Escape Meta_quotedbl Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0022 U+0033 U+0023 U+00a3 Escape Escape Escape Escape Meta_quotedbl Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0022 U+0033 U+0023 U+00a3 Escape Escape Escape Escape Meta_quotedbl Meta_three Meta_numbersign Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 5 = U+0027 U+0034 U+007b U+0024 Control_g Control_backslash Control_g Control_backslash Meta_apostrophe Meta_four Meta_braceleft Meta_dollar Meta_Control_g Meta_Control_backslash Meta_Control_g Meta_Control_backslash U+0027 U+0034 U+007b U+0024 Control_g Control_backslash Control_g Control_backslash Meta_apostrophe Meta_four Meta_braceleft Meta_dollar Meta_Control_g Meta_Control_backslash Meta_Control_g Meta_Control_backslash U+0027 U+0034 U+007b U+0024 Control_g Control_backslash Control_g Control_backslash Meta_apostrophe Meta_four Meta_braceleft Meta_dollar Meta_Control_g Meta_Control_backslash Meta_Control_g Meta_Control_backslash U+0027 U+0034 U+007b U+0024 Control_g Control_backslash Control_g Control_backslash Meta_apostrophe Meta_four Meta_braceleft Meta_dollar Meta_Control_g Meta_Control_backslash Meta_Control_g Meta_Control_backslash U+0027 U+0034 U+007b U+0024 Control_g Control_backslash Control_g Control_backslash Meta_apostrophe Meta_four Meta_braceleft Meta_dollar Meta_Control_g Meta_Control_backslash Meta_Control_g Meta_Control_backslash U+0027 U+0034 U+007b U+0024 Control_g Control_backslash Control_g Control_backslash Meta_apostrophe Meta_four Meta_braceleft Meta_dollar Meta_Control_g Meta_Control_backslash Meta_Control_g Meta_Control_backslash U+0027 U+0034 U+007b U+0024 Control_g Control_backslash Control_g Control_backslash Meta_apostrophe Meta_four Meta_braceleft Meta_dollar Meta_Control_g Meta_Control_backslash Meta_Control_g Meta_Control_backslash U+0027 U+0034 U+007b U+0024 Control_g Control_backslash Control_g Control_backslash Meta_apostrophe Meta_four Meta_braceleft Meta_dollar Meta_Control_g Meta_Control_backslash Meta_Control_g Meta_Control_backslash +keycode 6 = U+0028 U+0035 U+005b U+215c Control_bracketright Control_bracketright Escape Escape Meta_parenleft Meta_five Meta_bracketleft Meta_bracketleft Meta_Control_bracketright Meta_Control_bracketright Meta_Escape Meta_Escape U+0028 U+0035 U+005b U+215c Control_bracketright Control_bracketright Escape Escape Meta_parenleft Meta_five Meta_bracketleft Meta_bracketleft Meta_Control_bracketright Meta_Control_bracketright Meta_Escape Meta_Escape U+0028 U+0035 U+005b U+215c Control_bracketright Control_bracketright Escape Escape Meta_parenleft Meta_five Meta_bracketleft Meta_bracketleft Meta_Control_bracketright Meta_Control_bracketright Meta_Escape Meta_Escape U+0028 U+0035 U+005b U+215c Control_bracketright Control_bracketright Escape Escape Meta_parenleft Meta_five Meta_bracketleft Meta_bracketleft Meta_Control_bracketright Meta_Control_bracketright Meta_Escape Meta_Escape U+0028 U+0035 U+005b U+215c Control_bracketright Control_bracketright Escape Escape Meta_parenleft Meta_five Meta_bracketleft Meta_bracketleft Meta_Control_bracketright Meta_Control_bracketright Meta_Escape Meta_Escape U+0028 U+0035 U+005b U+215c Control_bracketright Control_bracketright Escape Escape Meta_parenleft Meta_five Meta_bracketleft Meta_bracketleft Meta_Control_bracketright Meta_Control_bracketright Meta_Escape Meta_Escape U+0028 U+0035 U+005b U+215c Control_bracketright Control_bracketright Escape Escape Meta_parenleft Meta_five Meta_bracketleft Meta_bracketleft Meta_Control_bracketright Meta_Control_bracketright Meta_Escape Meta_Escape U+0028 U+0035 U+005b U+215c Control_bracketright Control_bracketright Escape Escape Meta_parenleft Meta_five Meta_bracketleft Meta_bracketleft Meta_Control_bracketright Meta_Control_bracketright Meta_Escape Meta_Escape +keycode 7 = U+002d U+0036 U+007c U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_minus Meta_six Meta_bar Meta_bar Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+002d U+0036 U+007c U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_minus Meta_six Meta_bar Meta_bar Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+002d U+0036 U+007c U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_minus Meta_six Meta_bar Meta_bar Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+002d U+0036 U+007c U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_minus Meta_six Meta_bar Meta_bar Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+002d U+0036 U+007c U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_minus Meta_six Meta_bar Meta_bar Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+002d U+0036 U+007c U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_minus Meta_six Meta_bar Meta_bar Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+002d U+0036 U+007c U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_minus Meta_six Meta_bar Meta_bar Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+002d U+0036 U+007c U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_minus Meta_six Meta_bar Meta_bar Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 8 = +U+00e8 U+0037 U+0060 U+215e Control_underscore Control_underscore nul nul Meta_seven Meta_seven Meta_grave Meta_grave Meta_Control_underscore Meta_Control_underscore Meta_nul Meta_nul +U+00e8 U+0037 U+0060 U+215e Control_underscore Control_underscore nul nul Meta_seven Meta_seven Meta_grave Meta_grave Meta_Control_underscore Meta_Control_underscore Meta_nul Meta_nul +U+00e8 U+0037 U+0060 U+215e Control_underscore Control_underscore nul nul Meta_seven Meta_seven Meta_grave Meta_grave Meta_Control_underscore Meta_Control_underscore Meta_nul Meta_nul +U+00e8 U+0037 U+0060 U+215e Control_underscore Control_underscore nul nul Meta_seven Meta_seven Meta_grave Meta_grave Meta_Control_underscore Meta_Control_underscore Meta_nul Meta_nul +U+00c8 U+0037 U+0060 U+215e Control_underscore Control_underscore nul nul Meta_seven Meta_seven Meta_grave Meta_grave Meta_Control_underscore Meta_Control_underscore Meta_nul Meta_nul +U+00c8 U+0037 U+0060 U+215e Control_underscore Control_underscore nul nul Meta_seven Meta_seven Meta_grave Meta_grave Meta_Control_underscore Meta_Control_underscore Meta_nul Meta_nul +U+00c8 U+0037 U+0060 U+215e Control_underscore Control_underscore nul nul Meta_seven Meta_seven Meta_grave Meta_grave Meta_Control_underscore Meta_Control_underscore Meta_nul Meta_nul +U+00c8 U+0037 U+0060 U+215e Control_underscore Control_underscore nul nul Meta_seven Meta_seven Meta_grave Meta_grave Meta_Control_underscore Meta_Control_underscore Meta_nul Meta_nul +keycode 9 = U+005f U+0038 U+005c U+2122 Control_underscore Delete Control_backslash Control_backslash Meta_underscore Meta_eight Meta_backslash Meta_backslash Meta_Control_underscore Meta_Delete Meta_Control_backslash Meta_Control_backslash U+005f U+0038 U+005c U+2122 Control_underscore Delete Control_backslash Control_backslash Meta_underscore Meta_eight Meta_backslash Meta_backslash Meta_Control_underscore Meta_Delete Meta_Control_backslash Meta_Control_backslash U+005f U+0038 U+005c U+2122 Control_underscore Delete Control_backslash Control_backslash Meta_underscore Meta_eight Meta_backslash Meta_backslash Meta_Control_underscore Meta_Delete Meta_Control_backslash Meta_Control_backslash U+005f U+0038 U+005c U+2122 Control_underscore Delete Control_backslash Control_backslash Meta_underscore Meta_eight Meta_backslash Meta_backslash Meta_Control_underscore Meta_Delete Meta_Control_backslash Meta_Control_backslash U+005f U+0038 U+005c U+2122 Control_underscore Delete Control_backslash Control_backslash Meta_underscore Meta_eight Meta_backslash Meta_backslash Meta_Control_underscore Meta_Delete Meta_Control_backslash Meta_Control_backslash U+005f U+0038 U+005c U+2122 Control_underscore Delete Control_backslash Control_backslash Meta_underscore Meta_eight Meta_backslash Meta_backslash Meta_Control_underscore Meta_Delete Meta_Control_backslash Meta_Control_backslash U+005f U+0038 U+005c U+2122 Control_underscore Delete Control_backslash Control_backslash Meta_underscore Meta_eight Meta_backslash Meta_backslash Meta_Control_underscore Meta_Delete Meta_Control_backslash Meta_Control_backslash U+005f U+0038 U+005c U+2122 Control_underscore Delete Control_backslash Control_backslash Meta_underscore Meta_eight Meta_backslash Meta_backslash Meta_Control_underscore Meta_Delete Meta_Control_backslash Meta_Control_backslash +keycode 10 = +U+00e7 U+0039 U+005e U+00b1 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_nine Meta_nine Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +U+00e7 U+0039 U+005e U+00b1 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_nine Meta_nine Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +U+00e7 U+0039 U+005e U+00b1 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_nine Meta_nine Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +U+00e7 U+0039 U+005e U+00b1 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_nine Meta_nine Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +U+00c7 U+0039 U+005e U+00b1 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_nine Meta_nine Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +U+00c7 U+0039 U+005e U+00b1 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_nine Meta_nine Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +U+00c7 U+0039 U+005e U+00b1 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_nine Meta_nine Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +U+00c7 U+0039 U+005e U+00b1 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_nine Meta_nine Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 11 = +U+00e0 U+0030 U+0040 U+00b0 nul nul nul nul Meta_zero Meta_zero Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +U+00e0 U+0030 U+0040 U+00b0 nul nul nul nul Meta_zero Meta_zero Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +U+00e0 U+0030 U+0040 U+00b0 nul nul nul nul Meta_zero Meta_zero Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +U+00e0 U+0030 U+0040 U+00b0 nul nul nul nul Meta_zero Meta_zero Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +U+00c0 U+0030 U+0040 U+00b0 nul nul nul nul Meta_zero Meta_zero Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +U+00c0 U+0030 U+0040 U+00b0 nul nul nul nul Meta_zero Meta_zero Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +U+00c0 U+0030 U+0040 U+00b0 nul nul nul nul Meta_zero Meta_zero Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +U+00c0 U+0030 U+0040 U+00b0 nul nul nul nul Meta_zero Meta_zero Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +keycode 12 = U+0029 U+00b0 U+005d U+00bf Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_parenright Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0029 U+00b0 U+005d U+00bf Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_parenright Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0029 U+00b0 U+005d U+00bf Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_parenright Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0029 U+00b0 U+005d U+00bf Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_parenright Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0029 U+00b0 U+005d U+00bf Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_parenright Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0029 U+00b0 U+005d U+00bf Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_parenright Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0029 U+00b0 U+005d U+00bf Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_parenright Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0029 U+00b0 U+005d U+00bf Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_parenright Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 13 = U+003d U+002b U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_equal Meta_plus Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+003d U+002b U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_equal Meta_plus Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+003d U+002b U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_equal Meta_plus Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+003d U+002b U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_equal Meta_plus Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+003d U+002b U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_equal Meta_plus Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+003d U+002b U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_equal Meta_plus Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+003d U+002b U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_equal Meta_plus Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+003d U+002b U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_equal Meta_plus Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 17 = +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 18 = +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 19 = +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 20 = +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 21 = +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 22 = +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 23 = +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 24 = +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 25 = +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 26 = dead_circumflex dead_diaeresis dead_diaeresis U+002a dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis Meta_asterisk dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis U+002a dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis Meta_asterisk dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis U+002a dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis Meta_asterisk dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis U+002a dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis Meta_asterisk dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis U+002a dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis Meta_asterisk dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis U+002a dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis Meta_asterisk dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis U+002a dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis Meta_asterisk dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis U+002a dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis dead_circumflex dead_diaeresis dead_diaeresis Meta_asterisk dead_circumflex dead_diaeresis dead_diaeresis dead_diaeresis +keycode 27 = U+0024 U+00a3 U+00a4 U+005f Control_underscore Control_underscore Control_underscore Control_underscore Meta_dollar Meta_dollar Meta_dollar Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0024 U+00a3 U+00a4 U+005f Control_underscore Control_underscore Control_underscore Control_underscore Meta_dollar Meta_dollar Meta_dollar Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0024 U+00a3 U+00a4 U+005f Control_underscore Control_underscore Control_underscore Control_underscore Meta_dollar Meta_dollar Meta_dollar Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0024 U+00a3 U+00a4 U+005f Control_underscore Control_underscore Control_underscore Control_underscore Meta_dollar Meta_dollar Meta_dollar Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0024 U+00a3 U+00a4 U+005f Control_underscore Control_underscore Control_underscore Control_underscore Meta_dollar Meta_dollar Meta_dollar Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0024 U+00a3 U+00a4 U+005f Control_underscore Control_underscore Control_underscore Control_underscore Meta_dollar Meta_dollar Meta_dollar Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0024 U+00a3 U+00a4 U+005f Control_underscore Control_underscore Control_underscore Control_underscore Meta_dollar Meta_dollar Meta_dollar Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0024 U+00a3 U+00a4 U+005f Control_underscore Control_underscore Control_underscore Control_underscore Meta_dollar Meta_dollar Meta_dollar Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +keycode 31 = +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 32 = +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 33 = +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 34 = +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 35 = +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 36 = +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 37 = +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 38 = +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 39 = +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 40 = +U+00f9 U+0025 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron Meta_percent Meta_percent dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00f9 U+0025 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron Meta_percent Meta_percent dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00f9 U+0025 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron Meta_percent Meta_percent dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00f9 U+0025 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron Meta_percent Meta_percent dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00d9 U+0025 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron Meta_percent Meta_percent dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00d9 U+0025 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron Meta_percent Meta_percent dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00d9 U+0025 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron Meta_percent Meta_percent dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +U+00d9 U+0025 dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron Meta_percent Meta_percent dead_circumflex dead_caron dead_circumflex dead_caron dead_circumflex dead_caron +keycode 41 = U+00b2 U+007e U+00ac U+00ac VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_asciitilde Meta_asciitilde Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00b2 U+007e U+00ac U+00ac VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_asciitilde Meta_asciitilde Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00b2 U+007e U+00ac U+00ac VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_asciitilde Meta_asciitilde Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00b2 U+007e U+00ac U+00ac VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_asciitilde Meta_asciitilde Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00b2 U+007e U+00ac U+00ac VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_asciitilde Meta_asciitilde Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00b2 U+007e U+00ac U+00ac VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_asciitilde Meta_asciitilde Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00b2 U+007e U+00ac U+00ac VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_asciitilde Meta_asciitilde Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00b2 U+007e U+00ac U+00ac VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_asciitilde Meta_asciitilde Meta_asciitilde Meta_asciitilde VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = U+002a +U+00b5 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_asterisk Meta_asterisk dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+002a +U+00b5 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_asterisk Meta_asterisk dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+002a +U+00b5 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_asterisk Meta_asterisk dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+002a +U+00b5 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_asterisk Meta_asterisk dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+002a +U+039c dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_asterisk Meta_asterisk dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+002a +U+039c dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_asterisk Meta_asterisk dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+002a +U+039c dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_asterisk Meta_asterisk dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+002a +U+039c dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_asterisk Meta_asterisk dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +keycode 44 = +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 45 = +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 46 = +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 47 = +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 48 = +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 49 = +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 50 = U+002c U+003f dead_acute dead_doubleacute Delete Delete dead_acute dead_doubleacute Meta_comma Meta_question dead_acute dead_doubleacute Meta_Delete Meta_Delete dead_acute dead_doubleacute U+002c U+003f dead_acute dead_doubleacute Delete Delete dead_acute dead_doubleacute Meta_comma Meta_question dead_acute dead_doubleacute Meta_Delete Meta_Delete dead_acute dead_doubleacute U+002c U+003f dead_acute dead_doubleacute Delete Delete dead_acute dead_doubleacute Meta_comma Meta_question dead_acute dead_doubleacute Meta_Delete Meta_Delete dead_acute dead_doubleacute U+002c U+003f dead_acute dead_doubleacute Delete Delete dead_acute dead_doubleacute Meta_comma Meta_question dead_acute dead_doubleacute Meta_Delete Meta_Delete dead_acute dead_doubleacute U+002c U+003f dead_acute dead_doubleacute Delete Delete dead_acute dead_doubleacute Meta_comma Meta_question dead_acute dead_doubleacute Meta_Delete Meta_Delete dead_acute dead_doubleacute U+002c U+003f dead_acute dead_doubleacute Delete Delete dead_acute dead_doubleacute Meta_comma Meta_question dead_acute dead_doubleacute Meta_Delete Meta_Delete dead_acute dead_doubleacute U+002c U+003f dead_acute dead_doubleacute Delete Delete dead_acute dead_doubleacute Meta_comma Meta_question dead_acute dead_doubleacute Meta_Delete Meta_Delete dead_acute dead_doubleacute U+002c U+003f dead_acute dead_doubleacute Delete Delete dead_acute dead_doubleacute Meta_comma Meta_question dead_acute dead_doubleacute Meta_Delete Meta_Delete dead_acute dead_doubleacute +keycode 51 = U+003b U+002e U+2500 U+00d7 Compose Compose Compose Compose Meta_semicolon Meta_period Meta_semicolon Meta_period Compose Compose Compose Compose U+003b U+002e U+2500 U+00d7 Compose Compose Compose Compose Meta_semicolon Meta_period Meta_semicolon Meta_period Compose Compose Compose Compose U+003b U+002e U+2500 U+00d7 Compose Compose Compose Compose Meta_semicolon Meta_period Meta_semicolon Meta_period Compose Compose Compose Compose U+003b U+002e U+2500 U+00d7 Compose Compose Compose Compose Meta_semicolon Meta_period Meta_semicolon Meta_period Compose Compose Compose Compose U+003b U+002e U+2500 U+00d7 Compose Compose Compose Compose Meta_semicolon Meta_period Meta_semicolon Meta_period Compose Compose Compose Compose U+003b U+002e U+2500 U+00d7 Compose Compose Compose Compose Meta_semicolon Meta_period Meta_semicolon Meta_period Compose Compose Compose Compose U+003b U+002e U+2500 U+00d7 Compose Compose Compose Compose Meta_semicolon Meta_period Meta_semicolon Meta_period Compose Compose Compose Compose U+003b U+002e U+2500 U+00d7 Compose Compose Compose Compose Meta_semicolon Meta_period Meta_semicolon Meta_period Compose Compose Compose Compose +keycode 52 = U+003a U+002f U+00b7 U+00f7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_slash Meta_colon Meta_slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002f U+00b7 U+00f7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_slash Meta_colon Meta_slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002f U+00b7 U+00f7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_slash Meta_colon Meta_slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002f U+00b7 U+00f7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_slash Meta_colon Meta_slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002f U+00b7 U+00f7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_slash Meta_colon Meta_slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002f U+00b7 U+00f7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_slash Meta_colon Meta_slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002f U+00b7 U+00f7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_slash Meta_colon Meta_slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002f U+00b7 U+00f7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_slash Meta_colon Meta_slash VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 53 = U+0021 U+00a7 U+0323 U+002e Compose Compose Compose Compose Meta_exclam Meta_exclam Meta_exclam Meta_period Compose Compose Compose Compose U+0021 U+00a7 U+0323 U+002e Compose Compose Compose Compose Meta_exclam Meta_exclam Meta_exclam Meta_period Compose Compose Compose Compose U+0021 U+00a7 U+0323 U+002e Compose Compose Compose Compose Meta_exclam Meta_exclam Meta_exclam Meta_period Compose Compose Compose Compose U+0021 U+00a7 U+0323 U+002e Compose Compose Compose Compose Meta_exclam Meta_exclam Meta_exclam Meta_period Compose Compose Compose Compose U+0021 U+00a7 U+0323 U+002e Compose Compose Compose Compose Meta_exclam Meta_exclam Meta_exclam Meta_period Compose Compose Compose Compose U+0021 U+00a7 U+0323 U+002e Compose Compose Compose Compose Meta_exclam Meta_exclam Meta_exclam Meta_period Compose Compose Compose Compose U+0021 U+00a7 U+0323 U+002e Compose Compose Compose Compose Meta_exclam Meta_exclam Meta_exclam Meta_period Compose Compose Compose Compose U+0021 U+00a7 U+0323 U+002e Compose Compose Compose Compose Meta_exclam Meta_exclam Meta_exclam Meta_period Compose Compose Compose Compose +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period +keycode 86 = U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/keymaps/frdvbepo b/projects/grub/configs/keymaps/frdvbepo new file mode 100644 index 00000000..ac8cb76c --- /dev/null +++ b/projects/grub/configs/keymaps/frdvbepo @@ -0,0 +1,142 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0022 U+0031 U+2014 U+201e U+0022 U+0031 U+2014 U+201e Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one U+0022 U+0031 U+2014 U+201e U+0022 U+0031 U+2014 U+201e Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one U+0022 U+0031 U+2014 U+201e U+0022 U+0031 U+2014 U+201e Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one U+0022 U+0031 U+2014 U+201e U+0022 U+0031 U+2014 U+201e Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one U+0022 U+0031 U+2014 U+201e U+0022 U+0031 U+2014 U+201e Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one U+0022 U+0031 U+2014 U+201e U+0022 U+0031 U+2014 U+201e Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one U+0022 U+0031 U+2014 U+201e U+0022 U+0031 U+2014 U+201e Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one U+0022 U+0031 U+2014 U+201e U+0022 U+0031 U+2014 U+201e Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one Meta_quotedbl Meta_one +keycode 3 = U+00ab U+0032 U+003c U+201c U+00ab U+0032 U+003c U+201c Meta_two Meta_two Meta_less Meta_less Meta_two Meta_two Meta_less Meta_less U+00ab U+0032 U+003c U+201c U+00ab U+0032 U+003c U+201c Meta_two Meta_two Meta_less Meta_less Meta_two Meta_two Meta_less Meta_less U+00ab U+0032 U+003c U+201c U+00ab U+0032 U+003c U+201c Meta_two Meta_two Meta_less Meta_less Meta_two Meta_two Meta_less Meta_less U+00ab U+0032 U+003c U+201c U+00ab U+0032 U+003c U+201c Meta_two Meta_two Meta_less Meta_less Meta_two Meta_two Meta_less Meta_less U+00ab U+0032 U+003c U+201c U+00ab U+0032 U+003c U+201c Meta_two Meta_two Meta_less Meta_less Meta_two Meta_two Meta_less Meta_less U+00ab U+0032 U+003c U+201c U+00ab U+0032 U+003c U+201c Meta_two Meta_two Meta_less Meta_less Meta_two Meta_two Meta_less Meta_less U+00ab U+0032 U+003c U+201c U+00ab U+0032 U+003c U+201c Meta_two Meta_two Meta_less Meta_less Meta_two Meta_two Meta_less Meta_less U+00ab U+0032 U+003c U+201c U+00ab U+0032 U+003c U+201c Meta_two Meta_two Meta_less Meta_less Meta_two Meta_two Meta_less Meta_less +keycode 4 = U+00bb U+0033 U+003e U+201d U+00bb U+0033 U+003e U+201d Meta_three Meta_three Meta_greater Meta_greater Meta_three Meta_three Meta_greater Meta_greater U+00bb U+0033 U+003e U+201d U+00bb U+0033 U+003e U+201d Meta_three Meta_three Meta_greater Meta_greater Meta_three Meta_three Meta_greater Meta_greater U+00bb U+0033 U+003e U+201d U+00bb U+0033 U+003e U+201d Meta_three Meta_three Meta_greater Meta_greater Meta_three Meta_three Meta_greater Meta_greater U+00bb U+0033 U+003e U+201d U+00bb U+0033 U+003e U+201d Meta_three Meta_three Meta_greater Meta_greater Meta_three Meta_three Meta_greater Meta_greater U+00bb U+0033 U+003e U+201d U+00bb U+0033 U+003e U+201d Meta_three Meta_three Meta_greater Meta_greater Meta_three Meta_three Meta_greater Meta_greater U+00bb U+0033 U+003e U+201d U+00bb U+0033 U+003e U+201d Meta_three Meta_three Meta_greater Meta_greater Meta_three Meta_three Meta_greater Meta_greater U+00bb U+0033 U+003e U+201d U+00bb U+0033 U+003e U+201d Meta_three Meta_three Meta_greater Meta_greater Meta_three Meta_three Meta_greater Meta_greater U+00bb U+0033 U+003e U+201d U+00bb U+0033 U+003e U+201d Meta_three Meta_three Meta_greater Meta_greater Meta_three Meta_three Meta_greater Meta_greater +keycode 5 = U+0028 U+0034 U+005b U+2264 Escape U+0034 Escape Escape Meta_parenleft Meta_four Meta_bracketleft Meta_bracketleft Meta_Escape Meta_four Meta_Escape Meta_Escape U+0028 U+0034 U+005b U+2264 Escape U+0034 Escape Escape Meta_parenleft Meta_four Meta_bracketleft Meta_bracketleft Meta_Escape Meta_four Meta_Escape Meta_Escape U+0028 U+0034 U+005b U+2264 Escape U+0034 Escape Escape Meta_parenleft Meta_four Meta_bracketleft Meta_bracketleft Meta_Escape Meta_four Meta_Escape Meta_Escape U+0028 U+0034 U+005b U+2264 Escape U+0034 Escape Escape Meta_parenleft Meta_four Meta_bracketleft Meta_bracketleft Meta_Escape Meta_four Meta_Escape Meta_Escape U+0028 U+0034 U+005b U+2264 Escape U+0034 Escape Escape Meta_parenleft Meta_four Meta_bracketleft Meta_bracketleft Meta_Escape Meta_four Meta_Escape Meta_Escape U+0028 U+0034 U+005b U+2264 Escape U+0034 Escape Escape Meta_parenleft Meta_four Meta_bracketleft Meta_bracketleft Meta_Escape Meta_four Meta_Escape Meta_Escape U+0028 U+0034 U+005b U+2264 Escape U+0034 Escape Escape Meta_parenleft Meta_four Meta_bracketleft Meta_bracketleft Meta_Escape Meta_four Meta_Escape Meta_Escape U+0028 U+0034 U+005b U+2264 Escape U+0034 Escape Escape Meta_parenleft Meta_four Meta_bracketleft Meta_bracketleft Meta_Escape Meta_four Meta_Escape Meta_Escape +keycode 6 = U+0029 U+0035 U+005d U+2265 Control_bracketright U+0035 Control_bracketright Control_bracketright Meta_parenright Meta_five Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_five Meta_Control_bracketright Meta_Control_bracketright U+0029 U+0035 U+005d U+2265 Control_bracketright U+0035 Control_bracketright Control_bracketright Meta_parenright Meta_five Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_five Meta_Control_bracketright Meta_Control_bracketright U+0029 U+0035 U+005d U+2265 Control_bracketright U+0035 Control_bracketright Control_bracketright Meta_parenright Meta_five Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_five Meta_Control_bracketright Meta_Control_bracketright U+0029 U+0035 U+005d U+2265 Control_bracketright U+0035 Control_bracketright Control_bracketright Meta_parenright Meta_five Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_five Meta_Control_bracketright Meta_Control_bracketright U+0029 U+0035 U+005d U+2265 Control_bracketright U+0035 Control_bracketright Control_bracketright Meta_parenright Meta_five Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_five Meta_Control_bracketright Meta_Control_bracketright U+0029 U+0035 U+005d U+2265 Control_bracketright U+0035 Control_bracketright Control_bracketright Meta_parenright Meta_five Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_five Meta_Control_bracketright Meta_Control_bracketright U+0029 U+0035 U+005d U+2265 Control_bracketright U+0035 Control_bracketright Control_bracketright Meta_parenright Meta_five Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_five Meta_Control_bracketright Meta_Control_bracketright U+0029 U+0035 U+005d U+2265 Control_bracketright U+0035 Control_bracketright Control_bracketright Meta_parenright Meta_five Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_five Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0040 U+0036 U+005e U+005e nul nul Control_asciicircum Control_asciicircum Meta_at Meta_six Meta_asciicircum Meta_asciicircum Meta_nul Meta_nul Meta_Control_asciicircum Meta_Control_asciicircum U+0040 U+0036 U+005e U+005e nul nul Control_asciicircum Control_asciicircum Meta_at Meta_six Meta_asciicircum Meta_asciicircum Meta_nul Meta_nul Meta_Control_asciicircum Meta_Control_asciicircum U+0040 U+0036 U+005e U+005e nul nul Control_asciicircum Control_asciicircum Meta_at Meta_six Meta_asciicircum Meta_asciicircum Meta_nul Meta_nul Meta_Control_asciicircum Meta_Control_asciicircum U+0040 U+0036 U+005e U+005e nul nul Control_asciicircum Control_asciicircum Meta_at Meta_six Meta_asciicircum Meta_asciicircum Meta_nul Meta_nul Meta_Control_asciicircum Meta_Control_asciicircum U+0040 U+0036 U+005e U+005e nul nul Control_asciicircum Control_asciicircum Meta_at Meta_six Meta_asciicircum Meta_asciicircum Meta_nul Meta_nul Meta_Control_asciicircum Meta_Control_asciicircum U+0040 U+0036 U+005e U+005e nul nul Control_asciicircum Control_asciicircum Meta_at Meta_six Meta_asciicircum Meta_asciicircum Meta_nul Meta_nul Meta_Control_asciicircum Meta_Control_asciicircum U+0040 U+0036 U+005e U+005e nul nul Control_asciicircum Control_asciicircum Meta_at Meta_six Meta_asciicircum Meta_asciicircum Meta_nul Meta_nul Meta_Control_asciicircum Meta_Control_asciicircum U+0040 U+0036 U+005e U+005e nul nul Control_asciicircum Control_asciicircum Meta_at Meta_six Meta_asciicircum Meta_asciicircum Meta_nul Meta_nul Meta_Control_asciicircum Meta_Control_asciicircum +keycode 8 = U+002b U+0037 U+00b1 U+00ac U+002b U+0037 U+00b1 U+00ac Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven U+002b U+0037 U+00b1 U+00ac U+002b U+0037 U+00b1 U+00ac Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven U+002b U+0037 U+00b1 U+00ac U+002b U+0037 U+00b1 U+00ac Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven U+002b U+0037 U+00b1 U+00ac U+002b U+0037 U+00b1 U+00ac Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven U+002b U+0037 U+00b1 U+00ac U+002b U+0037 U+00b1 U+00ac Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven U+002b U+0037 U+00b1 U+00ac U+002b U+0037 U+00b1 U+00ac Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven U+002b U+0037 U+00b1 U+00ac U+002b U+0037 U+00b1 U+00ac Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven U+002b U+0037 U+00b1 U+00ac U+002b U+0037 U+00b1 U+00ac Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven Meta_plus Meta_seven +keycode 9 = U+002d U+0038 U+2212 U+00bc U+002d U+0038 U+2212 U+00bc Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight U+002d U+0038 U+2212 U+00bc U+002d U+0038 U+2212 U+00bc Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight U+002d U+0038 U+2212 U+00bc U+002d U+0038 U+2212 U+00bc Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight U+002d U+0038 U+2212 U+00bc U+002d U+0038 U+2212 U+00bc Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight U+002d U+0038 U+2212 U+00bc U+002d U+0038 U+2212 U+00bc Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight U+002d U+0038 U+2212 U+00bc U+002d U+0038 U+2212 U+00bc Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight U+002d U+0038 U+2212 U+00bc U+002d U+0038 U+2212 U+00bc Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight U+002d U+0038 U+2212 U+00bc U+002d U+0038 U+2212 U+00bc Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight Meta_minus Meta_eight +keycode 10 = U+002f U+0039 U+00f7 U+00bd U+002f U+0039 U+00f7 U+00bd Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine U+002f U+0039 U+00f7 U+00bd U+002f U+0039 U+00f7 U+00bd Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine U+002f U+0039 U+00f7 U+00bd U+002f U+0039 U+00f7 U+00bd Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine U+002f U+0039 U+00f7 U+00bd U+002f U+0039 U+00f7 U+00bd Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine U+002f U+0039 U+00f7 U+00bd U+002f U+0039 U+00f7 U+00bd Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine U+002f U+0039 U+00f7 U+00bd U+002f U+0039 U+00f7 U+00bd Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine U+002f U+0039 U+00f7 U+00bd U+002f U+0039 U+00f7 U+00bd Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine U+002f U+0039 U+00f7 U+00bd U+002f U+0039 U+00f7 U+00bd Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine Meta_slash Meta_nine +keycode 11 = U+002a U+0030 U+00d7 U+00be U+002a U+0030 U+00d7 U+00be Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero U+002a U+0030 U+00d7 U+00be U+002a U+0030 U+00d7 U+00be Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero U+002a U+0030 U+00d7 U+00be U+002a U+0030 U+00d7 U+00be Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero U+002a U+0030 U+00d7 U+00be U+002a U+0030 U+00d7 U+00be Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero U+002a U+0030 U+00d7 U+00be U+002a U+0030 U+00d7 U+00be Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero U+002a U+0030 U+00d7 U+00be U+002a U+0030 U+00d7 U+00be Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero U+002a U+0030 U+00d7 U+00be U+002a U+0030 U+00d7 U+00be Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero U+002a U+0030 U+00d7 U+00be U+002a U+0030 U+00d7 U+00be Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero Meta_asterisk Meta_zero +keycode 12 = U+003d U+00b0 U+2260 U+2032 U+003d U+00b0 U+2260 U+2032 Meta_equal Meta_equal Meta_equal U+2032 Meta_equal Meta_equal Meta_equal U+2032 U+003d U+00b0 U+2260 U+2032 U+003d U+00b0 U+2260 U+2032 Meta_equal Meta_equal Meta_equal U+2032 Meta_equal Meta_equal Meta_equal U+2032 U+003d U+00b0 U+2260 U+2032 U+003d U+00b0 U+2260 U+2032 Meta_equal Meta_equal Meta_equal U+2032 Meta_equal Meta_equal Meta_equal U+2032 U+003d U+00b0 U+2260 U+2032 U+003d U+00b0 U+2260 U+2032 Meta_equal Meta_equal Meta_equal U+2032 Meta_equal Meta_equal Meta_equal U+2032 U+003d U+00b0 U+2260 U+2032 U+003d U+00b0 U+2260 U+2032 Meta_equal Meta_equal Meta_equal U+2032 Meta_equal Meta_equal Meta_equal U+2032 U+003d U+00b0 U+2260 U+2032 U+003d U+00b0 U+2260 U+2032 Meta_equal Meta_equal Meta_equal U+2032 Meta_equal Meta_equal Meta_equal U+2032 U+003d U+00b0 U+2260 U+2032 U+003d U+00b0 U+2260 U+2032 Meta_equal Meta_equal Meta_equal U+2032 Meta_equal Meta_equal Meta_equal U+2032 U+003d U+00b0 U+2260 U+2032 U+003d U+00b0 U+2260 U+2032 Meta_equal Meta_equal Meta_equal U+2032 Meta_equal Meta_equal Meta_equal U+2032 +keycode 13 = U+0025 U+0060 U+2030 U+2033 nul nul U+2030 nul Meta_percent Meta_grave Meta_percent Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0025 U+0060 U+2030 U+2033 nul nul U+2030 nul Meta_percent Meta_grave Meta_percent Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0025 U+0060 U+2030 U+2033 nul nul U+2030 nul Meta_percent Meta_grave Meta_percent Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0025 U+0060 U+2030 U+2033 nul nul U+2030 nul Meta_percent Meta_grave Meta_percent Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0025 U+0060 U+2030 U+2033 nul nul U+2030 nul Meta_percent Meta_grave Meta_percent Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0025 U+0060 U+2030 U+2033 nul nul U+2030 nul Meta_percent Meta_grave Meta_percent Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0025 U+0060 U+2030 U+2033 nul nul U+2030 nul Meta_percent Meta_grave Meta_percent Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0025 U+0060 U+2030 U+2033 nul nul U+2030 nul Meta_percent Meta_grave Meta_percent Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = +U+0062 +U+0042 U+007c U+00a6 Control_b Control_b Control_backslash Control_backslash Meta_b Meta_B Meta_bar Meta_bar Meta_Control_b Meta_Control_b Meta_Control_backslash Meta_Control_backslash +U+0062 +U+0042 U+007c U+00a6 Control_b Control_b Control_backslash Control_backslash Meta_b Meta_B Meta_bar Meta_bar Meta_Control_b Meta_Control_b Meta_Control_backslash Meta_Control_backslash +U+0062 +U+0042 U+007c U+00a6 Control_b Control_b Control_backslash Control_backslash Meta_b Meta_B Meta_bar Meta_bar Meta_Control_b Meta_Control_b Meta_Control_backslash Meta_Control_backslash +U+0062 +U+0042 U+007c U+00a6 Control_b Control_b Control_backslash Control_backslash Meta_b Meta_B Meta_bar Meta_bar Meta_Control_b Meta_Control_b Meta_Control_backslash Meta_Control_backslash +U+0042 +U+0062 U+007c U+00a6 Control_b Control_b Control_backslash Control_backslash Meta_b Meta_B Meta_bar Meta_bar Meta_Control_b Meta_Control_b Meta_Control_backslash Meta_Control_backslash +U+0042 +U+0062 U+007c U+00a6 Control_b Control_b Control_backslash Control_backslash Meta_b Meta_B Meta_bar Meta_bar Meta_Control_b Meta_Control_b Meta_Control_backslash Meta_Control_backslash +U+0042 +U+0062 U+007c U+00a6 Control_b Control_b Control_backslash Control_backslash Meta_b Meta_B Meta_bar Meta_bar Meta_Control_b Meta_Control_b Meta_Control_backslash Meta_Control_backslash +U+0042 +U+0062 U+007c U+00a6 Control_b Control_b Control_backslash Control_backslash Meta_b Meta_B Meta_bar Meta_bar Meta_Control_b Meta_Control_b Meta_Control_backslash Meta_Control_backslash +keycode 17 = +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00e9 +U+00c9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +U+00c9 +U+00e9 dead_acute dead_doubleacute +keycode 18 = +U+0070 +U+0050 U+0026 U+00a7 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_ampersand Meta_ampersand Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 U+0026 U+00a7 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_ampersand Meta_ampersand Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 U+0026 U+00a7 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_ampersand Meta_ampersand Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 U+0026 U+00a7 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_ampersand Meta_ampersand Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 U+0026 U+00a7 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_ampersand Meta_ampersand Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 U+0026 U+00a7 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_ampersand Meta_ampersand Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 U+0026 U+00a7 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_ampersand Meta_ampersand Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 U+0026 U+00a7 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_ampersand Meta_ampersand Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 19 = +U+006f +U+004f +U+0153 +U+0152 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+0153 +U+0152 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+0153 +U+0152 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+0153 +U+0152 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+0152 +U+0153 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+0152 +U+0153 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+0152 +U+0153 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+0152 +U+0153 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 20 = +U+00e8 +U+00c8 dead_grave U+0060 +U+00e8 nul nul nul +U+00e8 Meta_grave Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +U+00e8 +U+00c8 dead_grave U+0060 +U+00e8 nul nul nul +U+00e8 Meta_grave Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +U+00e8 +U+00c8 dead_grave U+0060 +U+00e8 nul nul nul +U+00e8 Meta_grave Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +U+00e8 +U+00c8 dead_grave U+0060 +U+00e8 nul nul nul +U+00e8 Meta_grave Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +U+00c8 +U+00e8 dead_grave U+0060 +U+00c8 nul nul nul +U+00c8 Meta_grave Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +U+00c8 +U+00e8 dead_grave U+0060 +U+00c8 nul nul nul +U+00c8 Meta_grave Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +U+00c8 +U+00e8 dead_grave U+0060 +U+00c8 nul nul nul +U+00c8 Meta_grave Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +U+00c8 +U+00e8 dead_grave U+0060 +U+00c8 nul nul nul +U+00c8 Meta_grave Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +keycode 21 = dead_circumflex U+0021 U+00a1 U+00a1 dead_circumflex U+0021 U+00a1 U+00a1 Meta_exclam Meta_exclam U+00a1 Meta_exclam Meta_exclam Meta_exclam U+00a1 Meta_exclam dead_circumflex U+0021 U+00a1 U+00a1 dead_circumflex U+0021 U+00a1 U+00a1 Meta_exclam Meta_exclam U+00a1 Meta_exclam Meta_exclam Meta_exclam U+00a1 Meta_exclam dead_circumflex U+0021 U+00a1 U+00a1 dead_circumflex U+0021 U+00a1 U+00a1 Meta_exclam Meta_exclam U+00a1 Meta_exclam Meta_exclam Meta_exclam U+00a1 Meta_exclam dead_circumflex U+0021 U+00a1 U+00a1 dead_circumflex U+0021 U+00a1 U+00a1 Meta_exclam Meta_exclam U+00a1 Meta_exclam Meta_exclam Meta_exclam U+00a1 Meta_exclam dead_circumflex U+0021 U+00a1 U+00a1 dead_circumflex U+0021 U+00a1 U+00a1 Meta_exclam Meta_exclam U+00a1 Meta_exclam Meta_exclam Meta_exclam U+00a1 Meta_exclam dead_circumflex U+0021 U+00a1 U+00a1 dead_circumflex U+0021 U+00a1 U+00a1 Meta_exclam Meta_exclam U+00a1 Meta_exclam Meta_exclam Meta_exclam U+00a1 Meta_exclam dead_circumflex U+0021 U+00a1 U+00a1 dead_circumflex U+0021 U+00a1 U+00a1 Meta_exclam Meta_exclam U+00a1 Meta_exclam Meta_exclam Meta_exclam U+00a1 Meta_exclam dead_circumflex U+0021 U+00a1 U+00a1 dead_circumflex U+0021 U+00a1 U+00a1 Meta_exclam Meta_exclam U+00a1 Meta_exclam Meta_exclam Meta_exclam U+00a1 Meta_exclam +keycode 22 = +U+0076 +U+0056 dead_caron dead_caron Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 dead_caron dead_caron Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 dead_caron dead_caron Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 dead_caron dead_caron Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 dead_caron dead_caron Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 dead_caron dead_caron Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 dead_caron dead_caron Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 dead_caron dead_caron Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 23 = +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 24 = +U+006c +U+004c U+002d U+002d Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_minus Meta_minus Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c U+002d U+002d Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_minus Meta_minus Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c U+002d U+002d Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_minus Meta_minus Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c U+002d U+002d Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_minus Meta_minus Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c U+002d U+002d Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_minus Meta_minus Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c U+002d U+002d Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_minus Meta_minus Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c U+002d U+002d Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_minus Meta_minus Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c U+002d U+002d Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_minus Meta_minus Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 25 = +U+006a +U+004a +U+0133 +U+0132 Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+0133 +U+0132 Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+0133 +U+0132 Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+0133 +U+0132 Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+0132 +U+0133 Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+0132 +U+0133 Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+0132 +U+0133 Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+0132 +U+0133 Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 26 = +U+007a +U+005a +U+0259 +U+018f Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+0259 +U+018f Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+0259 +U+018f Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+0259 +U+018f Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+018f +U+0259 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+018f +U+0259 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+018f +U+0259 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+018f +U+0259 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 27 = +U+0077 +U+0057 dead_breve dead_breve Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 dead_breve dead_breve Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 dead_breve dead_breve Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 dead_breve dead_breve Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 dead_breve dead_breve Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 dead_breve dead_breve Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 dead_breve dead_breve Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 dead_breve dead_breve Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+0075 +U+0055 +U+00f9 +U+00d9 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+00f9 +U+00d9 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+00f9 +U+00d9 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+00f9 +U+00d9 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+00d9 +U+00f9 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+00d9 +U+00f9 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+00d9 +U+00f9 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+00d9 +U+00f9 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 32 = +U+0069 +U+0049 dead_diaeresis U+002e Tab Tab Compose Compose Meta_i Meta_I Meta_period Meta_period Meta_Tab Meta_Tab Compose Compose +U+0069 +U+0049 dead_diaeresis U+002e Tab Tab Compose Compose Meta_i Meta_I Meta_period Meta_period Meta_Tab Meta_Tab Compose Compose +U+0069 +U+0049 dead_diaeresis U+002e Tab Tab Compose Compose Meta_i Meta_I Meta_period Meta_period Meta_Tab Meta_Tab Compose Compose +U+0069 +U+0049 dead_diaeresis U+002e Tab Tab Compose Compose Meta_i Meta_I Meta_period Meta_period Meta_Tab Meta_Tab Compose Compose +U+0049 +U+0069 dead_diaeresis U+002e Tab Tab Compose Compose Meta_i Meta_I Meta_period Meta_period Meta_Tab Meta_Tab Compose Compose +U+0049 +U+0069 dead_diaeresis U+002e Tab Tab Compose Compose Meta_i Meta_I Meta_period Meta_period Meta_Tab Meta_Tab Compose Compose +U+0049 +U+0069 dead_diaeresis U+002e Tab Tab Compose Compose Meta_i Meta_I Meta_period Meta_period Meta_Tab Meta_Tab Compose Compose +U+0049 +U+0069 dead_diaeresis U+002e Tab Tab Compose Compose Meta_i Meta_I Meta_period Meta_period Meta_Tab Meta_Tab Compose Compose +keycode 33 = +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+20ac Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 34 = U+002c U+003b U+2019 U+031b U+002c U+003b U+2019 U+031b Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon U+002c U+003b U+2019 U+031b U+002c U+003b U+2019 U+031b Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon U+002c U+003b U+2019 U+031b U+002c U+003b U+2019 U+031b Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon U+002c U+003b U+2019 U+031b U+002c U+003b U+2019 U+031b Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon U+002c U+003b U+2019 U+031b U+002c U+003b U+2019 U+031b Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon U+002c U+003b U+2019 U+031b U+002c U+003b U+2019 U+031b Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon U+002c U+003b U+2019 U+031b U+002c U+003b U+2019 U+031b Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon U+002c U+003b U+2019 U+031b U+002c U+003b U+2019 U+031b Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon Meta_comma Meta_semicolon +keycode 35 = +U+0063 +U+0043 U+00a9 +U+017f Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a9 +U+017f Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a9 +U+017f Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a9 +U+017f Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a9 +U+0053 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a9 +U+0053 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a9 +U+0053 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a9 +U+0053 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 36 = +U+0074 +U+0054 +U+00fe +U+00de Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+00fe +U+00de Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+00fe +U+00de Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+00fe +U+00de Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+00de +U+00fe Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+00de +U+00fe Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+00de +U+00fe Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+00de +U+00fe Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 37 = +U+0073 +U+0053 +U+00df +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df +U+1e9e Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+00df Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+00df Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+00df Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+00df Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 38 = +U+0072 +U+0052 U+00ae U+2122 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00ae U+2122 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00ae U+2122 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00ae U+2122 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00ae U+2122 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00ae U+2122 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00ae U+2122 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00ae U+2122 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 39 = +U+006e +U+004e dead_tilde dead_tilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e dead_tilde dead_tilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e dead_tilde dead_tilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e dead_tilde dead_tilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e dead_tilde dead_tilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e dead_tilde dead_tilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e dead_tilde dead_tilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e dead_tilde dead_tilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 40 = +U+006d +U+004d U+005f +U+00ba Return Return Control_underscore Control_underscore Meta_m Meta_M Meta_underscore Meta_underscore Meta_Control_m Meta_Control_m Meta_Control_underscore Meta_Control_underscore +U+006d +U+004d U+005f +U+00ba Return Return Control_underscore Control_underscore Meta_m Meta_M Meta_underscore Meta_underscore Meta_Control_m Meta_Control_m Meta_Control_underscore Meta_Control_underscore +U+006d +U+004d U+005f +U+00ba Return Return Control_underscore Control_underscore Meta_m Meta_M Meta_underscore Meta_underscore Meta_Control_m Meta_Control_m Meta_Control_underscore Meta_Control_underscore +U+006d +U+004d U+005f +U+00ba Return Return Control_underscore Control_underscore Meta_m Meta_M Meta_underscore Meta_underscore Meta_Control_m Meta_Control_m Meta_Control_underscore Meta_Control_underscore +U+004d +U+006d U+005f +U+00ba Return Return Control_underscore Control_underscore Meta_m Meta_M Meta_underscore Meta_underscore Meta_Control_m Meta_Control_m Meta_Control_underscore Meta_Control_underscore +U+004d +U+006d U+005f +U+00ba Return Return Control_underscore Control_underscore Meta_m Meta_M Meta_underscore Meta_underscore Meta_Control_m Meta_Control_m Meta_Control_underscore Meta_Control_underscore +U+004d +U+006d U+005f +U+00ba Return Return Control_underscore Control_underscore Meta_m Meta_M Meta_underscore Meta_underscore Meta_Control_m Meta_Control_m Meta_Control_underscore Meta_Control_underscore +U+004d +U+006d U+005f +U+00ba Return Return Control_underscore Control_underscore Meta_m Meta_M Meta_underscore Meta_underscore Meta_Control_m Meta_Control_m Meta_Control_underscore Meta_Control_underscore +keycode 41 = U+0024 U+0023 U+2013 U+00b6 U+0024 U+0023 U+2013 U+00b6 Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign U+0024 U+0023 U+2013 U+00b6 U+0024 U+0023 U+2013 U+00b6 Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign U+0024 U+0023 U+2013 U+00b6 U+0024 U+0023 U+2013 U+00b6 Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign U+0024 U+0023 U+2013 U+00b6 U+0024 U+0023 U+2013 U+00b6 Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign U+0024 U+0023 U+2013 U+00b6 U+0024 U+0023 U+2013 U+00b6 Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign U+0024 U+0023 U+2013 U+00b6 U+0024 U+0023 U+2013 U+00b6 Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign U+0024 U+0023 U+2013 U+00b6 U+0024 U+0023 U+2013 U+00b6 Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign U+0024 U+0023 U+2013 U+00b6 U+0024 U+0023 U+2013 U+00b6 Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign Meta_dollar Meta_numbersign +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00e7 +U+00c7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +U+00c7 +U+00e7 dead_cedilla dead_cedilla +keycode 44 = +U+00e0 +U+00c0 U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00e0 +U+00c0 U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00e0 +U+00c0 U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00e0 +U+00c0 U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00c0 +U+00e0 U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00c0 +U+00e0 U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00c0 +U+00e0 U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +U+00c0 +U+00e0 U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 45 = +U+0079 +U+0059 U+007b U+2018 Control_y Control_y Escape Escape Meta_y Meta_Y Meta_braceleft Meta_braceleft Meta_Control_y Meta_Control_y Meta_Escape Meta_Escape +U+0079 +U+0059 U+007b U+2018 Control_y Control_y Escape Escape Meta_y Meta_Y Meta_braceleft Meta_braceleft Meta_Control_y Meta_Control_y Meta_Escape Meta_Escape +U+0079 +U+0059 U+007b U+2018 Control_y Control_y Escape Escape Meta_y Meta_Y Meta_braceleft Meta_braceleft Meta_Control_y Meta_Control_y Meta_Escape Meta_Escape +U+0079 +U+0059 U+007b U+2018 Control_y Control_y Escape Escape Meta_y Meta_Y Meta_braceleft Meta_braceleft Meta_Control_y Meta_Control_y Meta_Escape Meta_Escape +U+0059 +U+0079 U+007b U+2018 Control_y Control_y Escape Escape Meta_y Meta_Y Meta_braceleft Meta_braceleft Meta_Control_y Meta_Control_y Meta_Escape Meta_Escape +U+0059 +U+0079 U+007b U+2018 Control_y Control_y Escape Escape Meta_y Meta_Y Meta_braceleft Meta_braceleft Meta_Control_y Meta_Control_y Meta_Escape Meta_Escape +U+0059 +U+0079 U+007b U+2018 Control_y Control_y Escape Escape Meta_y Meta_Y Meta_braceleft Meta_braceleft Meta_Control_y Meta_Control_y Meta_Escape Meta_Escape +U+0059 +U+0079 U+007b U+2018 Control_y Control_y Escape Escape Meta_y Meta_Y Meta_braceleft Meta_braceleft Meta_Control_y Meta_Control_y Meta_Escape Meta_Escape +keycode 46 = +U+0078 +U+0058 U+007d U+2019 Control_x Control_x Control_bracketright Control_bracketright Meta_x Meta_X Meta_braceright Meta_braceright Meta_Control_x Meta_Control_x Meta_Control_bracketright Meta_Control_bracketright +U+0078 +U+0058 U+007d U+2019 Control_x Control_x Control_bracketright Control_bracketright Meta_x Meta_X Meta_braceright Meta_braceright Meta_Control_x Meta_Control_x Meta_Control_bracketright Meta_Control_bracketright +U+0078 +U+0058 U+007d U+2019 Control_x Control_x Control_bracketright Control_bracketright Meta_x Meta_X Meta_braceright Meta_braceright Meta_Control_x Meta_Control_x Meta_Control_bracketright Meta_Control_bracketright +U+0078 +U+0058 U+007d U+2019 Control_x Control_x Control_bracketright Control_bracketright Meta_x Meta_X Meta_braceright Meta_braceright Meta_Control_x Meta_Control_x Meta_Control_bracketright Meta_Control_bracketright +U+0058 +U+0078 U+007d U+2019 Control_x Control_x Control_bracketright Control_bracketright Meta_x Meta_X Meta_braceright Meta_braceright Meta_Control_x Meta_Control_x Meta_Control_bracketright Meta_Control_bracketright +U+0058 +U+0078 U+007d U+2019 Control_x Control_x Control_bracketright Control_bracketright Meta_x Meta_X Meta_braceright Meta_braceright Meta_Control_x Meta_Control_x Meta_Control_bracketright Meta_Control_bracketright +U+0058 +U+0078 U+007d U+2019 Control_x Control_x Control_bracketright Control_bracketright Meta_x Meta_X Meta_braceright Meta_braceright Meta_Control_x Meta_Control_x Meta_Control_bracketright Meta_Control_bracketright +U+0058 +U+0078 U+007d U+2019 Control_x Control_x Control_bracketright Control_bracketright Meta_x Meta_X Meta_braceright Meta_braceright Meta_Control_x Meta_Control_x Meta_Control_bracketright Meta_Control_bracketright +keycode 47 = U+002e U+003a U+2026 U+00b7 Compose Compose Compose U+00b7 Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00b7 Compose Compose Compose U+00b7 Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00b7 Compose Compose Compose U+00b7 Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00b7 Compose Compose Compose U+00b7 Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00b7 Compose Compose Compose U+00b7 Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00b7 Compose Compose Compose U+00b7 Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00b7 Compose Compose Compose U+00b7 Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose U+002e U+003a U+2026 U+00b7 Compose Compose Compose U+00b7 Meta_period Meta_colon Meta_period Meta_colon Compose Compose Compose Compose +keycode 48 = +U+006b +U+004b U+007e U+007e Control_k Control_k Control_asciicircum Control_asciicircum Meta_k Meta_K Meta_asciitilde Meta_asciitilde Meta_Control_k Meta_Control_k Meta_Control_asciicircum Meta_Control_asciicircum +U+006b +U+004b U+007e U+007e Control_k Control_k Control_asciicircum Control_asciicircum Meta_k Meta_K Meta_asciitilde Meta_asciitilde Meta_Control_k Meta_Control_k Meta_Control_asciicircum Meta_Control_asciicircum +U+006b +U+004b U+007e U+007e Control_k Control_k Control_asciicircum Control_asciicircum Meta_k Meta_K Meta_asciitilde Meta_asciitilde Meta_Control_k Meta_Control_k Meta_Control_asciicircum Meta_Control_asciicircum +U+006b +U+004b U+007e U+007e Control_k Control_k Control_asciicircum Control_asciicircum Meta_k Meta_K Meta_asciitilde Meta_asciitilde Meta_Control_k Meta_Control_k Meta_Control_asciicircum Meta_Control_asciicircum +U+004b +U+006b U+007e U+007e Control_k Control_k Control_asciicircum Control_asciicircum Meta_k Meta_K Meta_asciitilde Meta_asciitilde Meta_Control_k Meta_Control_k Meta_Control_asciicircum Meta_Control_asciicircum +U+004b +U+006b U+007e U+007e Control_k Control_k Control_asciicircum Control_asciicircum Meta_k Meta_K Meta_asciitilde Meta_asciitilde Meta_Control_k Meta_Control_k Meta_Control_asciicircum Meta_Control_asciicircum +U+004b +U+006b U+007e U+007e Control_k Control_k Control_asciicircum Control_asciicircum Meta_k Meta_K Meta_asciitilde Meta_asciitilde Meta_Control_k Meta_Control_k Meta_Control_asciicircum Meta_Control_asciicircum +U+004b +U+006b U+007e U+007e Control_k Control_k Control_asciicircum Control_asciicircum Meta_k Meta_K Meta_asciitilde Meta_asciitilde Meta_Control_k Meta_Control_k Meta_Control_asciicircum Meta_Control_asciicircum +keycode 49 = U+0027 U+003f U+00bf U+0309 Delete Delete U+00bf Delete Meta_apostrophe Meta_question Meta_apostrophe Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0027 U+003f U+00bf U+0309 Delete Delete U+00bf Delete Meta_apostrophe Meta_question Meta_apostrophe Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0027 U+003f U+00bf U+0309 Delete Delete U+00bf Delete Meta_apostrophe Meta_question Meta_apostrophe Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0027 U+003f U+00bf U+0309 Delete Delete U+00bf Delete Meta_apostrophe Meta_question Meta_apostrophe Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0027 U+003f U+00bf U+0309 Delete Delete U+00bf Delete Meta_apostrophe Meta_question Meta_apostrophe Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0027 U+003f U+00bf U+0309 Delete Delete U+00bf Delete Meta_apostrophe Meta_question Meta_apostrophe Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0027 U+003f U+00bf U+0309 Delete Delete U+00bf Delete Meta_apostrophe Meta_question Meta_apostrophe Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0027 U+003f U+00bf U+0309 Delete Delete U+00bf Delete Meta_apostrophe Meta_question Meta_apostrophe Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete +keycode 50 = +U+0071 +U+0051 U+00b0 U+0323 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 U+00b0 U+0323 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 U+00b0 U+0323 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 U+00b0 U+0323 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 U+00b0 U+0323 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 U+00b0 U+0323 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 U+00b0 U+0323 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 U+00b0 U+0323 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +keycode 51 = +U+0067 +U+0047 +U+0067 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 52 = +U+0068 +U+0048 U+2020 U+2021 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 U+2020 U+2021 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 U+2020 U+2021 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 U+2020 U+2021 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 U+2020 U+2021 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 U+2020 U+2021 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 U+2020 U+2021 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 U+2020 U+2021 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 53 = +U+0066 +U+0046 dead_ogonek +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 dead_ogonek +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 dead_ogonek +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 dead_ogonek +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 dead_ogonek +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 dead_ogonek +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 dead_ogonek +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 dead_ogonek +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C U+00d7 KP_Multiply KP_Multiply U+00d7 U+00d7 KP_Multiply Hex_C U+00d7 U+00d7 U+22c5 U+22c5 U+22c5 U+22c5 KP_Multiply KP_Multiply Hex_C U+00d7 KP_Multiply KP_Multiply U+00d7 U+00d7 KP_Multiply Hex_C U+00d7 U+00d7 U+22c5 U+22c5 U+22c5 U+22c5 KP_Multiply KP_Multiply Hex_C U+00d7 KP_Multiply KP_Multiply U+00d7 U+00d7 KP_Multiply Hex_C U+00d7 U+00d7 U+22c5 U+22c5 U+22c5 U+22c5 KP_Multiply KP_Multiply Hex_C U+00d7 KP_Multiply KP_Multiply U+00d7 U+00d7 KP_Multiply Hex_C U+00d7 U+00d7 U+22c5 U+22c5 U+22c5 U+22c5 KP_Multiply KP_Multiply Hex_C U+00d7 KP_Multiply KP_Multiply U+00d7 U+00d7 KP_Multiply Hex_C U+00d7 U+00d7 U+22c5 U+22c5 U+22c5 U+22c5 KP_Multiply KP_Multiply Hex_C U+00d7 KP_Multiply KP_Multiply U+00d7 U+00d7 KP_Multiply Hex_C U+00d7 U+00d7 U+22c5 U+22c5 U+22c5 U+22c5 KP_Multiply KP_Multiply Hex_C U+00d7 KP_Multiply KP_Multiply U+00d7 U+00d7 KP_Multiply Hex_C U+00d7 U+00d7 U+22c5 U+22c5 U+22c5 U+22c5 KP_Multiply KP_Multiply Hex_C U+00d7 KP_Multiply KP_Multiply U+00d7 U+00d7 KP_Multiply Hex_C U+00d7 U+00d7 U+22c5 U+22c5 U+22c5 U+22c5 +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+00a0 U+005f U+202f nul nul Control_underscore Control_underscore Meta_space Meta_space Meta_underscore Meta_underscore Meta_nul Meta_nul Meta_Control_underscore Meta_Control_underscore U+0020 U+00a0 U+005f U+202f nul nul Control_underscore Control_underscore Meta_space Meta_space Meta_underscore Meta_underscore Meta_nul Meta_nul Meta_Control_underscore Meta_Control_underscore U+0020 U+00a0 U+005f U+202f nul nul Control_underscore Control_underscore Meta_space Meta_space Meta_underscore Meta_underscore Meta_nul Meta_nul Meta_Control_underscore Meta_Control_underscore U+0020 U+00a0 U+005f U+202f nul nul Control_underscore Control_underscore Meta_space Meta_space Meta_underscore Meta_underscore Meta_nul Meta_nul Meta_Control_underscore Meta_Control_underscore U+0020 U+00a0 U+005f U+202f nul nul Control_underscore Control_underscore Meta_space Meta_space Meta_underscore Meta_underscore Meta_nul Meta_nul Meta_Control_underscore Meta_Control_underscore U+0020 U+00a0 U+005f U+202f nul nul Control_underscore Control_underscore Meta_space Meta_space Meta_underscore Meta_underscore Meta_nul Meta_nul Meta_Control_underscore Meta_Control_underscore U+0020 U+00a0 U+005f U+202f nul nul Control_underscore Control_underscore Meta_space Meta_space Meta_underscore Meta_underscore Meta_nul Meta_nul Meta_Control_underscore Meta_Control_underscore U+0020 U+00a0 U+005f U+202f nul nul Control_underscore Control_underscore Meta_space Meta_space Meta_underscore Meta_underscore Meta_nul Meta_nul Meta_Control_underscore Meta_Control_underscore +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 U+21d6 KP_7 KP_7 U+2196 U+21d6 Ascii_7 Hex_7 U+2196 U+21d6 KP_7 KP_7 U+2196 U+21d6 KP_7 KP_7 Hex_7 U+21d6 KP_7 KP_7 U+2196 U+21d6 Ascii_7 Hex_7 U+2196 U+21d6 KP_7 KP_7 U+2196 U+21d6 KP_7 KP_7 Hex_7 U+21d6 KP_7 KP_7 U+2196 U+21d6 Ascii_7 Hex_7 U+2196 U+21d6 KP_7 KP_7 U+2196 U+21d6 KP_7 KP_7 Hex_7 U+21d6 KP_7 KP_7 U+2196 U+21d6 Ascii_7 Hex_7 U+2196 U+21d6 KP_7 KP_7 U+2196 U+21d6 KP_7 KP_7 Hex_7 U+21d6 KP_7 KP_7 U+2196 U+21d6 Ascii_7 Hex_7 U+2196 U+21d6 KP_7 KP_7 U+2196 U+21d6 KP_7 KP_7 Hex_7 U+21d6 KP_7 KP_7 U+2196 U+21d6 Ascii_7 Hex_7 U+2196 U+21d6 KP_7 KP_7 U+2196 U+21d6 KP_7 KP_7 Hex_7 U+21d6 KP_7 KP_7 U+2196 U+21d6 Ascii_7 Hex_7 U+2196 U+21d6 KP_7 KP_7 U+2196 U+21d6 KP_7 KP_7 Hex_7 U+21d6 KP_7 KP_7 U+2196 U+21d6 Ascii_7 Hex_7 U+2196 U+21d6 KP_7 KP_7 U+2196 U+21d6 +keycode 72 = KP_8 KP_8 Hex_8 U+21d1 KP_8 KP_8 U+2191 U+21d1 Ascii_8 Hex_8 U+2191 U+21d1 KP_8 KP_8 U+2191 U+21d1 KP_8 KP_8 Hex_8 U+21d1 KP_8 KP_8 U+2191 U+21d1 Ascii_8 Hex_8 U+2191 U+21d1 KP_8 KP_8 U+2191 U+21d1 KP_8 KP_8 Hex_8 U+21d1 KP_8 KP_8 U+2191 U+21d1 Ascii_8 Hex_8 U+2191 U+21d1 KP_8 KP_8 U+2191 U+21d1 KP_8 KP_8 Hex_8 U+21d1 KP_8 KP_8 U+2191 U+21d1 Ascii_8 Hex_8 U+2191 U+21d1 KP_8 KP_8 U+2191 U+21d1 KP_8 KP_8 Hex_8 U+21d1 KP_8 KP_8 U+2191 U+21d1 Ascii_8 Hex_8 U+2191 U+21d1 KP_8 KP_8 U+2191 U+21d1 KP_8 KP_8 Hex_8 U+21d1 KP_8 KP_8 U+2191 U+21d1 Ascii_8 Hex_8 U+2191 U+21d1 KP_8 KP_8 U+2191 U+21d1 KP_8 KP_8 Hex_8 U+21d1 KP_8 KP_8 U+2191 U+21d1 Ascii_8 Hex_8 U+2191 U+21d1 KP_8 KP_8 U+2191 U+21d1 KP_8 KP_8 Hex_8 U+21d1 KP_8 KP_8 U+2191 U+21d1 Ascii_8 Hex_8 U+2191 U+21d1 KP_8 KP_8 U+2191 U+21d1 +keycode 73 = KP_9 KP_9 Hex_9 U+21d7 KP_9 KP_9 U+2197 U+21d7 Ascii_9 Hex_9 U+2197 U+21d7 KP_9 KP_9 U+2197 U+21d7 KP_9 KP_9 Hex_9 U+21d7 KP_9 KP_9 U+2197 U+21d7 Ascii_9 Hex_9 U+2197 U+21d7 KP_9 KP_9 U+2197 U+21d7 KP_9 KP_9 Hex_9 U+21d7 KP_9 KP_9 U+2197 U+21d7 Ascii_9 Hex_9 U+2197 U+21d7 KP_9 KP_9 U+2197 U+21d7 KP_9 KP_9 Hex_9 U+21d7 KP_9 KP_9 U+2197 U+21d7 Ascii_9 Hex_9 U+2197 U+21d7 KP_9 KP_9 U+2197 U+21d7 KP_9 KP_9 Hex_9 U+21d7 KP_9 KP_9 U+2197 U+21d7 Ascii_9 Hex_9 U+2197 U+21d7 KP_9 KP_9 U+2197 U+21d7 KP_9 KP_9 Hex_9 U+21d7 KP_9 KP_9 U+2197 U+21d7 Ascii_9 Hex_9 U+2197 U+21d7 KP_9 KP_9 U+2197 U+21d7 KP_9 KP_9 Hex_9 U+21d7 KP_9 KP_9 U+2197 U+21d7 Ascii_9 Hex_9 U+2197 U+21d7 KP_9 KP_9 U+2197 U+21d7 KP_9 KP_9 Hex_9 U+21d7 KP_9 KP_9 U+2197 U+21d7 Ascii_9 Hex_9 U+2197 U+21d7 KP_9 KP_9 U+2197 U+21d7 +keycode 74 = KP_Subtract KP_Subtract Hex_D U+2212 KP_Subtract KP_Subtract U+2212 U+2212 KP_Subtract Hex_D U+2212 U+2212 U+2212 U+2212 U+2212 U+2212 KP_Subtract KP_Subtract Hex_D U+2212 KP_Subtract KP_Subtract U+2212 U+2212 KP_Subtract Hex_D U+2212 U+2212 U+2212 U+2212 U+2212 U+2212 KP_Subtract KP_Subtract Hex_D U+2212 KP_Subtract KP_Subtract U+2212 U+2212 KP_Subtract Hex_D U+2212 U+2212 U+2212 U+2212 U+2212 U+2212 KP_Subtract KP_Subtract Hex_D U+2212 KP_Subtract KP_Subtract U+2212 U+2212 KP_Subtract Hex_D U+2212 U+2212 U+2212 U+2212 U+2212 U+2212 KP_Subtract KP_Subtract Hex_D U+2212 KP_Subtract KP_Subtract U+2212 U+2212 KP_Subtract Hex_D U+2212 U+2212 U+2212 U+2212 U+2212 U+2212 KP_Subtract KP_Subtract Hex_D U+2212 KP_Subtract KP_Subtract U+2212 U+2212 KP_Subtract Hex_D U+2212 U+2212 U+2212 U+2212 U+2212 U+2212 KP_Subtract KP_Subtract Hex_D U+2212 KP_Subtract KP_Subtract U+2212 U+2212 KP_Subtract Hex_D U+2212 U+2212 U+2212 U+2212 U+2212 U+2212 KP_Subtract KP_Subtract Hex_D U+2212 KP_Subtract KP_Subtract U+2212 U+2212 KP_Subtract Hex_D U+2212 U+2212 U+2212 U+2212 U+2212 U+2212 +keycode 75 = KP_4 KP_4 Hex_4 U+21d0 KP_4 KP_4 U+2190 U+21d0 Ascii_4 Hex_4 U+2190 U+21d0 KP_4 KP_4 U+2190 U+21d0 KP_4 KP_4 Hex_4 U+21d0 KP_4 KP_4 U+2190 U+21d0 Ascii_4 Hex_4 U+2190 U+21d0 KP_4 KP_4 U+2190 U+21d0 KP_4 KP_4 Hex_4 U+21d0 KP_4 KP_4 U+2190 U+21d0 Ascii_4 Hex_4 U+2190 U+21d0 KP_4 KP_4 U+2190 U+21d0 KP_4 KP_4 Hex_4 U+21d0 KP_4 KP_4 U+2190 U+21d0 Ascii_4 Hex_4 U+2190 U+21d0 KP_4 KP_4 U+2190 U+21d0 KP_4 KP_4 Hex_4 U+21d0 KP_4 KP_4 U+2190 U+21d0 Ascii_4 Hex_4 U+2190 U+21d0 KP_4 KP_4 U+2190 U+21d0 KP_4 KP_4 Hex_4 U+21d0 KP_4 KP_4 U+2190 U+21d0 Ascii_4 Hex_4 U+2190 U+21d0 KP_4 KP_4 U+2190 U+21d0 KP_4 KP_4 Hex_4 U+21d0 KP_4 KP_4 U+2190 U+21d0 Ascii_4 Hex_4 U+2190 U+21d0 KP_4 KP_4 U+2190 U+21d0 KP_4 KP_4 Hex_4 U+21d0 KP_4 KP_4 U+2190 U+21d0 Ascii_4 Hex_4 U+2190 U+21d0 KP_4 KP_4 U+2190 U+21d0 +keycode 76 = KP_5 KP_5 Hex_5 U+21d4 KP_5 KP_5 U+2194 U+21d4 Ascii_5 Hex_5 U+2194 U+21d4 KP_5 KP_5 U+2194 U+21d4 KP_5 KP_5 Hex_5 U+21d4 KP_5 KP_5 U+2194 U+21d4 Ascii_5 Hex_5 U+2194 U+21d4 KP_5 KP_5 U+2194 U+21d4 KP_5 KP_5 Hex_5 U+21d4 KP_5 KP_5 U+2194 U+21d4 Ascii_5 Hex_5 U+2194 U+21d4 KP_5 KP_5 U+2194 U+21d4 KP_5 KP_5 Hex_5 U+21d4 KP_5 KP_5 U+2194 U+21d4 Ascii_5 Hex_5 U+2194 U+21d4 KP_5 KP_5 U+2194 U+21d4 KP_5 KP_5 Hex_5 U+21d4 KP_5 KP_5 U+2194 U+21d4 Ascii_5 Hex_5 U+2194 U+21d4 KP_5 KP_5 U+2194 U+21d4 KP_5 KP_5 Hex_5 U+21d4 KP_5 KP_5 U+2194 U+21d4 Ascii_5 Hex_5 U+2194 U+21d4 KP_5 KP_5 U+2194 U+21d4 KP_5 KP_5 Hex_5 U+21d4 KP_5 KP_5 U+2194 U+21d4 Ascii_5 Hex_5 U+2194 U+21d4 KP_5 KP_5 U+2194 U+21d4 KP_5 KP_5 Hex_5 U+21d4 KP_5 KP_5 U+2194 U+21d4 Ascii_5 Hex_5 U+2194 U+21d4 KP_5 KP_5 U+2194 U+21d4 +keycode 77 = KP_6 KP_6 Hex_6 U+21d2 KP_6 KP_6 U+2192 U+21d2 Ascii_6 Hex_6 U+2192 U+21d2 KP_6 KP_6 U+2192 U+21d2 KP_6 KP_6 Hex_6 U+21d2 KP_6 KP_6 U+2192 U+21d2 Ascii_6 Hex_6 U+2192 U+21d2 KP_6 KP_6 U+2192 U+21d2 KP_6 KP_6 Hex_6 U+21d2 KP_6 KP_6 U+2192 U+21d2 Ascii_6 Hex_6 U+2192 U+21d2 KP_6 KP_6 U+2192 U+21d2 KP_6 KP_6 Hex_6 U+21d2 KP_6 KP_6 U+2192 U+21d2 Ascii_6 Hex_6 U+2192 U+21d2 KP_6 KP_6 U+2192 U+21d2 KP_6 KP_6 Hex_6 U+21d2 KP_6 KP_6 U+2192 U+21d2 Ascii_6 Hex_6 U+2192 U+21d2 KP_6 KP_6 U+2192 U+21d2 KP_6 KP_6 Hex_6 U+21d2 KP_6 KP_6 U+2192 U+21d2 Ascii_6 Hex_6 U+2192 U+21d2 KP_6 KP_6 U+2192 U+21d2 KP_6 KP_6 Hex_6 U+21d2 KP_6 KP_6 U+2192 U+21d2 Ascii_6 Hex_6 U+2192 U+21d2 KP_6 KP_6 U+2192 U+21d2 KP_6 KP_6 Hex_6 U+21d2 KP_6 KP_6 U+2192 U+21d2 Ascii_6 Hex_6 U+2192 U+21d2 KP_6 KP_6 U+2192 U+21d2 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add Meta_plus Hex_E Meta_plus Meta_plus KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add Meta_plus Hex_E Meta_plus Meta_plus KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add Meta_plus Hex_E Meta_plus Meta_plus KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add Meta_plus Hex_E Meta_plus Meta_plus KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add Meta_plus Hex_E Meta_plus Meta_plus KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add Meta_plus Hex_E Meta_plus Meta_plus KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add Meta_plus Hex_E Meta_plus Meta_plus KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add Meta_plus Hex_E Meta_plus Meta_plus KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 U+21d9 KP_1 KP_1 U+2199 U+21d9 Ascii_1 Hex_1 U+2199 U+21d9 KP_1 KP_1 U+2199 U+21d9 KP_1 KP_1 Hex_1 U+21d9 KP_1 KP_1 U+2199 U+21d9 Ascii_1 Hex_1 U+2199 U+21d9 KP_1 KP_1 U+2199 U+21d9 KP_1 KP_1 Hex_1 U+21d9 KP_1 KP_1 U+2199 U+21d9 Ascii_1 Hex_1 U+2199 U+21d9 KP_1 KP_1 U+2199 U+21d9 KP_1 KP_1 Hex_1 U+21d9 KP_1 KP_1 U+2199 U+21d9 Ascii_1 Hex_1 U+2199 U+21d9 KP_1 KP_1 U+2199 U+21d9 KP_1 KP_1 Hex_1 U+21d9 KP_1 KP_1 U+2199 U+21d9 Ascii_1 Hex_1 U+2199 U+21d9 KP_1 KP_1 U+2199 U+21d9 KP_1 KP_1 Hex_1 U+21d9 KP_1 KP_1 U+2199 U+21d9 Ascii_1 Hex_1 U+2199 U+21d9 KP_1 KP_1 U+2199 U+21d9 KP_1 KP_1 Hex_1 U+21d9 KP_1 KP_1 U+2199 U+21d9 Ascii_1 Hex_1 U+2199 U+21d9 KP_1 KP_1 U+2199 U+21d9 KP_1 KP_1 Hex_1 U+21d9 KP_1 KP_1 U+2199 U+21d9 Ascii_1 Hex_1 U+2199 U+21d9 KP_1 KP_1 U+2199 U+21d9 +keycode 80 = KP_2 KP_2 Hex_2 U+21d3 KP_2 KP_2 U+2193 U+21d3 Ascii_2 Hex_2 U+2193 U+21d3 KP_2 KP_2 U+2193 U+21d3 KP_2 KP_2 Hex_2 U+21d3 KP_2 KP_2 U+2193 U+21d3 Ascii_2 Hex_2 U+2193 U+21d3 KP_2 KP_2 U+2193 U+21d3 KP_2 KP_2 Hex_2 U+21d3 KP_2 KP_2 U+2193 U+21d3 Ascii_2 Hex_2 U+2193 U+21d3 KP_2 KP_2 U+2193 U+21d3 KP_2 KP_2 Hex_2 U+21d3 KP_2 KP_2 U+2193 U+21d3 Ascii_2 Hex_2 U+2193 U+21d3 KP_2 KP_2 U+2193 U+21d3 KP_2 KP_2 Hex_2 U+21d3 KP_2 KP_2 U+2193 U+21d3 Ascii_2 Hex_2 U+2193 U+21d3 KP_2 KP_2 U+2193 U+21d3 KP_2 KP_2 Hex_2 U+21d3 KP_2 KP_2 U+2193 U+21d3 Ascii_2 Hex_2 U+2193 U+21d3 KP_2 KP_2 U+2193 U+21d3 KP_2 KP_2 Hex_2 U+21d3 KP_2 KP_2 U+2193 U+21d3 Ascii_2 Hex_2 U+2193 U+21d3 KP_2 KP_2 U+2193 U+21d3 KP_2 KP_2 Hex_2 U+21d3 KP_2 KP_2 U+2193 U+21d3 Ascii_2 Hex_2 U+2193 U+21d3 KP_2 KP_2 U+2193 U+21d3 +keycode 81 = KP_3 KP_3 Hex_3 U+21d8 KP_3 KP_3 U+2198 U+21d8 Ascii_3 Hex_3 U+2198 U+21d8 KP_3 KP_3 U+2198 U+21d8 KP_3 KP_3 Hex_3 U+21d8 KP_3 KP_3 U+2198 U+21d8 Ascii_3 Hex_3 U+2198 U+21d8 KP_3 KP_3 U+2198 U+21d8 KP_3 KP_3 Hex_3 U+21d8 KP_3 KP_3 U+2198 U+21d8 Ascii_3 Hex_3 U+2198 U+21d8 KP_3 KP_3 U+2198 U+21d8 KP_3 KP_3 Hex_3 U+21d8 KP_3 KP_3 U+2198 U+21d8 Ascii_3 Hex_3 U+2198 U+21d8 KP_3 KP_3 U+2198 U+21d8 KP_3 KP_3 Hex_3 U+21d8 KP_3 KP_3 U+2198 U+21d8 Ascii_3 Hex_3 U+2198 U+21d8 KP_3 KP_3 U+2198 U+21d8 KP_3 KP_3 Hex_3 U+21d8 KP_3 KP_3 U+2198 U+21d8 Ascii_3 Hex_3 U+2198 U+21d8 KP_3 KP_3 U+2198 U+21d8 KP_3 KP_3 Hex_3 U+21d8 KP_3 KP_3 U+2198 U+21d8 Ascii_3 Hex_3 U+2198 U+21d8 KP_3 KP_3 U+2198 U+21d8 KP_3 KP_3 Hex_3 U+21d8 KP_3 KP_3 U+2198 U+21d8 Ascii_3 Hex_3 U+2198 U+21d8 KP_3 KP_3 U+2198 U+21d8 +keycode 82 = KP_0 KP_0 Hex_0 U+21d5 KP_0 KP_0 U+2195 U+21d5 Ascii_0 Hex_0 U+2195 U+21d5 KP_0 KP_0 U+2195 U+21d5 KP_0 KP_0 Hex_0 U+21d5 KP_0 KP_0 U+2195 U+21d5 Ascii_0 Hex_0 U+2195 U+21d5 KP_0 KP_0 U+2195 U+21d5 KP_0 KP_0 Hex_0 U+21d5 KP_0 KP_0 U+2195 U+21d5 Ascii_0 Hex_0 U+2195 U+21d5 KP_0 KP_0 U+2195 U+21d5 KP_0 KP_0 Hex_0 U+21d5 KP_0 KP_0 U+2195 U+21d5 Ascii_0 Hex_0 U+2195 U+21d5 KP_0 KP_0 U+2195 U+21d5 KP_0 KP_0 Hex_0 U+21d5 KP_0 KP_0 U+2195 U+21d5 Ascii_0 Hex_0 U+2195 U+21d5 KP_0 KP_0 U+2195 U+21d5 KP_0 KP_0 Hex_0 U+21d5 KP_0 KP_0 U+2195 U+21d5 Ascii_0 Hex_0 U+2195 U+21d5 KP_0 KP_0 U+2195 U+21d5 KP_0 KP_0 Hex_0 U+21d5 KP_0 KP_0 U+2195 U+21d5 Ascii_0 Hex_0 U+2195 U+21d5 KP_0 KP_0 U+2195 U+21d5 KP_0 KP_0 Hex_0 U+21d5 KP_0 KP_0 U+2195 U+21d5 Ascii_0 Hex_0 U+2195 U+21d5 KP_0 KP_0 U+2195 U+21d5 +keycode 83 = KP_Period KP_Period KP_Comma U+202f Compose Compose Boot Compose Meta_period Meta_period Meta_comma Meta_comma Boot Compose Boot Compose KP_Period KP_Period KP_Comma U+202f Compose Compose Boot Compose Meta_period Meta_period Meta_comma Meta_comma Boot Compose Boot Compose KP_Period KP_Period KP_Comma U+202f Compose Compose Boot Compose Meta_period Meta_period Meta_comma Meta_comma Boot Compose Boot Compose KP_Period KP_Period KP_Comma U+202f Compose Compose Boot Compose Meta_period Meta_period Meta_comma Meta_comma Boot Compose Boot Compose KP_Period KP_Period KP_Comma U+202f Compose Compose Boot Compose Meta_period Meta_period Meta_comma Meta_comma Boot Compose Boot Compose KP_Period KP_Period KP_Comma U+202f Compose Compose Boot Compose Meta_period Meta_period Meta_comma Meta_comma Boot Compose Boot Compose KP_Period KP_Period KP_Comma U+202f Compose Compose Boot Compose Meta_period Meta_period Meta_comma Meta_comma Boot Compose Boot Compose KP_Period KP_Period KP_Comma U+202f Compose Compose Boot Compose Meta_period Meta_period Meta_comma Meta_comma Boot Compose Boot Compose +keycode 84 = Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console Last_Console +keycode 86 = +U+00ea +U+00ca U+002f U+00a6 +U+00ea +U+00ca U+002f U+00a6 Meta_slash +U+00ca Meta_slash Meta_slash Meta_slash +U+00ca Meta_slash Meta_slash +U+00ea +U+00ca U+002f U+00a6 +U+00ea +U+00ca U+002f U+00a6 Meta_slash +U+00ca Meta_slash Meta_slash Meta_slash +U+00ca Meta_slash Meta_slash +U+00ea +U+00ca U+002f U+00a6 +U+00ea +U+00ca U+002f U+00a6 Meta_slash +U+00ca Meta_slash Meta_slash Meta_slash +U+00ca Meta_slash Meta_slash +U+00ea +U+00ca U+002f U+00a6 +U+00ea +U+00ca U+002f U+00a6 Meta_slash +U+00ca Meta_slash Meta_slash Meta_slash +U+00ca Meta_slash Meta_slash +U+00ca +U+00ea U+002f U+00a6 +U+00ca +U+00ea U+002f U+00a6 Meta_slash +U+00ea Meta_slash Meta_slash Meta_slash +U+00ea Meta_slash Meta_slash +U+00ca +U+00ea U+002f U+00a6 +U+00ca +U+00ea U+002f U+00a6 Meta_slash +U+00ea Meta_slash Meta_slash Meta_slash +U+00ea Meta_slash Meta_slash +U+00ca +U+00ea U+002f U+00a6 +U+00ca +U+00ea U+002f U+00a6 Meta_slash +U+00ea Meta_slash Meta_slash Meta_slash +U+00ea Meta_slash Meta_slash +U+00ca +U+00ea U+002f U+00a6 +U+00ca +U+00ea U+002f U+00a6 Meta_slash +U+00ea Meta_slash Meta_slash Meta_slash +U+00ea Meta_slash Meta_slash +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break Pause Pause Pause Pause Break Break Break Break +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Last_Console Last_Console Last_Console Last_Console Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Last_Console Last_Console Last_Console Last_Console Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Last_Console Last_Console Last_Console Last_Console Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Last_Console Last_Console Last_Console Last_Console Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Last_Console Last_Console Last_Console Last_Console Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Last_Console Last_Console Last_Console Last_Console Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Last_Console Last_Console Last_Console Last_Console Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Last_Console Last_Console Last_Console Last_Console Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B U+00f7 KP_Divide KP_Divide U+00f7 U+00f7 KP_Divide Hex_B U+00f7 U+00f7 U+2215 U+2215 U+2215 U+2215 KP_Divide KP_Divide Hex_B U+00f7 KP_Divide KP_Divide U+00f7 U+00f7 KP_Divide Hex_B U+00f7 U+00f7 U+2215 U+2215 U+2215 U+2215 KP_Divide KP_Divide Hex_B U+00f7 KP_Divide KP_Divide U+00f7 U+00f7 KP_Divide Hex_B U+00f7 U+00f7 U+2215 U+2215 U+2215 U+2215 KP_Divide KP_Divide Hex_B U+00f7 KP_Divide KP_Divide U+00f7 U+00f7 KP_Divide Hex_B U+00f7 U+00f7 U+2215 U+2215 U+2215 U+2215 KP_Divide KP_Divide Hex_B U+00f7 KP_Divide KP_Divide U+00f7 U+00f7 KP_Divide Hex_B U+00f7 U+00f7 U+2215 U+2215 U+2215 U+2215 KP_Divide KP_Divide Hex_B U+00f7 KP_Divide KP_Divide U+00f7 U+00f7 KP_Divide Hex_B U+00f7 U+00f7 U+2215 U+2215 U+2215 U+2215 KP_Divide KP_Divide Hex_B U+00f7 KP_Divide KP_Divide U+00f7 U+00f7 KP_Divide Hex_B U+00f7 U+00f7 U+2215 U+2215 U+2215 U+2215 KP_Divide KP_Divide Hex_B U+00f7 KP_Divide KP_Divide U+00f7 U+00f7 KP_Divide Hex_B U+00f7 U+00f7 U+2215 U+2215 U+2215 U+2215 +keycode 100 = AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr +keycode 101 = Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break Break +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 127 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# The following is an example how to make Alt+j switch to to the next +# console and Alt+k switch to the previous console. + +# Uncomment the following lines for Linux. Notice that everything is +# replicated for all possible values of the modifiers shiftl, shiftr +# and ctrll (shiftl and shiftr are used for groups 1..4 of XKB and +# ctrll is used to fix the broken CapsLock when Linux console is in +# Unicode mode). + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console +# +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + +# For the same result on FreeBSD uncomment the following lines: + +# 036 'j' 'J' nl nl nscr nscr nl nl C +# 037 'k' 'K' vt vt pscr pscr nl nl C diff --git a/projects/grub/configs/keymaps/itqwerty b/projects/grub/configs/keymaps/itqwerty new file mode 100644 index 00000000..6c53aac3 --- /dev/null +++ b/projects/grub/configs/keymaps/itqwerty @@ -0,0 +1,130 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = U+0032 U+0022 U+00b2 dead_doubleacute nul nul nul dead_doubleacute Meta_two Meta_quotedbl Meta_two dead_doubleacute Meta_nul Meta_nul Meta_nul dead_doubleacute U+0032 U+0022 U+00b2 dead_doubleacute nul nul nul dead_doubleacute Meta_two Meta_quotedbl Meta_two dead_doubleacute Meta_nul Meta_nul Meta_nul dead_doubleacute U+0032 U+0022 U+00b2 dead_doubleacute nul nul nul dead_doubleacute Meta_two Meta_quotedbl Meta_two dead_doubleacute Meta_nul Meta_nul Meta_nul dead_doubleacute U+0032 U+0022 U+00b2 dead_doubleacute nul nul nul dead_doubleacute Meta_two Meta_quotedbl Meta_two dead_doubleacute Meta_nul Meta_nul Meta_nul dead_doubleacute U+0032 U+0022 U+00b2 dead_doubleacute nul nul nul dead_doubleacute Meta_two Meta_quotedbl Meta_two dead_doubleacute Meta_nul Meta_nul Meta_nul dead_doubleacute U+0032 U+0022 U+00b2 dead_doubleacute nul nul nul dead_doubleacute Meta_two Meta_quotedbl Meta_two dead_doubleacute Meta_nul Meta_nul Meta_nul dead_doubleacute U+0032 U+0022 U+00b2 dead_doubleacute nul nul nul dead_doubleacute Meta_two Meta_quotedbl Meta_two dead_doubleacute Meta_nul Meta_nul Meta_nul dead_doubleacute U+0032 U+0022 U+00b2 dead_doubleacute nul nul nul dead_doubleacute Meta_two Meta_quotedbl Meta_two dead_doubleacute Meta_nul Meta_nul Meta_nul dead_doubleacute +keycode 4 = U+0033 U+00a3 U+00b3 dead_tilde Escape Escape Escape dead_tilde Meta_three Meta_three Meta_three dead_tilde Meta_Escape Meta_Escape Meta_Escape dead_tilde U+0033 U+00a3 U+00b3 dead_tilde Escape Escape Escape dead_tilde Meta_three Meta_three Meta_three dead_tilde Meta_Escape Meta_Escape Meta_Escape dead_tilde U+0033 U+00a3 U+00b3 dead_tilde Escape Escape Escape dead_tilde Meta_three Meta_three Meta_three dead_tilde Meta_Escape Meta_Escape Meta_Escape dead_tilde U+0033 U+00a3 U+00b3 dead_tilde Escape Escape Escape dead_tilde Meta_three Meta_three Meta_three dead_tilde Meta_Escape Meta_Escape Meta_Escape dead_tilde U+0033 U+00a3 U+00b3 dead_tilde Escape Escape Escape dead_tilde Meta_three Meta_three Meta_three dead_tilde Meta_Escape Meta_Escape Meta_Escape dead_tilde U+0033 U+00a3 U+00b3 dead_tilde Escape Escape Escape dead_tilde Meta_three Meta_three Meta_three dead_tilde Meta_Escape Meta_Escape Meta_Escape dead_tilde U+0033 U+00a3 U+00b3 dead_tilde Escape Escape Escape dead_tilde Meta_three Meta_three Meta_three dead_tilde Meta_Escape Meta_Escape Meta_Escape dead_tilde U+0033 U+00a3 U+00b3 dead_tilde Escape Escape Escape dead_tilde Meta_three Meta_three Meta_three dead_tilde Meta_Escape Meta_Escape Meta_Escape dead_tilde +keycode 5 = U+0034 U+0024 U+00bc U+215b Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+215b Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+215b Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+215b Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+215b Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+215b Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+215b Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+00bc U+215b Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 6 = U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00ac U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 8 = U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 9 = U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape +keycode 10 = U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 11 = U+0030 U+003d U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_zero Meta_equal Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+0030 U+003d U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_zero Meta_equal Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+0030 U+003d U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_zero Meta_equal Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+0030 U+003d U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_zero Meta_equal Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+0030 U+003d U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_zero Meta_equal Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+0030 U+003d U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_zero Meta_equal Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+0030 U+003d U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_zero Meta_equal Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek U+0030 U+003d U+007d dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek Meta_zero Meta_equal Meta_braceright dead_ogonek dead_ogonek dead_ogonek dead_ogonek dead_ogonek +keycode 12 = U+0027 U+003f U+0060 U+00bf Control_g Delete nul nul Meta_apostrophe Meta_question Meta_grave Meta_grave Meta_Control_g Meta_Delete Meta_nul Meta_nul U+0027 U+003f U+0060 U+00bf Control_g Delete nul nul Meta_apostrophe Meta_question Meta_grave Meta_grave Meta_Control_g Meta_Delete Meta_nul Meta_nul U+0027 U+003f U+0060 U+00bf Control_g Delete nul nul Meta_apostrophe Meta_question Meta_grave Meta_grave Meta_Control_g Meta_Delete Meta_nul Meta_nul U+0027 U+003f U+0060 U+00bf Control_g Delete nul nul Meta_apostrophe Meta_question Meta_grave Meta_grave Meta_Control_g Meta_Delete Meta_nul Meta_nul U+0027 U+003f U+0060 U+00bf Control_g Delete nul nul Meta_apostrophe Meta_question Meta_grave Meta_grave Meta_Control_g Meta_Delete Meta_nul Meta_nul U+0027 U+003f U+0060 U+00bf Control_g Delete nul nul Meta_apostrophe Meta_question Meta_grave Meta_grave Meta_Control_g Meta_Delete Meta_nul Meta_nul U+0027 U+003f U+0060 U+00bf Control_g Delete nul nul Meta_apostrophe Meta_question Meta_grave Meta_grave Meta_Control_g Meta_Delete Meta_nul Meta_nul U+0027 U+003f U+0060 U+00bf Control_g Delete nul nul Meta_apostrophe Meta_question Meta_grave Meta_grave Meta_Control_g Meta_Delete Meta_nul Meta_nul +keycode 13 = +U+00ec U+005e U+007e dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_asciicircum Meta_asciicircum Meta_asciitilde dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +U+00ec U+005e U+007e dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_asciicircum Meta_asciicircum Meta_asciitilde dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +U+00ec U+005e U+007e dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_asciicircum Meta_asciicircum Meta_asciitilde dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +U+00ec U+005e U+007e dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_asciicircum Meta_asciicircum Meta_asciitilde dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +U+00cc U+005e U+007e dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_asciicircum Meta_asciicircum Meta_asciitilde dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +U+00cc U+005e U+007e dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_asciicircum Meta_asciicircum Meta_asciitilde dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +U+00cc U+005e U+007e dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_asciicircum Meta_asciicircum Meta_asciitilde dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +U+00cc U+005e U+007e dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_asciicircum Meta_asciicircum Meta_asciitilde dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +keycode 17 = +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 18 = +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 19 = +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 20 = +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 21 = +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 22 = +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 23 = +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 24 = +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 25 = +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 26 = +U+00e8 +U+00e9 U+005b U+007b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +U+00e8 +U+00e9 U+005b U+007b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +U+00e8 +U+00e9 U+005b U+007b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +U+00e8 +U+00e9 U+005b U+007b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +U+00c8 +U+00c9 U+005b U+007b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +U+00c8 +U+00c9 U+005b U+007b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +U+00c8 +U+00c9 U+005b U+007b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +U+00c8 +U+00c9 U+005b U+007b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 27 = U+002b U+002a U+005d U+007d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_plus Meta_asterisk Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+002b U+002a U+005d U+007d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_plus Meta_asterisk Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+002b U+002a U+005d U+007d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_plus Meta_asterisk Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+002b U+002a U+005d U+007d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_plus Meta_asterisk Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+002b U+002a U+005d U+007d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_plus Meta_asterisk Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+002b U+002a U+005d U+007d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_plus Meta_asterisk Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+002b U+002a U+005d U+007d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_plus Meta_asterisk Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+002b U+002a U+005d U+007d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_plus Meta_asterisk Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 32 = +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 33 = +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 34 = +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 35 = +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 36 = +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 37 = +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 38 = +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 39 = +U+00f2 +U+00e7 U+0040 dead_cedilla nul dead_cedilla nul dead_cedilla Meta_at dead_cedilla Meta_at dead_cedilla Meta_nul dead_cedilla Meta_nul dead_cedilla +U+00f2 +U+00e7 U+0040 dead_cedilla nul dead_cedilla nul dead_cedilla Meta_at dead_cedilla Meta_at dead_cedilla Meta_nul dead_cedilla Meta_nul dead_cedilla +U+00f2 +U+00e7 U+0040 dead_cedilla nul dead_cedilla nul dead_cedilla Meta_at dead_cedilla Meta_at dead_cedilla Meta_nul dead_cedilla Meta_nul dead_cedilla +U+00f2 +U+00e7 U+0040 dead_cedilla nul dead_cedilla nul dead_cedilla Meta_at dead_cedilla Meta_at dead_cedilla Meta_nul dead_cedilla Meta_nul dead_cedilla +U+00d2 +U+00c7 U+0040 dead_cedilla nul dead_cedilla nul dead_cedilla Meta_at dead_cedilla Meta_at dead_cedilla Meta_nul dead_cedilla Meta_nul dead_cedilla +U+00d2 +U+00c7 U+0040 dead_cedilla nul dead_cedilla nul dead_cedilla Meta_at dead_cedilla Meta_at dead_cedilla Meta_nul dead_cedilla Meta_nul dead_cedilla +U+00d2 +U+00c7 U+0040 dead_cedilla nul dead_cedilla nul dead_cedilla Meta_at dead_cedilla Meta_at dead_cedilla Meta_nul dead_cedilla Meta_nul dead_cedilla +U+00d2 +U+00c7 U+0040 dead_cedilla nul dead_cedilla nul dead_cedilla Meta_at dead_cedilla Meta_at dead_cedilla Meta_nul dead_cedilla Meta_nul dead_cedilla +keycode 40 = +U+00e0 U+00b0 U+0023 U+002a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_numbersign Meta_asterisk Meta_numbersign Meta_asterisk VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00e0 U+00b0 U+0023 U+002a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_numbersign Meta_asterisk Meta_numbersign Meta_asterisk VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00e0 U+00b0 U+0023 U+002a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_numbersign Meta_asterisk Meta_numbersign Meta_asterisk VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00e0 U+00b0 U+0023 U+002a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_numbersign Meta_asterisk Meta_numbersign Meta_asterisk VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00c0 U+00b0 U+0023 U+002a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_numbersign Meta_asterisk Meta_numbersign Meta_asterisk VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00c0 U+00b0 U+0023 U+002a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_numbersign Meta_asterisk Meta_numbersign Meta_asterisk VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00c0 U+00b0 U+0023 U+002a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_numbersign Meta_asterisk Meta_numbersign Meta_asterisk VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00c0 U+00b0 U+0023 U+002a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_numbersign Meta_asterisk Meta_numbersign Meta_asterisk VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 41 = U+005c U+007c U+00ac U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+00ac U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+00ac U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+00ac U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+00ac U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+00ac U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+00ac U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+00ac U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = +U+00f9 U+00a7 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +U+00f9 U+00a7 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +U+00f9 U+00a7 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +U+00f9 U+00a7 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +U+00d9 U+00a7 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +U+00d9 U+00a7 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +U+00d9 U+00a7 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +U+00d9 U+00a7 dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +keycode 44 = +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 45 = +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 46 = +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 47 = +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 48 = +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 49 = +U+006e +U+004e +U+00f1 +U+00d1 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+00f1 +U+00d1 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+00f1 +U+00d1 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+00f1 +U+00d1 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+00d1 +U+00f1 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+00d1 +U+00f1 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+00d1 +U+00f1 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+00d1 +U+00f1 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 50 = +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 51 = U+002c U+003b dead_acute U+00d7 dead_acute dead_acute dead_acute dead_acute Meta_comma Meta_semicolon dead_acute dead_acute dead_acute dead_acute dead_acute dead_acute U+002c U+003b dead_acute U+00d7 dead_acute dead_acute dead_acute dead_acute Meta_comma Meta_semicolon dead_acute dead_acute dead_acute dead_acute dead_acute dead_acute U+002c U+003b dead_acute U+00d7 dead_acute dead_acute dead_acute dead_acute Meta_comma Meta_semicolon dead_acute dead_acute dead_acute dead_acute dead_acute dead_acute U+002c U+003b dead_acute U+00d7 dead_acute dead_acute dead_acute dead_acute Meta_comma Meta_semicolon dead_acute dead_acute dead_acute dead_acute dead_acute dead_acute U+002c U+003b dead_acute U+00d7 dead_acute dead_acute dead_acute dead_acute Meta_comma Meta_semicolon dead_acute dead_acute dead_acute dead_acute dead_acute dead_acute U+002c U+003b dead_acute U+00d7 dead_acute dead_acute dead_acute dead_acute Meta_comma Meta_semicolon dead_acute dead_acute dead_acute dead_acute dead_acute dead_acute U+002c U+003b dead_acute U+00d7 dead_acute dead_acute dead_acute dead_acute Meta_comma Meta_semicolon dead_acute dead_acute dead_acute dead_acute dead_acute dead_acute U+002c U+003b dead_acute U+00d7 dead_acute dead_acute dead_acute dead_acute Meta_comma Meta_semicolon dead_acute dead_acute dead_acute dead_acute dead_acute dead_acute +keycode 52 = U+002e U+003a U+00b7 dead_diaeresis Compose Compose Compose dead_diaeresis Meta_period Meta_colon Meta_period dead_diaeresis Compose Compose Compose dead_diaeresis U+002e U+003a U+00b7 dead_diaeresis Compose Compose Compose dead_diaeresis Meta_period Meta_colon Meta_period dead_diaeresis Compose Compose Compose dead_diaeresis U+002e U+003a U+00b7 dead_diaeresis Compose Compose Compose dead_diaeresis Meta_period Meta_colon Meta_period dead_diaeresis Compose Compose Compose dead_diaeresis U+002e U+003a U+00b7 dead_diaeresis Compose Compose Compose dead_diaeresis Meta_period Meta_colon Meta_period dead_diaeresis Compose Compose Compose dead_diaeresis U+002e U+003a U+00b7 dead_diaeresis Compose Compose Compose dead_diaeresis Meta_period Meta_colon Meta_period dead_diaeresis Compose Compose Compose dead_diaeresis U+002e U+003a U+00b7 dead_diaeresis Compose Compose Compose dead_diaeresis Meta_period Meta_colon Meta_period dead_diaeresis Compose Compose Compose dead_diaeresis U+002e U+003a U+00b7 dead_diaeresis Compose Compose Compose dead_diaeresis Meta_period Meta_colon Meta_period dead_diaeresis Compose Compose Compose dead_diaeresis U+002e U+003a U+00b7 dead_diaeresis Compose Compose Compose dead_diaeresis Meta_period Meta_colon Meta_period dead_diaeresis Compose Compose Compose dead_diaeresis +keycode 53 = U+002d U+005f U+005f U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_underscore Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+005f U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_underscore Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+005f U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_underscore Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+005f U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_underscore Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+005f U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_underscore Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+005f U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_underscore Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+005f U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_underscore Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+005f U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_underscore Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period +keycode 86 = U+003c U+003e U+00ab U+00bb VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+00ab U+00bb VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+00ab U+00bb VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+00ab U+00bb VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+00ab U+00bb VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+00ab U+00bb VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+00ab U+00bb VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+00ab U+00bb VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/keymaps/jaqwerty b/projects/grub/configs/keymaps/jaqwerty new file mode 100644 index 00000000..eb48b69b --- /dev/null +++ b/projects/grub/configs/keymaps/jaqwerty @@ -0,0 +1,131 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul +keycode 4 = U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 5 = U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 6 = U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0036 U+0026 U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 8 = U+0037 U+0027 U+0037 U+0037 Control_underscore Control_g Control_underscore Control_underscore Meta_seven Meta_apostrophe Meta_seven Meta_seven Meta_Control_underscore Meta_Control_g Meta_Control_underscore Meta_Control_underscore U+0037 U+0027 U+0037 U+0037 Control_underscore Control_g Control_underscore Control_underscore Meta_seven Meta_apostrophe Meta_seven Meta_seven Meta_Control_underscore Meta_Control_g Meta_Control_underscore Meta_Control_underscore U+0037 U+0027 U+0037 U+0037 Control_underscore Control_g Control_underscore Control_underscore Meta_seven Meta_apostrophe Meta_seven Meta_seven Meta_Control_underscore Meta_Control_g Meta_Control_underscore Meta_Control_underscore U+0037 U+0027 U+0037 U+0037 Control_underscore Control_g Control_underscore Control_underscore Meta_seven Meta_apostrophe Meta_seven Meta_seven Meta_Control_underscore Meta_Control_g Meta_Control_underscore Meta_Control_underscore U+0037 U+0027 U+0037 U+0037 Control_underscore Control_g Control_underscore Control_underscore Meta_seven Meta_apostrophe Meta_seven Meta_seven Meta_Control_underscore Meta_Control_g Meta_Control_underscore Meta_Control_underscore U+0037 U+0027 U+0037 U+0037 Control_underscore Control_g Control_underscore Control_underscore Meta_seven Meta_apostrophe Meta_seven Meta_seven Meta_Control_underscore Meta_Control_g Meta_Control_underscore Meta_Control_underscore U+0037 U+0027 U+0037 U+0037 Control_underscore Control_g Control_underscore Control_underscore Meta_seven Meta_apostrophe Meta_seven Meta_seven Meta_Control_underscore Meta_Control_g Meta_Control_underscore Meta_Control_underscore U+0037 U+0027 U+0037 U+0037 Control_underscore Control_g Control_underscore Control_underscore Meta_seven Meta_apostrophe Meta_seven Meta_seven Meta_Control_underscore Meta_Control_g Meta_Control_underscore Meta_Control_underscore +keycode 9 = U+0038 U+0028 U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_parenleft Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+0028 U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_parenleft Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+0028 U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_parenleft Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+0028 U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_parenleft Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+0028 U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_parenleft Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+0028 U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_parenleft Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+0028 U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_parenleft Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+0028 U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_parenleft Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete +keycode 10 = U+0039 U+0029 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenright Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0029 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenright Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0029 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenright Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0029 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenright Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0029 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenright Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0029 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenright Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0029 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenright Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0029 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenright Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 11 = U+0030 U+007e U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_asciitilde Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+007e U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_asciitilde Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+007e U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_asciitilde Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+007e U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_asciitilde Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+007e U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_asciitilde Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+007e U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_asciitilde Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+007e U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_asciitilde Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+007e U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_asciitilde Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 12 = U+002d U+003d U+002d U+002d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_minus Meta_equal Meta_minus Meta_minus VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002d U+003d U+002d U+002d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_minus Meta_equal Meta_minus Meta_minus VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002d U+003d U+002d U+002d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_minus Meta_equal Meta_minus Meta_minus VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002d U+003d U+002d U+002d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_minus Meta_equal Meta_minus Meta_minus VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002d U+003d U+002d U+002d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_minus Meta_equal Meta_minus Meta_minus VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002d U+003d U+002d U+002d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_minus Meta_equal Meta_minus Meta_minus VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002d U+003d U+002d U+002d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_minus Meta_equal Meta_minus Meta_minus VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002d U+003d U+002d U+002d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_minus Meta_equal Meta_minus Meta_minus VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 13 = U+005e U+007e U+005e U+005e Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_asciicircum Meta_asciitilde Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+005e U+007e U+005e U+005e Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_asciicircum Meta_asciitilde Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+005e U+007e U+005e U+005e Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_asciicircum Meta_asciitilde Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+005e U+007e U+005e U+005e Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_asciicircum Meta_asciitilde Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+005e U+007e U+005e U+005e Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_asciicircum Meta_asciitilde Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+005e U+007e U+005e U+005e Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_asciicircum Meta_asciitilde Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+005e U+007e U+005e U+005e Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_asciicircum Meta_asciitilde Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+005e U+007e U+005e U+005e Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_asciicircum Meta_asciitilde Meta_asciicircum Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +keycode 17 = +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 18 = +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 19 = +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 20 = +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 21 = +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 22 = +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 23 = +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 24 = +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 25 = +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 26 = U+0040 U+0060 U+0040 U+0040 nul nul nul nul Meta_at Meta_grave Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0040 U+0060 U+0040 U+0040 nul nul nul nul Meta_at Meta_grave Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0040 U+0060 U+0040 U+0040 nul nul nul nul Meta_at Meta_grave Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0040 U+0060 U+0040 U+0040 nul nul nul nul Meta_at Meta_grave Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0040 U+0060 U+0040 U+0040 nul nul nul nul Meta_at Meta_grave Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0040 U+0060 U+0040 U+0040 nul nul nul nul Meta_at Meta_grave Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0040 U+0060 U+0040 U+0040 nul nul nul nul Meta_at Meta_grave Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0040 U+0060 U+0040 U+0040 nul nul nul nul Meta_at Meta_grave Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +keycode 27 = U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 32 = +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 33 = +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 34 = +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 35 = +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 36 = +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 37 = +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 38 = +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 39 = U+003b U+002b U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_plus Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+002b U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_plus Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+002b U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_plus Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+002b U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_plus Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+002b U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_plus Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+002b U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_plus Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+002b U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_plus Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+002b U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_plus Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 40 = U+003a U+002a U+003a U+003a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_asterisk Meta_colon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002a U+003a U+003a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_asterisk Meta_colon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002a U+003a U+003a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_asterisk Meta_colon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002a U+003a U+003a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_asterisk Meta_colon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002a U+003a U+003a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_asterisk Meta_colon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002a U+003a U+003a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_asterisk Meta_colon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002a U+003a U+003a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_asterisk Meta_colon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003a U+002a U+003a U+003a VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_colon Meta_asterisk Meta_colon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 44 = +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 45 = +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 46 = +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 47 = +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 48 = +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 49 = +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 50 = +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 51 = U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 52 = U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose +keycode 53 = U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period +keycode 86 = U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = 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 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 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 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 +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 124 = U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +keycode 89 = U+005c U+005f U+005c U+005c Control_backslash Control_underscore Control_backslash Control_backslash Meta_backslash Meta_underscore Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+005c U+005f U+005c U+005c Control_backslash Control_underscore Control_backslash Control_backslash Meta_backslash Meta_underscore Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+005c U+005f U+005c U+005c Control_backslash Control_underscore Control_backslash Control_backslash Meta_backslash Meta_underscore Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+005c U+005f U+005c U+005c Control_backslash Control_underscore Control_backslash Control_backslash Meta_backslash Meta_underscore Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+005c U+005f U+005c U+005c Control_backslash Control_underscore Control_backslash Control_backslash Meta_backslash Meta_underscore Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+005c U+005f U+005c U+005c Control_backslash Control_underscore Control_backslash Control_backslash Meta_backslash Meta_underscore Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+005c U+005f U+005c U+005c Control_backslash Control_underscore Control_backslash Control_backslash Meta_backslash Meta_underscore Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+005c U+005f U+005c U+005c Control_backslash Control_underscore Control_backslash Control_backslash Meta_backslash Meta_underscore Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/keymaps/svqwerty b/projects/grub/configs/keymaps/svqwerty new file mode 100644 index 00000000..3ee5bc96 --- /dev/null +++ b/projects/grub/configs/keymaps/svqwerty @@ -0,0 +1,130 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0031 U+0021 U+00a1 U+00b9 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00a1 U+00b9 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00a1 U+00b9 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00a1 U+00b9 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00a1 U+00b9 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00a1 U+00b9 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00a1 U+00b9 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00a1 U+00b9 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = U+0032 U+0022 U+0040 U+00b2 nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+00b2 nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+00b2 nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+00b2 nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+00b2 nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+00b2 nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+00b2 nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0040 U+00b2 nul nul nul nul Meta_two Meta_quotedbl Meta_at Meta_at Meta_nul Meta_nul Meta_nul Meta_nul +keycode 4 = U+0033 U+0023 U+00a3 U+00b3 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+00a3 U+00b3 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+00a3 U+00b3 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+00a3 U+00b3 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+00a3 U+00b3 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+00a3 U+00b3 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+00a3 U+00b3 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+00a3 U+00b3 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 5 = U+0034 U+00a4 U+0024 U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_four Meta_dollar Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+00a4 U+0024 U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_four Meta_dollar Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+00a4 U+0024 U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_four Meta_dollar Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+00a4 U+0024 U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_four Meta_dollar Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+00a4 U+0024 U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_four Meta_dollar Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+00a4 U+0024 U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_four Meta_dollar Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+00a4 U+0024 U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_four Meta_dollar Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+00a4 U+0024 U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_four Meta_dollar Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 6 = U+0035 U+0025 U+20ac U+00a2 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+20ac U+00a2 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+20ac U+00a2 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+20ac U+00a2 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+20ac U+00a2 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+20ac U+00a2 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+20ac U+00a2 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+20ac U+00a2 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0036 U+0026 U+00a5 U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00a5 U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00a5 U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00a5 U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00a5 U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00a5 U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00a5 U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+0026 U+00a5 U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_ampersand Meta_six Meta_ampersand Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 8 = U+0037 U+002f U+007b U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+002f U+007b U+00f7 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_slash Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 9 = U+0038 U+0028 U+005b U+00ab Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+00ab Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+00ab Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+00ab Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+00ab Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+00ab Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+00ab Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+0028 U+005b U+00ab Delete Delete Escape Escape Meta_eight Meta_parenleft Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape +keycode 10 = U+0039 U+0029 U+005d U+00bb Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00bb Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00bb Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00bb Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00bb Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00bb Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00bb Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0029 U+005d U+00bb Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 11 = U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+003d U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_equal Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 12 = U+002b U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_plus Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash U+002b U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_plus Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash U+002b U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_plus Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash U+002b U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_plus Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash U+002b U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_plus Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash U+002b U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_plus Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash U+002b U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_plus Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash U+002b U+003f U+005c U+00bf Delete Delete Control_backslash Control_backslash Meta_plus Meta_question Meta_backslash Meta_backslash Meta_Delete Meta_Delete Meta_Control_backslash Meta_Control_backslash +keycode 13 = dead_acute dead_grave U+00b1 U+00ac dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave U+00b1 U+00ac dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave U+00b1 U+00ac dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave U+00b1 U+00ac dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave U+00b1 U+00ac dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave U+00b1 U+00ac dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave U+00b1 U+00ac dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave U+00b1 U+00ac dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave dead_acute dead_grave +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +keycode 17 = +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 18 = +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 U+20ac U+00a2 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 19 = +U+0072 +U+0052 U+00ae U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00ae U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00ae U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00ae U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00ae U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00ae U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00ae U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00ae U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 20 = +U+0074 +U+0054 +U+00fe +U+00de Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+00fe +U+00de Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+00fe +U+00de Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+00fe +U+00de Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+00de +U+00fe Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+00de +U+00fe Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+00de +U+00fe Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+00de +U+00fe Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 21 = +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 22 = +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 23 = +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 24 = +U+006f +U+004f +U+0153 +U+0152 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+0153 +U+0152 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+0153 +U+0152 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+0153 +U+0152 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+0152 +U+0153 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+0152 +U+0153 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+0152 +U+0153 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+0152 +U+0153 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 25 = +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 26 = +U+00e5 +U+00c5 dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00e5 +U+00c5 dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00e5 +U+00c5 dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00e5 +U+00c5 dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00c5 +U+00e5 dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00c5 +U+00e5 dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00c5 +U+00e5 dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +U+00c5 +U+00e5 dead_diaeresis U+002a dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis Meta_asterisk dead_diaeresis Meta_asterisk dead_diaeresis dead_diaeresis dead_diaeresis dead_diaeresis +keycode 27 = dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron dead_diaeresis dead_circumflex dead_tilde dead_caron +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+00aa +U+00ba Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00aa +U+00ba Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00aa +U+00ba Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00aa +U+00ba Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00aa +U+00ba Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00aa +U+00ba Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00aa +U+00ba Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00aa +U+00ba Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 32 = +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 33 = +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 34 = +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 35 = +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 36 = +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 37 = +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 38 = +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 39 = +U+00f6 +U+00d6 +U+00f8 +U+00d8 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00f6 +U+00d6 +U+00f8 +U+00d8 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00f6 +U+00d6 +U+00f8 +U+00d8 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00f6 +U+00d6 +U+00f8 +U+00d8 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00d6 +U+00f6 +U+00d8 +U+00f8 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00d6 +U+00f6 +U+00d8 +U+00f8 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00d6 +U+00f6 +U+00d8 +U+00f8 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00d6 +U+00f6 +U+00d8 +U+00f8 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 40 = +U+00e4 +U+00c4 +U+00e6 +U+00c6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00e4 +U+00c4 +U+00e6 +U+00c6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00e4 +U+00c4 +U+00e6 +U+00c6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00e4 +U+00c4 +U+00e6 +U+00c6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00c4 +U+00e4 +U+00c6 +U+00e6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00c4 +U+00e4 +U+00c6 +U+00e6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00c4 +U+00e4 +U+00c6 +U+00e6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +U+00c4 +U+00e4 +U+00c6 +U+00e6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 41 = U+00a7 U+00bd U+00b6 U+00be VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00a7 U+00bd U+00b6 U+00be VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00a7 U+00bd U+00b6 U+00be VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00a7 U+00bd U+00b6 U+00be VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00a7 U+00bd U+00b6 U+00be VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00a7 U+00bd U+00b6 U+00be VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00a7 U+00bd U+00b6 U+00be VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+00a7 U+00bd U+00b6 U+00be VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = U+0027 U+002a U+0027 U+00d7 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_asterisk Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+002a U+0027 U+00d7 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_asterisk Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+002a U+0027 U+00d7 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_asterisk Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+002a U+0027 U+00d7 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_asterisk Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+002a U+0027 U+00d7 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_asterisk Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+002a U+0027 U+00d7 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_asterisk Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+002a U+0027 U+00d7 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_asterisk Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+002a U+0027 U+00d7 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_asterisk Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 44 = +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 45 = +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 46 = +U+0063 +U+0043 U+00a9 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a9 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a9 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a9 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a9 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a9 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a9 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a9 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 47 = +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 48 = +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 49 = +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 50 = +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 51 = U+002c U+003b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_comma Meta_semicolon dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+002c U+003b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_comma Meta_semicolon dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+002c U+003b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_comma Meta_semicolon dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+002c U+003b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_comma Meta_semicolon dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+002c U+003b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_comma Meta_semicolon dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+002c U+003b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_comma Meta_semicolon dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+002c U+003b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_comma Meta_semicolon dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+002c U+003b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_comma Meta_semicolon dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek +keycode 52 = U+002e U+003a U+00b7 U+002e Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_period Compose Compose Compose Compose U+002e U+003a U+00b7 U+002e Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_period Compose Compose Compose Compose U+002e U+003a U+00b7 U+002e Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_period Compose Compose Compose Compose U+002e U+003a U+00b7 U+002e Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_period Compose Compose Compose Compose U+002e U+003a U+00b7 U+002e Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_period Compose Compose Compose Compose U+002e U+003a U+00b7 U+002e Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_period Compose Compose Compose Compose U+002e U+003a U+00b7 U+002e Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_period Compose Compose Compose Compose U+002e U+003a U+00b7 U+002e Compose Compose Compose Compose Meta_period Meta_colon Meta_period Meta_period Compose Compose Compose Compose +keycode 53 = U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose U+002d U+005f U+0323 U+002e Control_underscore Control_underscore Compose Compose Meta_minus Meta_underscore Meta_minus Meta_period Meta_Control_underscore Meta_Control_underscore Compose Compose +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+00a0 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+00a0 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+00a0 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+00a0 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+00a0 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+00a0 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+00a0 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+00a0 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma KP_Comma KP_Comma KP_Comma KP_Comma Boot KP_Comma Boot KP_Comma +keycode 86 = U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/keymaps/ukdvorak b/projects/grub/configs/keymaps/ukdvorak new file mode 100644 index 00000000..d41b8735 --- /dev/null +++ b/projects/grub/configs/keymaps/ukdvorak @@ -0,0 +1,130 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul +keycode 4 = U+0033 U+009c U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+009c U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+009c U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+009c U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+009c U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+009c U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+009c U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+009c U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 5 = U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 6 = U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +keycode 8 = U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 9 = U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete +keycode 10 = U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave +keycode 11 = U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 12 = U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 13 = U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = U+0027 U+0040 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0040 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0040 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0040 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0040 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0040 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0040 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0040 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis +keycode 17 = U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron +keycode 18 = U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose +keycode 19 = +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 20 = +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 21 = +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 22 = +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 23 = +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 24 = +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 25 = +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 26 = U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete +keycode 27 = U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 32 = +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 33 = +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 34 = +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 35 = +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 36 = +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 37 = +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 38 = +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 39 = +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 40 = U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 41 = U+0060 U+00ac dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+00ac dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+00ac dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+00ac dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+00ac dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+00ac dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+00ac dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+00ac dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = U+0023 U+007e U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0023 U+007e U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0023 U+007e U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0023 U+007e U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0023 U+007e U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0023 U+007e U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0023 U+007e U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0023 U+007e U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 44 = U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute +keycode 45 = +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +keycode 46 = +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 47 = +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 48 = +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 49 = +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 50 = +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 51 = +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 52 = +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 53 = +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period +keycode 86 = U+005c U+007c U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+005c U+007c U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+005c U+007c U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+005c U+007c U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+005c U+007c U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+005c U+007c U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+005c U+007c U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+005c U+007c U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = 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 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 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 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 +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/keymaps/ukqwerty b/projects/grub/configs/keymaps/ukqwerty new file mode 100644 index 00000000..94e5a456 --- /dev/null +++ b/projects/grub/configs/keymaps/ukqwerty @@ -0,0 +1,130 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+00b9 U+00a1 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0022 U+00b2 U+215b nul nul nul nul Meta_two Meta_quotedbl Meta_two Meta_quotedbl Meta_nul Meta_nul Meta_nul Meta_nul +keycode 4 = U+0033 U+00a3 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a3 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a3 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a3 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a3 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a3 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a3 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+00a3 U+00b3 U+00a3 Escape Escape Escape Escape Meta_three Meta_three Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 5 = U+0034 U+0024 U+20ac U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+20ac U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+20ac U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+20ac U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+20ac U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+20ac U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+20ac U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+20ac U+00bc Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 6 = U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+00bd U+215c Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0036 U+005e U+00be U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+00be U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+00be U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+00be U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+00be U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+00be U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+00be U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+00be U+215d Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 8 = U+0037 U+0026 U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+007b U+215e Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_braceleft Meta_braceleft Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 9 = U+0038 U+002a U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_asterisk Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+002a U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_asterisk Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+002a U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_asterisk Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+002a U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_asterisk Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+002a U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_asterisk Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+002a U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_asterisk Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+002a U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_asterisk Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape U+0038 U+002a U+005b U+2122 Delete Delete Escape Escape Meta_eight Meta_asterisk Meta_bracketleft Meta_bracketleft Meta_Delete Meta_Delete Meta_Escape Meta_Escape +keycode 10 = U+0039 U+0028 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenleft Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0028 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenleft Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0028 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenleft Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0028 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenleft Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0028 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenleft Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0028 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenleft Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0028 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenleft Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0039 U+0028 U+005d U+00b1 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_nine Meta_parenleft Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 11 = U+0030 U+0029 U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+007d U+00b0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_braceright Meta_braceright VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 12 = U+002d U+005f U+005c U+00bf Control_underscore Control_underscore Control_backslash Control_backslash Meta_minus Meta_underscore Meta_backslash Meta_backslash Meta_Control_underscore Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+002d U+005f U+005c U+00bf Control_underscore Control_underscore Control_backslash Control_backslash Meta_minus Meta_underscore Meta_backslash Meta_backslash Meta_Control_underscore Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+002d U+005f U+005c U+00bf Control_underscore Control_underscore Control_backslash Control_backslash Meta_minus Meta_underscore Meta_backslash Meta_backslash Meta_Control_underscore Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+002d U+005f U+005c U+00bf Control_underscore Control_underscore Control_backslash Control_backslash Meta_minus Meta_underscore Meta_backslash Meta_backslash Meta_Control_underscore Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+002d U+005f U+005c U+00bf Control_underscore Control_underscore Control_backslash Control_backslash Meta_minus Meta_underscore Meta_backslash Meta_backslash Meta_Control_underscore Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+002d U+005f U+005c U+00bf Control_underscore Control_underscore Control_backslash Control_backslash Meta_minus Meta_underscore Meta_backslash Meta_backslash Meta_Control_underscore Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+002d U+005f U+005c U+00bf Control_underscore Control_underscore Control_backslash Control_backslash Meta_minus Meta_underscore Meta_backslash Meta_backslash Meta_Control_underscore Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash U+002d U+005f U+005c U+00bf Control_underscore Control_underscore Control_backslash Control_backslash Meta_minus Meta_underscore Meta_backslash Meta_backslash Meta_Control_underscore Meta_Control_underscore Meta_Control_backslash Meta_Control_backslash +keycode 13 = U+003d U+002b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_equal Meta_plus dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+003d U+002b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_equal Meta_plus dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+003d U+002b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_equal Meta_plus dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+003d U+002b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_equal Meta_plus dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+003d U+002b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_equal Meta_plus dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+003d U+002b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_equal Meta_plus dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+003d U+002b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_equal Meta_plus dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek U+003d U+002b dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek Meta_equal Meta_plus dead_cedilla dead_ogonek dead_cedilla dead_ogonek dead_cedilla dead_ogonek +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0071 +U+0051 U+0040 +U+03a9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +U+0051 +U+0071 U+0040 +U+03c9 Control_q Control_q nul nul Meta_q Meta_Q Meta_at Meta_at Meta_Control_q Meta_Control_q Meta_nul Meta_nul +keycode 17 = +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0142 +U+0141 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0141 +U+0142 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 18 = +U+0065 +U+0045 +U+0065 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 19 = +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 U+00b6 U+00ae Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 20 = +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0167 +U+0166 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0166 +U+0167 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 21 = +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+2190 U+00a5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 22 = +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 U+2193 U+2191 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 23 = +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 U+2192 +U+0131 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 U+2192 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 24 = +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+00f8 +U+00d8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+00d8 +U+00f8 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 25 = +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+00fe +U+00de Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+00de +U+00fe Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 26 = U+005b U+007b dead_diaeresis U+002a Escape Escape dead_diaeresis dead_diaeresis Meta_bracketleft Meta_braceleft dead_diaeresis Meta_asterisk Meta_Escape Meta_Escape dead_diaeresis dead_diaeresis U+005b U+007b dead_diaeresis U+002a Escape Escape dead_diaeresis dead_diaeresis Meta_bracketleft Meta_braceleft dead_diaeresis Meta_asterisk Meta_Escape Meta_Escape dead_diaeresis dead_diaeresis U+005b U+007b dead_diaeresis U+002a Escape Escape dead_diaeresis dead_diaeresis Meta_bracketleft Meta_braceleft dead_diaeresis Meta_asterisk Meta_Escape Meta_Escape dead_diaeresis dead_diaeresis U+005b U+007b dead_diaeresis U+002a Escape Escape dead_diaeresis dead_diaeresis Meta_bracketleft Meta_braceleft dead_diaeresis Meta_asterisk Meta_Escape Meta_Escape dead_diaeresis dead_diaeresis U+005b U+007b dead_diaeresis U+002a Escape Escape dead_diaeresis dead_diaeresis Meta_bracketleft Meta_braceleft dead_diaeresis Meta_asterisk Meta_Escape Meta_Escape dead_diaeresis dead_diaeresis U+005b U+007b dead_diaeresis U+002a Escape Escape dead_diaeresis dead_diaeresis Meta_bracketleft Meta_braceleft dead_diaeresis Meta_asterisk Meta_Escape Meta_Escape dead_diaeresis dead_diaeresis U+005b U+007b dead_diaeresis U+002a Escape Escape dead_diaeresis dead_diaeresis Meta_bracketleft Meta_braceleft dead_diaeresis Meta_asterisk Meta_Escape Meta_Escape dead_diaeresis dead_diaeresis U+005b U+007b dead_diaeresis U+002a Escape Escape dead_diaeresis dead_diaeresis Meta_bracketleft Meta_braceleft dead_diaeresis Meta_asterisk Meta_Escape Meta_Escape dead_diaeresis dead_diaeresis +keycode 27 = U+005d U+007d dead_tilde U+005f Control_bracketright Control_bracketright dead_tilde Control_underscore Meta_bracketright Meta_braceright dead_tilde Meta_underscore Meta_Control_bracketright Meta_Control_bracketright dead_tilde Meta_Control_underscore U+005d U+007d dead_tilde U+005f Control_bracketright Control_bracketright dead_tilde Control_underscore Meta_bracketright Meta_braceright dead_tilde Meta_underscore Meta_Control_bracketright Meta_Control_bracketright dead_tilde Meta_Control_underscore U+005d U+007d dead_tilde U+005f Control_bracketright Control_bracketright dead_tilde Control_underscore Meta_bracketright Meta_braceright dead_tilde Meta_underscore Meta_Control_bracketright Meta_Control_bracketright dead_tilde Meta_Control_underscore U+005d U+007d dead_tilde U+005f Control_bracketright Control_bracketright dead_tilde Control_underscore Meta_bracketright Meta_braceright dead_tilde Meta_underscore Meta_Control_bracketright Meta_Control_bracketright dead_tilde Meta_Control_underscore U+005d U+007d dead_tilde U+005f Control_bracketright Control_bracketright dead_tilde Control_underscore Meta_bracketright Meta_braceright dead_tilde Meta_underscore Meta_Control_bracketright Meta_Control_bracketright dead_tilde Meta_Control_underscore U+005d U+007d dead_tilde U+005f Control_bracketright Control_bracketright dead_tilde Control_underscore Meta_bracketright Meta_braceright dead_tilde Meta_underscore Meta_Control_bracketright Meta_Control_bracketright dead_tilde Meta_Control_underscore U+005d U+007d dead_tilde U+005f Control_bracketright Control_bracketright dead_tilde Control_underscore Meta_bracketright Meta_braceright dead_tilde Meta_underscore Meta_Control_bracketright Meta_Control_bracketright dead_tilde Meta_Control_underscore U+005d U+007d dead_tilde U+005f Control_bracketright Control_bracketright dead_tilde Control_underscore Meta_bracketright Meta_braceright dead_tilde Meta_underscore Meta_Control_bracketright Meta_Control_bracketright dead_tilde Meta_Control_underscore +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+00e6 +U+00c6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+00c6 +U+00e6 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+00df U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 U+00a7 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 32 = +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+00f0 +U+00d0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+00d0 +U+00f0 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 33 = +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0111 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0110 +U+00aa Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 34 = +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+014b +U+014a Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+014a +U+014b Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 35 = +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0127 +U+0126 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0126 +U+0127 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_H Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 36 = +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a U+0309 U+031b Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_J Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 37 = +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+0138 U+0026 Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_ampersand Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 38 = +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0141 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 39 = U+003b U+003a dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute Meta_semicolon Meta_colon dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute U+003b U+003a dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute Meta_semicolon Meta_colon dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute U+003b U+003a dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute Meta_semicolon Meta_colon dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute U+003b U+003a dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute Meta_semicolon Meta_colon dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute U+003b U+003a dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute Meta_semicolon Meta_colon dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute U+003b U+003a dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute Meta_semicolon Meta_colon dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute U+003b U+003a dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute Meta_semicolon Meta_colon dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute U+003b U+003a dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute Meta_semicolon Meta_colon dead_acute dead_doubleacute dead_acute dead_doubleacute dead_acute dead_doubleacute +keycode 40 = U+0027 U+0040 dead_circumflex dead_caron Control_g nul dead_circumflex dead_caron Meta_apostrophe Meta_at dead_circumflex dead_caron Meta_Control_g Meta_nul dead_circumflex dead_caron U+0027 U+0040 dead_circumflex dead_caron Control_g nul dead_circumflex dead_caron Meta_apostrophe Meta_at dead_circumflex dead_caron Meta_Control_g Meta_nul dead_circumflex dead_caron U+0027 U+0040 dead_circumflex dead_caron Control_g nul dead_circumflex dead_caron Meta_apostrophe Meta_at dead_circumflex dead_caron Meta_Control_g Meta_nul dead_circumflex dead_caron U+0027 U+0040 dead_circumflex dead_caron Control_g nul dead_circumflex dead_caron Meta_apostrophe Meta_at dead_circumflex dead_caron Meta_Control_g Meta_nul dead_circumflex dead_caron U+0027 U+0040 dead_circumflex dead_caron Control_g nul dead_circumflex dead_caron Meta_apostrophe Meta_at dead_circumflex dead_caron Meta_Control_g Meta_nul dead_circumflex dead_caron U+0027 U+0040 dead_circumflex dead_caron Control_g nul dead_circumflex dead_caron Meta_apostrophe Meta_at dead_circumflex dead_caron Meta_Control_g Meta_nul dead_circumflex dead_caron U+0027 U+0040 dead_circumflex dead_caron Control_g nul dead_circumflex dead_caron Meta_apostrophe Meta_at dead_circumflex dead_caron Meta_Control_g Meta_nul dead_circumflex dead_caron U+0027 U+0040 dead_circumflex dead_caron Control_g nul dead_circumflex dead_caron Meta_apostrophe Meta_at dead_circumflex dead_caron Meta_Control_g Meta_nul dead_circumflex dead_caron +keycode 41 = U+0060 U+00ac U+007c U+007c nul nul nul nul Meta_grave Meta_grave Meta_bar Meta_bar Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+00ac U+007c U+007c nul nul nul nul Meta_grave Meta_grave Meta_bar Meta_bar Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+00ac U+007c U+007c nul nul nul nul Meta_grave Meta_grave Meta_bar Meta_bar Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+00ac U+007c U+007c nul nul nul nul Meta_grave Meta_grave Meta_bar Meta_bar Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+00ac U+007c U+007c nul nul nul nul Meta_grave Meta_grave Meta_bar Meta_bar Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+00ac U+007c U+007c nul nul nul nul Meta_grave Meta_grave Meta_bar Meta_bar Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+00ac U+007c U+007c nul nul nul nul Meta_grave Meta_grave Meta_bar Meta_bar Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+00ac U+007c U+007c nul nul nul nul Meta_grave Meta_grave Meta_bar Meta_bar Meta_nul Meta_nul Meta_nul Meta_nul +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = U+0023 U+007e dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_numbersign Meta_asciitilde dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+0023 U+007e dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_numbersign Meta_asciitilde dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+0023 U+007e dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_numbersign Meta_asciitilde dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+0023 U+007e dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_numbersign Meta_asciitilde dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+0023 U+007e dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_numbersign Meta_asciitilde dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+0023 U+007e dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_numbersign Meta_asciitilde dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+0023 U+007e dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_numbersign Meta_asciitilde dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve U+0023 U+007e dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve Meta_numbersign Meta_asciitilde dead_grave dead_breve dead_grave dead_breve dead_grave dead_breve +keycode 44 = +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a U+00ab U+003c Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_less Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 45 = +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 U+00bb U+003e Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_greater Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 46 = +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 U+00a2 U+00a9 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 47 = +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 U+201c U+2018 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 48 = +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 U+201d U+2019 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 49 = +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 50 = +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+00b5 +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+039c +U+00ba Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 51 = U+002c U+003c U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+2500 U+00d7 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 52 = U+002e U+003e U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_greater Compose Compose Compose Compose U+002e U+003e U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_greater Compose Compose Compose Compose U+002e U+003e U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_greater Compose Compose Compose Compose U+002e U+003e U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_greater Compose Compose Compose Compose U+002e U+003e U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_greater Compose Compose Compose Compose U+002e U+003e U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_greater Compose Compose Compose Compose U+002e U+003e U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_greater Compose Compose Compose Compose U+002e U+003e U+00b7 U+00f7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_greater Compose Compose Compose Compose +keycode 53 = U+002f U+003f U+0323 U+002e Delete Delete Compose Compose Meta_slash Meta_question Meta_slash Meta_period Meta_Delete Meta_Delete Compose Compose U+002f U+003f U+0323 U+002e Delete Delete Compose Compose Meta_slash Meta_question Meta_slash Meta_period Meta_Delete Meta_Delete Compose Compose U+002f U+003f U+0323 U+002e Delete Delete Compose Compose Meta_slash Meta_question Meta_slash Meta_period Meta_Delete Meta_Delete Compose Compose U+002f U+003f U+0323 U+002e Delete Delete Compose Compose Meta_slash Meta_question Meta_slash Meta_period Meta_Delete Meta_Delete Compose Compose U+002f U+003f U+0323 U+002e Delete Delete Compose Compose Meta_slash Meta_question Meta_slash Meta_period Meta_Delete Meta_Delete Compose Compose U+002f U+003f U+0323 U+002e Delete Delete Compose Compose Meta_slash Meta_question Meta_slash Meta_period Meta_Delete Meta_Delete Compose Compose U+002f U+003f U+0323 U+002e Delete Delete Compose Compose Meta_slash Meta_question Meta_slash Meta_period Meta_Delete Meta_Delete Compose Compose U+002f U+003f U+0323 U+002e Delete Delete Compose Compose Meta_slash Meta_question Meta_slash Meta_period Meta_Delete Meta_Delete Compose Compose +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period +keycode 86 = U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_bar Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_bar Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_bar Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_bar Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_bar Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_bar Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_bar Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_bar Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose AltGr Compose +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/keymaps/usdvorak b/projects/grub/configs/keymaps/usdvorak new file mode 100644 index 00000000..b99b6a06 --- /dev/null +++ b/projects/grub/configs/keymaps/usdvorak @@ -0,0 +1,130 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul +keycode 4 = U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 5 = U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 6 = U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex U+0036 U+005e dead_circumflex dead_circumflex Control_asciicircum Control_asciicircum dead_circumflex dead_circumflex Meta_six Meta_asciicircum dead_circumflex dead_circumflex Meta_Control_asciicircum Meta_Control_asciicircum dead_circumflex dead_circumflex +keycode 8 = U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 9 = U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete +keycode 10 = U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave U+0039 U+0028 dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave Meta_nine Meta_parenleft dead_grave dead_grave dead_grave dead_grave dead_grave dead_grave +keycode 11 = U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 12 = U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 13 = U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde U+005d U+007d dead_tilde dead_tilde Control_bracketright Control_bracketright dead_tilde dead_tilde Meta_bracketright Meta_braceright dead_tilde dead_tilde Meta_Control_bracketright Meta_Control_bracketright dead_tilde dead_tilde +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = U+0027 U+0022 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0022 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0022 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0022 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0022 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0022 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0022 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis U+0027 U+0022 dead_acute dead_diaeresis Control_g Control_g dead_acute dead_diaeresis Meta_apostrophe Meta_quotedbl dead_acute dead_diaeresis Meta_Control_g Meta_Control_g dead_acute dead_diaeresis +keycode 17 = U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron U+002c U+003c dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron Meta_comma Meta_less dead_cedilla dead_caron dead_cedilla dead_caron dead_cedilla dead_caron +keycode 18 = U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+00b7 Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose +keycode 19 = +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 20 = +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 21 = +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 22 = +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 23 = +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 24 = +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 25 = +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 26 = U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete +keycode 27 = U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 32 = +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 33 = +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 34 = +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 35 = +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 36 = +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 37 = +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 38 = +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 39 = +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 40 = U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 41 = U+0060 U+007e dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+007e dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+007e dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+007e dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+007e dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+007e dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+007e dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde U+0060 U+007e dead_grave dead_tilde nul nul dead_grave dead_tilde Meta_grave Meta_asciitilde dead_grave dead_tilde Meta_nul Meta_nul dead_grave dead_tilde +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 44 = U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute U+003b U+003a dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute Meta_semicolon Meta_colon dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute dead_ogonek dead_doubleacute +keycode 45 = +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +keycode 46 = +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 47 = +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 48 = +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 49 = +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 50 = +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 51 = +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 52 = +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 53 = +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period +keycode 86 = U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = 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 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 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 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 +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/keymaps/usqwerty b/projects/grub/configs/keymaps/usqwerty new file mode 100644 index 00000000..51103234 --- /dev/null +++ b/projects/grub/configs/keymaps/usqwerty @@ -0,0 +1,130 @@ +keymaps 0-127 +keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 2 = U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0031 U+0021 U+0031 U+0031 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_one VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 3 = U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul U+0032 U+0040 U+0032 U+0032 nul nul nul nul Meta_two Meta_at Meta_two Meta_two Meta_nul Meta_nul Meta_nul Meta_nul +keycode 4 = U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+0033 U+0023 U+0033 U+0033 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_three Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 5 = U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+0034 U+0024 U+0034 U+0034 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 6 = U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+0035 U+0025 U+0035 U+0035 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_five Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 7 = U+0036 U+005e U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum U+0036 U+005e U+0036 U+0036 Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum +keycode 8 = U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+0037 U+0026 U+0037 U+0037 Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 9 = U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+0038 U+002a U+0038 U+0038 Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_eight Meta_Delete Meta_Delete Meta_Delete Meta_Delete +keycode 10 = U+0039 U+0028 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0028 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0028 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0028 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0028 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0028 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0028 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0039 U+0028 U+0039 U+0039 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 11 = U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+0030 U+0029 U+0030 U+0030 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 12 = U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore U+002d U+005f U+002d U+002d Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore +keycode 13 = U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003d U+002b U+003d U+003d VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_equal VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 16 = +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +U+0051 +U+0071 +U+0051 +U+0051 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q +keycode 17 = +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +U+0057 +U+0077 +U+0057 +U+0057 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_w Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w +keycode 18 = +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0065 +U+0045 +U+0065 +U+0065 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +U+0045 +U+0065 +U+0045 +U+0045 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_e Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e +keycode 19 = +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +U+0052 +U+0072 +U+0052 +U+0052 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_r Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r +keycode 20 = +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +U+0054 +U+0074 +U+0054 +U+0054 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_t Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t +keycode 21 = +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 +U+0059 +U+0059 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +keycode 22 = +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +U+0055 +U+0075 +U+0055 +U+0055 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_u Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u +keycode 23 = +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +U+0049 +U+0069 +U+0049 +U+0049 Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_i Meta_Tab Meta_Tab Meta_Tab Meta_Tab +keycode 24 = +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+006f +U+004f +U+006f +U+006f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +U+004f +U+006f +U+004f +U+004f Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_o Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o +keycode 25 = +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0070 +U+0050 +U+0070 +U+0070 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +U+0050 +U+0070 +U+0050 +U+0050 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_p Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p +keycode 26 = U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape U+005b U+007b U+005b U+005b Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape +keycode 27 = U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright U+005d U+007d U+005d U+005d Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright +keycode 28 = Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Return Return Return Return Control_m Control_m Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 29 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 30 = +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +U+0041 +U+0061 +U+0041 +U+0041 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_a Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a +keycode 31 = +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0073 +U+0053 +U+0073 +U+0073 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +U+0053 +U+0073 +U+0053 +U+0053 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_s Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s +keycode 32 = +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0064 +U+0044 +U+0064 +U+0064 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +U+0044 +U+0064 +U+0044 +U+0044 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_d Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d +keycode 33 = +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +U+0046 +U+0066 +U+0046 +U+0046 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_f Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f +keycode 34 = +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +U+0047 +U+0067 +U+0047 +U+0047 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_g Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 35 = +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +U+0048 +U+0068 +U+0048 +U+0048 BackSpace BackSpace BackSpace BackSpace Meta_h Meta_H Meta_h Meta_h Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace +keycode 36 = +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +U+004a +U+006a +U+004a +U+004a Linefeed Linefeed Linefeed Linefeed Meta_j Meta_J Meta_j Meta_j Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed +keycode 37 = +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+006b +U+004b +U+006b +U+006b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +U+004b +U+006b +U+004b +U+004b Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_k Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k +keycode 38 = +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+006c +U+006c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+004c +U+004c Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_l Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +keycode 39 = U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 40 = U+0027 U+0022 U+0027 U+0027 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+0022 U+0027 U+0027 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+0022 U+0027 U+0027 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+0022 U+0027 U+0027 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+0022 U+0027 U+0027 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+0022 U+0027 U+0027 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+0022 U+0027 U+0027 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g U+0027 U+0022 U+0027 U+0027 Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g +keycode 41 = U+0060 U+007e U+0060 U+0060 nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+007e U+0060 U+0060 nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+007e U+0060 U+0060 nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+007e U+0060 U+0060 nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+007e U+0060 U+0060 nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+007e U+0060 U+0060 nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+007e U+0060 U+0060 nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul U+0060 U+007e U+0060 U+0060 nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_grave Meta_nul Meta_nul Meta_nul Meta_nul +keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 43 = U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash U+005c U+007c U+005c U+005c Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash +keycode 44 = +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+007a +U+005a +U+007a +U+007a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +U+005a +U+007a +U+005a +U+005a Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z +keycode 45 = +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +U+0058 +U+0078 +U+0058 +U+0058 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_x Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x +keycode 46 = +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0063 +U+0043 +U+0063 +U+0063 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +U+0043 +U+0063 +U+0043 +U+0043 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_c Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c +keycode 47 = +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +U+0056 +U+0076 +U+0056 +U+0056 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_v Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v +keycode 48 = +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +U+0042 +U+0062 +U+0042 +U+0042 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_b Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b +keycode 49 = +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+006e +U+004e +U+006e +U+006e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +U+004e +U+006e +U+004e +U+004e Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_n Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n +keycode 50 = +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+006d +U+004d +U+006d +U+006d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +U+004d +U+006d +U+004d +U+004d Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m +keycode 51 = U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+002c U+003c U+002c U+002c VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_comma VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 52 = U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose U+002e U+003e U+002e U+002e Compose Compose Compose Compose Meta_period Meta_greater Meta_period Meta_period Compose Compose Compose Compose +keycode 53 = U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete U+002f U+003f U+002f U+002f Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_slash Meta_Delete Meta_Delete Meta_Delete Meta_Delete +keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift +keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply +keycode 56 = 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 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 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 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 +keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock +keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 +keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 +keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 +keycode 62 = F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 F4 F16 Console_16 Console_28 F28 F40 Console_16 Console_28 Console_4 Console_16 F4 F4 Console_4 Console_16 F4 F4 +keycode 63 = F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 F5 F17 Console_17 Console_29 F29 F41 Console_17 Console_29 Console_5 Console_17 F5 F5 Console_5 Console_17 F5 F5 +keycode 64 = F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 F6 F18 Console_18 Console_30 F30 F42 Console_18 Console_30 Console_6 Console_18 F6 F6 Console_6 Console_18 F6 F6 +keycode 65 = F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 F7 F19 Console_19 Console_31 F31 F43 Console_19 Console_31 Console_7 Console_19 F7 F7 Console_7 Console_19 F7 F7 +keycode 66 = F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 F8 F20 Console_20 Console_32 F32 F44 Console_20 Console_32 Console_8 Console_20 F8 F8 Console_8 Console_20 F8 F8 +keycode 67 = F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 F9 F21 Console_21 Console_33 F33 F45 Console_21 Console_33 Console_9 Console_21 F9 F9 Console_9 Console_21 F9 F9 +keycode 68 = F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 F10 F22 Console_22 Console_34 F34 F46 Console_22 Console_34 Console_10 Console_22 F10 F10 Console_10 Console_22 F10 F10 +keycode 69 = Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Hex_A Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock Num_Lock +keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State Scroll_Lock Scroll_Lock Scroll_Lock Show_Registers Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock Scroll_Lock +keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 Ascii_7 Hex_7 KP_7 KP_7 KP_7 KP_7 KP_7 KP_7 +keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 Ascii_8 Hex_8 KP_8 KP_8 KP_8 KP_8 KP_8 KP_8 +keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 Ascii_9 Hex_9 KP_9 KP_9 KP_9 KP_9 KP_9 KP_9 +keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract +keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 Ascii_4 Hex_4 KP_4 KP_4 KP_4 KP_4 KP_4 KP_4 +keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 Ascii_5 Hex_5 KP_5 KP_5 KP_5 KP_5 KP_5 KP_5 +keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 Ascii_6 Hex_6 KP_6 KP_6 KP_6 KP_6 KP_6 KP_6 +keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add +keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 Ascii_1 Hex_1 KP_1 KP_1 KP_1 KP_1 KP_1 KP_1 +keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 Ascii_2 Hex_2 KP_2 KP_2 KP_2 KP_2 KP_2 KP_2 +keycode 81 = KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 Ascii_3 Hex_3 KP_3 KP_3 KP_3 KP_3 KP_3 KP_3 +keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 Ascii_0 Hex_0 KP_0 KP_0 KP_0 KP_0 KP_0 KP_0 +keycode 83 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period KP_Period KP_Period KP_Period KP_Period Boot KP_Period Boot KP_Period +keycode 86 = U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol U+003c U+003e U+007c U+00a6 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_bar Meta_bar VoidSymbol VoidSymbol VoidSymbol VoidSymbol +keycode 87 = F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 F11 F23 Console_23 Console_35 F35 F47 Console_23 Console_35 Console_11 Console_23 F11 F11 Console_11 Console_23 F11 F11 +keycode 88 = F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 F12 F24 Console_24 Console_36 F36 F48 Console_24 Console_36 Console_12 Console_24 F12 F12 Console_12 Console_24 F12 F12 +keycode 102 = Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home Home +keycode 103 = Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up Up Up Up Up Up Up Up Up KeyboardSignal Up Up Up Up Up Up Up +keycode 104 = Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Scroll_Backward Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior Prior +keycode 105 = Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left Left Left Left Left Left Left Left Left Decr_Console Left Left Left Left Left Left Left +keycode 106 = Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right Right Right Right Right Right Right Right Right Incr_Console Right Right Right Right Right Right Right +keycode 107 = End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End End +keycode 108 = Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down Down +keycode 109 = Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next Next Scroll_Forward Next Next Next Next Next Next Next Next Next Next Next Next Next Next +keycode 110 = Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert Insert +keycode 111 = Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove Remove Remove Remove Remove Remove Remove Boot Remove Remove Remove Remove Remove Boot Remove Boot Remove +keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter +keycode 97 = Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control Control +keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause +keycode 99 = VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash VoidSymbol VoidSymbol Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash +keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide +keycode 100 = 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 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 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 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 +keycode 125 = 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 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 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 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 +keycode 126 = 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 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 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 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 +keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period +strings as usual +# The content of this file will be appended to the keyboard layout. +# For example if you uncomment the following lines Alt+j can be used +# to go to the next console and Alt+k can be used to go to the +# previous console: + +# alt keycode 36 = Incr_Console +# shiftl alt keycode 36 = Incr_Console +# shiftr alt keycode 36 = Incr_Console +# shiftr shiftl alt keycode 36 = Incr_Console +# ctrll alt keycode 36 = Incr_Console +# ctrll shiftl alt keycode 36 = Incr_Console +# ctrll shiftr alt keycode 36 = Incr_Console +# ctrll shiftr shiftl alt keycode 36 = Incr_Console + +# alt keycode 37 = Decr_Console +# shiftl alt keycode 37 = Decr_Console +# shiftr alt keycode 37 = Decr_Console +# shiftr shiftl alt keycode 37 = Decr_Console +# ctrll alt keycode 37 = Decr_Console +# ctrll shiftl alt keycode 37 = Decr_Console +# ctrll shiftr alt keycode 37 = Decr_Console +# ctrll shiftr shiftl alt keycode 37 = Decr_Console + diff --git a/projects/grub/configs/revision b/projects/grub/configs/revision new file mode 100644 index 00000000..ccc0d079 --- /dev/null +++ b/projects/grub/configs/revision @@ -0,0 +1 @@ +e54c99aaff5e5f6f5d3b06028506c57e66d8ef77 diff --git a/projects/grub/configs/targets b/projects/grub/configs/targets new file mode 100644 index 00000000..2a6ca760 --- /dev/null +++ b/projects/grub/configs/targets @@ -0,0 +1,3 @@ +bios +coreboot +uefi diff --git a/projects/grub/configs/uefi/arch b/projects/grub/configs/uefi/arch new file mode 100644 index 00000000..5a9a476a --- /dev/null +++ b/projects/grub/configs/uefi/arch @@ -0,0 +1 @@ +i386 diff --git a/projects/grub/configs/uefi/config b/projects/grub/configs/uefi/config new file mode 100644 index 00000000..e3792e94 --- /dev/null +++ b/projects/grub/configs/uefi/config @@ -0,0 +1,4 @@ +set prefix=(cbfsdisk)/fallback + +set root=(cbfsdisk) +source (cbfsdisk)/fallback/grub.cfg diff --git a/projects/grub/configs/uefi/format b/projects/grub/configs/uefi/format new file mode 100644 index 00000000..c723d7f2 --- /dev/null +++ b/projects/grub/configs/uefi/format @@ -0,0 +1 @@ +i386-efi diff --git a/projects/grub/configs/uefi/install b/projects/grub/configs/uefi/install new file mode 100644 index 00000000..35090e49 --- /dev/null +++ b/projects/grub/configs/uefi/install @@ -0,0 +1,196 @@ +i386-efi/acpi.mod:i386-efi/acpi.mod +i386-efi/adler32.mod:i386-efi/adler32.mod +i386-efi/affs.mod:i386-efi/affs.mod +i386-efi/afs.mod:i386-efi/afs.mod +i386-efi/ahci.mod:i386-efi/ahci.mod +i386-efi/all_video.mod:i386-efi/all_video.mod +i386-efi/archelp.mod:i386-efi/archelp.mod +i386-efi/ata.mod:i386-efi/ata.mod +i386-efi/at_keyboard.mod:i386-efi/at_keyboard.mod +i386-efi/backtrace.mod:i386-efi/backtrace.mod +i386-efi/bfs.mod:i386-efi/bfs.mod +i386-efi/bitmap.mod:i386-efi/bitmap.mod +i386-efi/bitmap_scale.mod:i386-efi/bitmap_scale.mod +i386-efi/boot.mod:i386-efi/boot.mod +i386-efi/bsd.mod:i386-efi/bsd.mod +i386-efi/btrfs.mod:i386-efi/btrfs.mod +i386-efi/cat.mod:i386-efi/cat.mod +i386-efi/cbfs.mod:i386-efi/cbfs.mod +i386-efi/cbls.mod:i386-efi/cbls.mod +i386-efi/cbmemc.mod:i386-efi/cbmemc.mod +i386-efi/cbtime.mod:i386-efi/cbtime.mod +i386-efi/chain.mod:i386-efi/chain.mod +i386-efi/cmp.mod:i386-efi/cmp.mod +i386-efi/configfile.mod:i386-efi/configfile.mod +i386-efi/cpio.mod:i386-efi/cpio.mod +i386-efi/cpio_be.mod:i386-efi/cpio_be.mod +i386-efi/cpuid.mod:i386-efi/cpuid.mod +i386-efi/crc64.mod:i386-efi/crc64.mod +i386-efi/crypto.mod:i386-efi/crypto.mod +i386-efi/cryptodisk.mod:i386-efi/cryptodisk.mod +i386-efi/cs5536.mod:i386-efi/cs5536.mod +i386-efi/date.mod:i386-efi/date.mod +i386-efi/datehook.mod:i386-efi/datehook.mod +i386-efi/datetime.mod:i386-efi/datetime.mod +i386-efi/disk.mod:i386-efi/disk.mod +i386-efi/diskfilter.mod:i386-efi/diskfilter.mod +i386-efi/div_test.mod:i386-efi/div_test.mod +i386-efi/echo.mod:i386-efi/echo.mod +i386-efi/ehci.mod:i386-efi/ehci.mod +i386-efi/elf.mod:i386-efi/elf.mod +i386-efi/eval.mod:i386-efi/eval.mod +i386-efi/exfat.mod:i386-efi/exfat.mod +i386-efi/ext2.mod:i386-efi/ext2.mod +i386-efi/extcmd.mod:i386-efi/extcmd.mod +i386-efi/fat.mod:i386-efi/fat.mod +i386-efi/file.mod:i386-efi/file.mod +i386-efi/fshelp.mod:i386-efi/fshelp.mod +i386-efi/gcry_arcfour.mod:i386-efi/gcry_arcfour.mod +i386-efi/gcry_blowfish.mod:i386-efi/gcry_blowfish.mod +i386-efi/gcry_camellia.mod:i386-efi/gcry_camellia.mod +i386-efi/gcry_cast5.mod:i386-efi/gcry_cast5.mod +i386-efi/gcry_crc.mod:i386-efi/gcry_crc.mod +i386-efi/gcry_des.mod:i386-efi/gcry_des.mod +i386-efi/gcry_dsa.mod:i386-efi/gcry_dsa.mod +i386-efi/gcry_idea.mod:i386-efi/gcry_idea.mod +i386-efi/gcry_md4.mod:i386-efi/gcry_md4.mod +i386-efi/gcry_md5.mod:i386-efi/gcry_md5.mod +i386-efi/gcry_rfc2268.mod:i386-efi/gcry_rfc2268.mod +i386-efi/gcry_rijndael.mod:i386-efi/gcry_rijndael.mod +i386-efi/gcry_rmd160.mod:i386-efi/gcry_rmd160.mod +i386-efi/gcry_rsa.mod:i386-efi/gcry_rsa.mod +i386-efi/gcry_seed.mod:i386-efi/gcry_seed.mod +i386-efi/gcry_serpent.mod:i386-efi/gcry_serpent.mod +i386-efi/gcry_sha1.mod:i386-efi/gcry_sha1.mod +i386-efi/gcry_sha256.mod:i386-efi/gcry_sha256.mod +i386-efi/gcry_sha512.mod:i386-efi/gcry_sha512.mod +i386-efi/gcry_tiger.mod:i386-efi/gcry_tiger.mod +i386-efi/gcry_twofish.mod:i386-efi/gcry_twofish.mod +i386-efi/gcry_whirlpool.mod:i386-efi/gcry_whirlpool.mod +i386-efi/gettext.mod:i386-efi/gettext.mod +i386-efi/gfxmenu.mod:i386-efi/gfxmenu.mod +i386-efi/gfxterm_background.mod:i386-efi/gfxterm_background.mod +i386-efi/gfxterm_menu.mod:i386-efi/gfxterm_menu.mod +i386-efi/gptsync.mod:i386-efi/gptsync.mod +i386-efi/gzio.mod:i386-efi/gzio.mod +i386-efi/halt.mod:i386-efi/halt.mod +i386-efi/hashsum.mod:i386-efi/hashsum.mod +i386-efi/hdparm.mod:i386-efi/hdparm.mod +i386-efi/help.mod:i386-efi/help.mod +i386-efi/hexdump.mod:i386-efi/hexdump.mod +i386-efi/hfs.mod:i386-efi/hfs.mod +i386-efi/hfsplus.mod:i386-efi/hfsplus.mod +i386-efi/http.mod:i386-efi/http.mod +i386-efi/iorw.mod:i386-efi/iorw.mod +i386-efi/iso9660.mod:i386-efi/iso9660.mod +i386-efi/jfs.mod:i386-efi/jfs.mod +i386-efi/jpeg.mod:i386-efi/jpeg.mod +i386-efi/keystatus.mod:i386-efi/keystatus.mod +i386-efi/linux.mod:i386-efi/linux.mod +i386-efi/linux16.mod:i386-efi/linux16.mod +i386-efi/loadenv.mod:i386-efi/loadenv.mod +i386-efi/loopback.mod:i386-efi/loopback.mod +i386-efi/ls.mod:i386-efi/ls.mod +i386-efi/lsacpi.mod:i386-efi/lsacpi.mod +i386-efi/lsmmap.mod:i386-efi/lsmmap.mod +i386-efi/lspci.mod:i386-efi/lspci.mod +i386-efi/luks.mod:i386-efi/luks.mod +i386-efi/lvm.mod:i386-efi/lvm.mod +i386-efi/lzopio.mod:i386-efi/lzopio.mod +i386-efi/mdraid09.mod:i386-efi/mdraid09.mod +i386-efi/mdraid09_be.mod:i386-efi/mdraid09_be.mod +i386-efi/mdraid1x.mod:i386-efi/mdraid1x.mod +i386-efi/memdisk.mod:i386-efi/memdisk.mod +i386-efi/memrw.mod:i386-efi/memrw.mod +i386-efi/minicmd.mod:i386-efi/minicmd.mod +i386-efi/minix.mod:i386-efi/minix.mod +i386-efi/minix2.mod:i386-efi/minix2.mod +i386-efi/minix2_be.mod:i386-efi/minix2_be.mod +i386-efi/minix3.mod:i386-efi/minix3.mod +i386-efi/minix3_be.mod:i386-efi/minix3_be.mod +i386-efi/minix_be.mod:i386-efi/minix_be.mod +i386-efi/mmap.mod:i386-efi/mmap.mod +i386-efi/morse.mod:i386-efi/morse.mod +i386-efi/mpi.mod:i386-efi/mpi.mod +i386-efi/msdospart.mod:i386-efi/msdospart.mod +i386-efi/multiboot.mod:i386-efi/multiboot.mod +i386-efi/multiboot2.mod:i386-efi/multiboot2.mod +i386-efi/nativedisk.mod:i386-efi/nativedisk.mod +i386-efi/net.mod:i386-efi/net.mod +i386-efi/newc.mod:i386-efi/newc.mod +i386-efi/nilfs2.mod:i386-efi/nilfs2.mod +i386-efi/normal.mod:i386-efi/normal.mod +i386-efi/ntfs.mod:i386-efi/ntfs.mod +i386-efi/ntfscomp.mod:i386-efi/ntfscomp.mod +i386-efi/odc.mod:i386-efi/odc.mod +i386-efi/offsetio.mod:i386-efi/offsetio.mod +i386-efi/ohci.mod:i386-efi/ohci.mod +i386-efi/part_bsd.mod:i386-efi/part_bsd.mod +i386-efi/part_gpt.mod:i386-efi/part_gpt.mod +i386-efi/part_msdos.mod:i386-efi/part_msdos.mod +i386-efi/parttool.mod:i386-efi/parttool.mod +i386-efi/password.mod:i386-efi/password.mod +i386-efi/password_pbkdf2.mod:i386-efi/password_pbkdf2.mod +i386-efi/pata.mod:i386-efi/pata.mod +i386-efi/pbkdf2.mod:i386-efi/pbkdf2.mod +i386-efi/pcidump.mod:i386-efi/pcidump.mod +i386-efi/play.mod:i386-efi/play.mod +i386-efi/png.mod:i386-efi/png.mod +i386-efi/priority_queue.mod:i386-efi/priority_queue.mod +i386-efi/probe.mod:i386-efi/probe.mod +i386-efi/procfs.mod:i386-efi/procfs.mod +i386-efi/progress.mod:i386-efi/progress.mod +i386-efi/raid5rec.mod:i386-efi/raid5rec.mod +i386-efi/raid6rec.mod:i386-efi/raid6rec.mod +i386-efi/read.mod:i386-efi/read.mod +i386-efi/reboot.mod:i386-efi/reboot.mod +i386-efi/regexp.mod:i386-efi/regexp.mod +i386-efi/reiserfs.mod:i386-efi/reiserfs.mod +i386-efi/relocator.mod:i386-efi/relocator.mod +i386-efi/romfs.mod:i386-efi/romfs.mod +i386-efi/scsi.mod:i386-efi/scsi.mod +i386-efi/search.mod:i386-efi/search.mod +i386-efi/search_fs_file.mod:i386-efi/search_fs_file.mod +i386-efi/search_fs_uuid.mod:i386-efi/search_fs_uuid.mod +i386-efi/search_label.mod:i386-efi/search_label.mod +i386-efi/serial.mod:i386-efi/serial.mod +i386-efi/setjmp.mod:i386-efi/setjmp.mod +i386-efi/setpci.mod:i386-efi/setpci.mod +i386-efi/sfs.mod:i386-efi/sfs.mod +i386-efi/sleep.mod:i386-efi/sleep.mod +i386-efi/spkmodem.mod:i386-efi/spkmodem.mod +i386-efi/squash4.mod:i386-efi/squash4.mod +i386-efi/syslinuxcfg.mod:i386-efi/syslinuxcfg.mod +i386-efi/tar.mod:i386-efi/tar.mod +i386-efi/terminal.mod:i386-efi/terminal.mod +i386-efi/terminfo.mod:i386-efi/terminfo.mod +i386-efi/test.mod:i386-efi/test.mod +i386-efi/testload.mod:i386-efi/testload.mod +i386-efi/testspeed.mod:i386-efi/testspeed.mod +i386-efi/tftp.mod:i386-efi/tftp.mod +i386-efi/tga.mod:i386-efi/tga.mod +i386-efi/time.mod:i386-efi/time.mod +i386-efi/tr.mod:i386-efi/tr.mod +i386-efi/trig.mod:i386-efi/trig.mod +i386-efi/true.mod:i386-efi/true.mod +i386-efi/udf.mod:i386-efi/udf.mod +i386-efi/ufs1.mod:i386-efi/ufs1.mod +i386-efi/ufs1_be.mod:i386-efi/ufs1_be.mod +i386-efi/ufs2.mod:i386-efi/ufs2.mod +i386-efi/uhci.mod:i386-efi/uhci.mod +i386-efi/usb.mod:i386-efi/usb.mod +i386-efi/usb_keyboard.mod:i386-efi/usb_keyboard.mod +i386-efi/usbms.mod:i386-efi/usbms.mod +i386-efi/usbserial_common.mod:i386-efi/usbserial_common.mod +i386-efi/usbserial_ftdi.mod:i386-efi/usbserial_ftdi.mod +i386-efi/usbserial_pl2303.mod:i386-efi/usbserial_pl2303.mod +i386-efi/usbserial_usbdebug.mod:i386-efi/usbserial_usbdebug.mod +i386-efi/usbtest.mod:i386-efi/usbtest.mod +i386-efi/verify.mod:i386-efi/verify.mod +i386-efi/video_colors.mod:i386-efi/video_colors.mod +i386-efi/videoinfo.mod:i386-efi/videoinfo.mod +i386-efi/videotest.mod:i386-efi/videotest.mod +i386-efi/videotest_checksum.mod:i386-efi/videotest_checksum.mod +i386-efi/xfs.mod:i386-efi/xfs.mod +i386-efi/xzio.mod:i386-efi/xzio.mod +i386-efi/zfs.mod:i386-efi/zfs.mod diff --git a/projects/grub/configs/uefi/modules-minimal b/projects/grub/configs/uefi/modules-minimal new file mode 100644 index 00000000..310aef86 --- /dev/null +++ b/projects/grub/configs/uefi/modules-minimal @@ -0,0 +1,11 @@ +ahci +cbmemc +ehci +ext2 +halt +part_bsd +part_gpt +pata +reboot +usbms +verify diff --git a/projects/grub/configs/uefi/platform b/projects/grub/configs/uefi/platform new file mode 100644 index 00000000..9d3492ad --- /dev/null +++ b/projects/grub/configs/uefi/platform @@ -0,0 +1 @@ +efi diff --git a/projects/grub/grub b/projects/grub/grub new file mode 100755 index 00000000..4962da4f --- /dev/null +++ b/projects/grub/grub @@ -0,0 +1,123 @@ +#!/usr/bin/env bash + +# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +arguments() { + project_arguments_targets "$project" "$@" +} + +usage() { + project_usage_actions "$project" + project_usage_arguments "$project" "$@" +} + +download() { + local repository="$project" + + project_download_git "$project" "$repository" 'https://git.savannah.gnu.org/r/grub.git' "$@" +} + +download_check() { + local repository="$project" + + project_download_check_git "$project" "$repository" "$@" +} + +extract() { + project_extract "$project" "$@" +} + +extract_check() { + project_extract_check "$project" "$@" +} + +update() { + local repository="$project" + + project_update_git "$project" "$repository" "$@" +} + +update_check() { + local repository="$project" + + project_update_check_git "$project" "$repository" "$@" +} + +build() { + local target="$1" + local repository="$project" + + project_sources_directory_missing_empty_error "$project" "$repository" "$@" + + if git_project_check "$repository"; then + git_project_checkout "$project" "$repository" "$@" + fi + + local project_path="$(project_path "$project")" + local sources_path="$(project_sources_path "$project" "$repository" "$@")" + local build_path="$(project_build_path "$project" "$@")" + local raw_keymap_path="$project_path/$CONFIGS/keymaps" + + mkdir -p "$build_path" + + grub_build_utils + + if [[ "$target" == 'bios' ]]; then + grub_build_floppy_image + else + grub_build_standalone_image + fi + + for raw_keymap in "$raw_keymap_path"/*; do + grub_build_layout "$raw_keymap" + done + + grub_build_font + + grub_copy_modules + + make -C "$sources_path" distclean +} + +build_check() { + project_build_check "$project" "$@" +} + +install() { + project_install "$project" "$@" +} + +install_check() { + project_install_check "$project" "$@" +} + +release() { + local repository="$project" + + project_release_install_archive "$project" "$IMAGES" "$@" + project_release_sources_git "$project" "$repository" "$@" +} + +release_check() { + local repository="$project" + + project_release_install_archive_check "$project" "$IMAGES" "$@" + project_release_check_sources_git "$project" "$repository" "$@" +} + +clean() { + project_clean "$project" "$@" +} diff --git a/projects/grub/grub-helper b/projects/grub/grub-helper new file mode 100755 index 00000000..dd069290 --- /dev/null +++ b/projects/grub/grub-helper @@ -0,0 +1,212 @@ +#!/usr/bin/env bash + +# Copyright (C) 2017 Andrew Robbins <contact@andrewrobbins.info> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +ARCH='arch' +CONFIG='config' +FONTS='fonts' +FONT_FILE='font-file' +FONT_PROJECT='font-project' +FORMAT='format' +MODMIN='modules-minimal' +PLATFORM='platform' +PREFIX='prefix' +SIZE='size' + +grub_arch() { + project_file_contents "$project" "$CONFIGS" "$ARCH" "$@" +} + +grub_font_file() { + project_file_contents "$project" "$CONFIGS" "$FONT_FILE" "$@" +} + +grub_font_project() { + project_file_contents "$project" "$CONFIGS" "$FONT_PROJECT" "$@" +} + +grub_format() { + project_file_contents "$project" "$CONFIGS" "$FORMAT" "$@" +} + +grub_platform() { + project_file_contents "$project" "$CONFIGS" "$PLATFORM" "$@" +} + +grub_prefix() { + project_file_contents "$project" "$CONFIGS" "$PREFIX" "$@" +} + +grub_size() { + project_file_contents "$project" "$CONFIGS" "$SIZE" "$@" +} + +grub_config_path() { + project_file_path "$project" "$CONFIGS" "$CONFIG" "$@" +} + +grub_modmin_path() { + project_file_path "$project" "$CONFIGS" "$MODMIN" "$@" +} + +grub_copy_modules() { + local grub_module_dir="$sources_path/grub-core" + local keep_dir="$build_path/$(grub_format "$target" "$@")" + + mkdir -p "$keep_dir" + + cp -a "$grub_module_dir"/*.@(mod|lst) "$keep_dir" +} + +grub_build_font() { + # Font project-specific filenames and paths + local font_file="$(grub_font_file "$FONTS" "$@")" + local font_project="$(grub_font_project "$FONTS" "$@")" + local font_build_dir="$root/$BUILD/$font_project" + + local grub_mkfont="$sources_path/grub-mkfont" + + # GRUB font directory for outputting the built PF2 file + mkdir -p "$build_path/$FONTS" + + "$grub_mkfont" --output="$build_path/$FONTS/${font_file%.*}.pf2" \ + "$font_build_dir/$font_file" +} + +grub_build_utils() { + ( + # If arch and/or platform files don't exist, + # the configure script will pick a reasonable default + local arch="$(grub_arch "$target" "$@")" + local platform="$(grub_platform "$target" "$@")" + + cd "$sources_path" || return + + if git_project_check "$repository"; then + ./autogen.sh + fi + + ./configure --target="$arch" --with-platform="$platform" + + make -j"$TASKS" + ) +} + +grub_build_layout() { + local raw_layout="${1##*/}" + local raw_layout_path="$1" + local keymap_out_path="$build_path/keymaps" + local grub_mklayout="$sources_path/grub-mklayout" + local grub_kbd_layout="$keymap_out_path/$raw_layout.gkb" + + if ! [[ -e "$keymap_out_path" ]]; then + mkdir -p "$keymap_out_path" + elif ! [[ -d "$keymap_out_path" ]]; then + printf '\n%s\n' "Error: File $keymap_out_path is not a directory" 1>&2 + + return 1 + fi + + "$grub_mklayout" --output="$grub_kbd_layout" --input="$raw_layout_path" +} + +grub_build_bootable_image() { + local arch="$(grub_arch "$target" "$@")" + local format="$(grub_format "$target" "$@")" + local prefix="$(grub_prefix "$target" "$@")" + local config_path="$(grub_config_path "$target" "$@")" + + local grub_mkimage="$sources_path/grub-mkimage" + local grub_module_dir="$sources_path/grub-core" + + local grubimg="$build_path/grub.img" + local grub_bootimg="$grub_module_dir/boot.img" + local grub_bootable_img="$build_path/grub2" + + "$grub_mkimage" \ + --config="$config_path" \ + --directory="$grub_module_dir" \ + --output="$grubimg" \ + --format="$format" \ + --prefix="$prefix" \ + cbfs configfile + + cat "$grub_bootimg" "$grubimg" > "$grub_bootable_img" + rm -f "$grubimg" +} + +grub_build_floppy_image() { + local grubimg="$build_path/grub2" + local tempfile="$build_path/temp.file" + + if ! grub_build_bootable_image "$@"; then + printf '\n%s\n\n' "Error: Failed to build a GRUB image" 1>&2 + + return 1 + fi + + local size="$(grub_size "$target" "$@")" + + # Pre-allocate a floppy-sized image + # SeaBIOS requires floppy images to have a "correct" size + if ! [[ -e "$tempfile" ]]; then + dd if=/dev/zero of="$tempfile" bs=1024 count="${size:-160}" + else + printf '\n%s\n\n' "Error: File $tempfile already exists!" 1>&2 + + return 1 + fi + + local -i grubimg_size="$(stat -c %s "$grubimg")" + local -i floppy_size="$((${size:-160} * 1024))" + + # Graft the GRUB image onto the blank floppy image + if ((grubimg_size <= floppy_size)); then + dd if="$grubimg" of="$tempfile" bs=1 conv=notrunc + + rm -f "$grubimg" + mv "$tempfile" "$grubimg" + else + printf '\n%s' "Error: Image ${grubimg##*/} is too large; " 1>&2 + printf '%s\n\n' "it must be less than ${size}KiB in size" 1>&2 + + return 1 + fi +} + +grub_build_standalone_image() { + local arch="$(grub_arch "$target" "$@")" + local format="$(grub_format "$target" "$@")" + local prefix="$(grub_prefix "$target" "$@")" + local config_path="$(grub_config_path "$target" "$@")" + + local grubimg="$build_path/grub2" + + local grub_mkimage="$sources_path/grub-mkimage" + local grub_mkstandalone="$sources_path/grub-mkstandalone" + local grub_module_dir="$sources_path/grub-core" + + "$grub_mkstandalone" \ + --grub-mkimage="$grub_mkimage" \ + --fonts='' \ + --themes='' \ + --locales='' \ + --install-modules='cbfs configfile' \ + --directory="$grub_module_dir" \ + --format="$format" \ + --output="$grubimg" \ + /boot/grub/grub.cfg="$config_path" +} diff --git a/projects/grub/install/corebootfb/AUTHORS b/projects/grub/install/corebootfb/AUTHORS new file mode 100644 index 00000000..0157cfed --- /dev/null +++ b/projects/grub/install/corebootfb/AUTHORS @@ -0,0 +1,2 @@ +Copyright (C) 2014, 2015, 2016 Leah Rowe <info@minifree.org> +Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> diff --git a/projects/grub/install/corebootfb/COPYING b/projects/grub/install/corebootfb/COPYING new file mode 100644 index 00000000..3b78313b --- /dev/null +++ b/projects/grub/install/corebootfb/COPYING @@ -0,0 +1,695 @@ +# GRUB configuration files under projects/grub/install/ + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +# See AUTHORS for copyright holder information. + +# Full terms of GPLv3 below, taken from https://www.gnu.org/licenses/licenses.html +________________________________________________________________________ + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/projects/grub/install/corebootfb/background/COPYING b/projects/grub/install/corebootfb/background/COPYING new file mode 100644 index 00000000..9467677a --- /dev/null +++ b/projects/grub/install/corebootfb/background/COPYING @@ -0,0 +1,3 @@ +These images are based on http://libreboot.org/logo/logo.svg +which is Copyright 2014 Marcus Moeller and released under CC-0 +https://creativecommons.org/publicdomain/zero/1.0/legalcode diff --git a/projects/grub/install/corebootfb/background/background1024x768.png b/projects/grub/install/corebootfb/background/background1024x768.png Binary files differnew file mode 100644 index 00000000..2689d5d8 --- /dev/null +++ b/projects/grub/install/corebootfb/background/background1024x768.png diff --git a/projects/grub/install/corebootfb/background/background1280x800.png b/projects/grub/install/corebootfb/background/background1280x800.png Binary files differnew file mode 100644 index 00000000..0570c879 --- /dev/null +++ b/projects/grub/install/corebootfb/background/background1280x800.png diff --git a/projects/grub/install/corebootfb/background/logo.svg b/projects/grub/install/corebootfb/background/logo.svg new file mode 100644 index 00000000..62147c1d --- /dev/null +++ b/projects/grub/install/corebootfb/background/logo.svg @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="80mm" + height="80mm" + viewBox="0 0 283.46457 283.46456" + id="svg3349" + version="1.1" + inkscape:version="0.91 r13725" + sodipodi:docname="Libreboot_Logo_Deer_only_black.svg"> + <defs + id="defs3351" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4" + inkscape:cx="507.97245" + inkscape:cy="-55.115733" + inkscape:document-units="px" + inkscape:current-layer="layer1" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1920" + inkscape:window-height="1150" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" /> + <metadata + id="metadata3354"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Ebene 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-244.04728,-370.46192)"> + <path + inkscape:connector-curvature="0" + id="path10" + d="m 461.38431,532.68555 0.79438,-2.14488 c 1.82712,-4.76644 3.49543,-9.77117 4.76645,-14.93478 0.39734,-1.35049 0.55641,-2.62157 0.63551,-3.89259 -0.15906,2.78039 -0.0792,1.03274 0,-0.63551 0.39734,-7.86464 0.31751,-11.91611 -0.15906,-15.96757 -0.31751,-2.93927 -0.5558,-5.79912 -0.5558,-8.65898 -0.0792,-2.54209 -0.15906,-4.92532 -0.39735,-7.30854 -0.0792,-1.03273 -0.0792,-2.06541 -0.0792,-3.17761 0,-3.57483 0.39735,-7.0702 1.27108,-10.56556 l 1.27102,-0.55641 c 4.76644,-2.14494 8.97679,-5.32255 12.39274,-9.29454 l 1.66825,0 c 1.90659,0 3.81312,-0.23829 5.64024,-0.71498 2.38322,-0.55641 4.68703,-1.4299 6.91132,-2.46263 1.03273,-0.47657 1.98599,-1.1122 2.78044,-1.82712 0.55641,-0.55641 1.03268,-1.27108 1.4299,-1.98606 0.47657,-1.03267 1.27108,-1.82712 2.30375,-2.30375 0.95333,-0.47658 1.74772,-1.11215 2.14494,-2.06547 0.39735,-0.71492 0.31751,-1.58878 -0.0792,-2.30376 -0.47657,-0.79438 -1.27108,-1.50936 -2.14494,-1.74771 -0.95327,-0.39734 -1.90653,-0.71492 -2.78039,-1.11214 -1.58883,-0.71498 -2.85985,-1.27108 -4.05146,-1.82712 -0.63551,-0.31751 -2.62151,-1.03273 -4.60751,-1.50937 -2.14493,-0.63551 -4.21034,-1.1122 -6.27581,-1.66824 -1.58883,-0.47657 -4.05146,-1.50937 -6.27581,-2.93932 -2.93926,-1.74772 -5.95799,-3.25702 -9.05619,-4.44869 -2.22429,-0.8738 -4.68698,-1.35049 -7.14961,-1.50937 l -3.0982,0 -0.23829,-0.55641 -1.03273,-4.76638 -0.63551,-3.89259 -0.31751,-1.986 0.71498,-0.39734 c 3.49536,-2.22435 6.5141,-5.0048 8.97673,-8.26181 0.5564,-0.63551 0.71497,-1.42996 0.5564,-2.22435 -0.15906,-1.11214 -1.19161,-1.90659 -2.30375,-1.90659 -0.47657,0 -0.95326,0.15906 -1.27108,0.47657 l -3.17761,2.06547 c -2.14487,1.50937 -4.36922,2.78045 -6.67297,3.97206 l -0.47657,-0.63557 c -2.62157,-3.01874 -4.13094,-6.91132 -4.13094,-10.96279 l 0,-1.58877 c 0.23829,-1.66825 0.47657,-3.49537 0.71498,-5.40196 0.0792,-0.55641 0,-1.11214 -0.15906,-1.58883 -0.31751,-0.71492 -0.55579,-1.4299 -0.8738,-1.986 -0.15906,-0.55641 -0.6355,-0.95327 -1.19161,-1.03274 -0.63551,0 -1.19161,0 -1.74771,0.23829 -0.55641,0.23829 -1.19161,0.47657 -1.74765,0.79439 -0.55641,0.31751 -0.87386,0.79438 -1.03273,1.42989 -0.95333,3.01874 -1.35049,6.11694 -1.35049,9.29455 0,3.73371 0.63551,7.46742 1.82712,11.04225 0.55641,1.27102 1.11214,2.54204 1.82712,3.65424 1.19161,2.06547 2.22434,4.13088 3.17761,6.27581 1.27108,3.09814 1.90659,6.35522 1.90659,9.69171 l 0,0.71498 -1.03274,0.55641 c -2.5421,1.50936 -4.60756,3.73371 -5.87858,6.43468 l -0.95327,0 c -3.6543,0.31751 -7.22907,1.11215 -10.56562,2.46264 -2.06541,0.79438 -3.972,2.06546 -5.48136,3.57483 -0.31751,0.39735 -0.63551,0.87386 -0.79439,1.35049 l 0.8738,0.39734 1.19161,0.71498 1.19161,0.71492 1.03273,0.63557 c 0.47657,0.31751 1.03274,0.55641 1.58884,0.71492 1.35049,0.23828 2.62151,0.47657 3.97199,0.47657 2.30376,0.0792 4.60757,0.47657 6.83192,1.1122 l -0.55641,1.11215 c -0.63557,1.27108 -1.19161,2.54209 -1.66825,3.81318 -1.1122,3.49536 -2.06546,6.99072 -2.78044,10.48609 -1.58884,7.70577 -3.17761,14.85537 -4.92532,22.00504 -0.47658,2.14487 -1.4299,4.28975 -2.5421,6.27581 -4.28976,7.54683 -10.64497,13.6637 -18.35074,17.55629 -4.05147,2.14488 -8.42069,3.49543 -12.94879,4.28981 -7.30848,1.11214 -14.61702,1.82712 -21.8461,2.06541 -5.56083,0.15906 -11.36001,0.71498 -17.00025,1.82718 -2.62157,0.47657 -5.16361,0.95326 -7.6263,1.50937 -4.28975,0.87385 -8.57956,2.22428 -12.71044,3.97199 -4.76644,1.986 -9.21513,4.5281 -13.18713,7.70571 -3.33648,2.62157 -5.87858,6.11693 -7.30854,10.1684 -0.23829,0.55641 -0.31751,1.19161 -0.31751,1.82712 0,1.35049 0.47657,2.62151 1.42996,3.65424 0.95326,1.03273 2.30375,1.42996 3.65424,1.19161 l -1.11214,1.90659 c -0.47657,0.63551 -0.79439,1.35049 -1.11214,2.06547 -0.63558,1.74765 -1.19162,3.41596 -1.66831,5.24308 -1.35049,4.92526 -2.46263,9.6917 -3.41589,14.53755 -0.31751,1.82713 -1.50937,3.73372 -3.33655,5.0842 -0.63551,0.47658 -1.35049,0.95333 -2.06541,1.19162 -1.986,0.87385 -4.05146,1.50936 -6.03746,1.98599 -2.62157,0.55641 -5.0842,1.19161 -7.46742,1.74772 -0.55641,0.15906 -1.27102,0.63551 -1.74772,1.27102 -0.63551,0.95332 -1.11214,1.90659 -1.27102,3.01873 -0.15906,0.79445 -0.3175,1.50942 -0.39734,2.30381 -0.71498,4.28975 -1.74772,8.65897 -3.17761,12.78991 -1.42996,4.21034 -3.25708,8.34122 -5.32255,12.31327 -0.71492,1.35049 -1.42989,2.5421 -2.30375,3.81312 -0.63551,0.95327 -1.35049,2.06547 -1.82712,3.17761 -0.47657,0.95327 -0.95327,1.82712 -1.50937,2.70098 -0.31751,0.55641 -0.95332,1.03273 -1.58883,1.27108 l -0.87386,0.15906 c -1.66824,0.31751 -3.25702,0.79439 -4.68697,1.58877 -1.58878,0.79445 -3.09814,1.58884 -4.68692,2.38323 -3.49542,1.82712 -7.0702,5.16367 -9.6123,9.29454 -0.15906,0.31751 -0.31751,0.79439 -0.31751,1.27102 0,0.31751 0.0792,0.71498 0.23829,1.1122 0.47657,0.95327 1.50937,1.50937 2.5421,1.50937 10.00946,0.23828 19.54229,-3.89259 26.29473,-11.36001 1.98606,-2.22429 4.21034,-4.76639 6.51416,-7.22908 7.86458,-8.73844 12.63103,-15.01425 16.7619,-21.68722 0.31751,-0.47657 0.71498,-0.71498 1.1122,-0.71498 0.23829,0 0.39735,0 0.55641,0.0792 0.79439,0.39735 1.50937,0.63557 2.38316,0.71498 1.03274,0.23829 2.4627,0.39735 3.89259,0.71498 1.82712,0.23829 3.65431,0.31751 5.40196,0 2.85985,-0.39735 5.71971,-1.03273 8.42068,-1.986 4.05147,-1.35049 7.86459,-3.41595 11.20114,-6.11693 5.40195,-4.21034 10.64497,-8.89732 15.80863,-13.74323 2.5421,-2.46263 5.48137,-4.36922 8.73845,-5.71971 9.05619,-3.81312 18.74796,-6.27575 28.59854,-7.22908 3.65424,-0.31751 7.46742,-0.63551 11.20113,-0.79438 2.22429,-0.15907 4.5281,-0.39735 6.75238,-0.95327 2.62157,-0.71498 6.11694,-1.50936 9.6123,-2.38322 3.6543,-1.03274 6.1964,-1.74771 8.57957,-2.70098 4.05152,-1.50936 8.02352,-3.25708 11.91611,-5.00473 l 1.19161,0.47657 c 1.4299,0.71492 3.01873,1.11214 4.68697,1.27102 5.24308,0.23829 10.56557,-0.31751 15.64977,-1.82712 l 4.36922,-1.19161 2.14487,-0.63551 2.14488,-0.71498 3.01873,-0.95326 2.70098,-0.87386 c 1.98606,-0.55641 3.97205,-1.19161 6.03746,-1.82712 3.0982,-0.87386 4.92532,-1.35049 6.83191,-1.74771 l -1.11214,1.98599 -6.43469,12.47216 -6.59356,12.31327 -0.0792,0.23829 -1.66824,0.31751 c -1.27108,0.15906 -2.5421,0.47657 -3.73371,0.95332 -4.76645,1.90653 -9.29454,4.36922 -13.34601,7.46736 -1.35049,1.11221 -2.5421,2.46269 -3.25702,4.13094 -0.15906,0.31751 -0.47657,0.71498 -0.71498,1.03273 -0.23828,0.23829 -0.31751,0.5558 -0.31751,0.8738 0,0.39734 0.23829,0.87385 0.63551,1.1122 0.71498,0.39735 1.50937,0.87386 2.30376,1.27102 0.15906,0.0792 0.47657,0.15906 0.71498,0.23828 0.87385,0.0792 1.74771,0.15907 2.70097,0.15907 1.11221,0.0792 2.22435,0.15906 3.41596,0.23828 1.03273,0.0792 1.986,0 2.85985,-0.31751 1.50937,-0.47657 3.09814,-1.03273 4.60757,-1.74765 1.986,-0.95333 3.89253,-1.98606 5.71971,-3.17767 1.4299,-0.95327 2.78039,-2.06541 3.972,-3.33649 0.63551,-0.63551 2.38322,-2.46263 4.13087,-4.36922 5.00479,-5.16361 8.02352,-8.65897 10.88338,-12.2338 2.38316,-2.93933 4.5281,-5.95806 6.75244,-8.97679 1.986,-2.85986 3.81312,-5.6403 5.48136,-8.57956 0.87386,-1.42996 1.58884,-2.85986 2.38323,-4.36922 0.63551,-1.27109 1.11214,-2.70098 1.27101,-4.05147 0.31751,-1.58884 0,-3.25708 -0.79438,-4.60757 -0.63551,-0.95326 -1.42996,-1.66824 -2.46263,-2.22428 -0.55641,-0.23829 -1.11221,-0.39735 -1.74772,-0.55641 -0.39734,-0.0792 -0.79438,-0.23829 -1.19161,-0.47657 -1.11214,-0.79445 -2.38322,-1.35049 -3.73371,-1.66824 -0.55641,-0.15907 -1.27102,-0.23829 -1.90653,-0.23829 l -5.00479,0.15906 -2.70097,0.15906 -4.28976,0.15907 -10.16839,0 -4.05147,0.15906 c -4.8547,0.20942 -9.70939,1.08125 -14.23307,2.43837 z" + style="fill:#000000" /> + </g> +</svg> diff --git a/projects/grub/install/corebootfb/grub.cfg b/projects/grub/install/corebootfb/grub.cfg new file mode 100644 index 00000000..f61e2684 --- /dev/null +++ b/projects/grub/install/corebootfb/grub.cfg @@ -0,0 +1,172 @@ +insmod nativedisk +insmod ehci +insmod ohci +insmod uhci +insmod usb +insmod usbms +insmod usbserial_pl2303 +insmod usbserial_ftdi +insmod usbserial_usbdebug +insmod png + +# Serial and keyboard configuration, very important. +serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 +terminal_input --append serial +terminal_output --append serial +terminal_input --append at_keyboard +terminal_output --append cbmemc +terminal_output --append gfxterm + +load_env --file (cbfsdisk)/grubenv + +# User's preferred keyboard layout +if [ -n "${keymap}" ]; then + keymap "${keymap}" +fi + +# Prettify GRUB +background_image "${gfxterm_background}" + +function try_user_config { + set root="${1}" + for dir in boot grub grub2 boot/grub boot/grub2; do + for name in libreboot_ autoboot_ librecore_ coreboot_ ''; do + if [ -f /"${dir}"/"${name}"grub.cfg ]; then + unset superusers + configfile /"${dir}"/"${name}"grub.cfg + fi + done + done +} + +function search_grub { + for i in 0 1; do + # raw devices + try_user_config "(${1}${i})" + for part in 1 2 3 4 5; do + # MBR/GPT partitions + try_user_config "(${1}${i},${part})" + done + done +} + +function try_isolinux_config { + set root="${1}" + for dir in '' /boot; do + if [ -f "${dir}"/isolinux/isolinux.cfg ]; then + syslinux_configfile -i "${dir}"/isolinux/isolinux.cfg + elif [ -f "${dir}"/syslinux/syslinux.cfg ]; then + syslinux_configfile -s "${dir}"/syslinux/syslinux.cfg + fi + done +} + +function search_isolinux { + for i in 0 1; do + # raw devices + try_isolinux_config "(${1}${i})" + for part in 1 2 3 4 5; do + # MBR/GPT partitions + try_isolinux_config "(${1}${i},${part})" + done + done +} + +menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' { +# GRUB2 handles (almost) every possible disk setup, but only the location of +# /boot is actually important since GRUB2 only loads the user's config. + +# LVM, RAID, filesystems and encryption on both raw devices and partitions in +# all various combinations need to be supported. Since full disk encryption is +# possible with GRUB2 as payload and probably even used by most users, this +# configuration tries to load the operating system in the following way: + +# 1. Look for user configuration on unencrypted devices first to avoid +# unnecessary decryption routines in the following order: + +# 1) raw devices and MBR/GPT partitions + search_grub ahci + search_grub ata +# 2) LVM and RAID which might be used accross multiple devices + lvm="lvm/matrix-rootvol lvm/matrix-boot" + raid="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9" + for vol in ${lvm} ${raid}; do + try_user_config "(${vol})" + done +# 2. In case no configuration could be found, try decrypting devices. Look +# on raw crypto devices as well as inside LVM volumes this time. + +# The user will be prompted for a passphrase if a LUKS header was found. + for dev in ahci0 ata0 usb0 ${lvm}; do + cryptomount "(${dev})" + done +# 3) encrypted devices/partitions + for i in 0 1; do + for part in 1 2 3 4 5; do + for type in ahci ata; do + cryptomount "(${type}${i},${part})" + done + done + done + +# 3) encrypted devices/partitions + search_grub crypto +# 4) LVM inside LUKS containers + for vol in ${lvm}; do + try_user_config "(${vol})" + done + + # Last resort, if all else fails + set root=ahci0,1 + for p in / /boot/; do + if [ -f "${p}vmlinuz" ]; then + linux ${p}vmlinuz root=/dev/sda1 rw + if [ -f "${p}initrd.img" ]; then + initrd ${p}initrd.img + fi + fi + done + + # Last resort (for GA-G41-ES2L which uses IDE emulation mode for SATA) + set root=ata0,1 + for p in / /boot/; do + if [ -f "${p}vmlinuz" ]; then + linux ${p}vmlinuz root=/dev/sda1 rw + if [ -f "${p}initrd.img" ]; then + initrd ${p}initrd.img + fi + fi + done +} + +menuentry 'Search ISOLINUX menu (AHCI) [a]' --hotkey='a' { + search_isolinux ahci +} + +menuentry 'Search ISOLINUX menu (USB) [u]' --hotkey='u' { + search_isolinux usb +} + +menuentry 'Search ISOLINUX menu (CD/DVD) [d]' --hotkey='d' { + insmod ata + for dev in ata0 ata1 ata2 ata3 ahci1; do + try_isolinux_config "(${dev})" + done +} + +menuentry 'Load test configuration (grubtest.cfg) inside of CBFS [t]' --hotkey='t' { + set root='(cbfsdisk)' + configfile /grubtest.cfg +} + +menuentry 'Search for GRUB2 configuration on external media [s]' --hotkey='s' { + search_grub usb +} + +menuentry 'Poweroff [p]' --hotkey='p' { + halt +} + +menuentry 'Reboot [r]' --hotkey='r' { + reboot +} diff --git a/projects/grub/install/corebootfb/grubtest.cfg b/projects/grub/install/corebootfb/grubtest.cfg new file mode 100644 index 00000000..50beb915 --- /dev/null +++ b/projects/grub/install/corebootfb/grubtest.cfg @@ -0,0 +1,172 @@ +insmod nativedisk +insmod ehci +insmod ohci +insmod uhci +insmod usb +insmod usbms +insmod usbserial_pl2303 +insmod usbserial_ftdi +insmod usbserial_usbdebug +insmod png + +# Serial and keyboard configuration, very important. +serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 +terminal_input --append serial +terminal_output --append serial +terminal_input --append at_keyboard +terminal_output --append cbmemc +terminal_output --append gfxterm + +load_env --file (cbfsdisk)/grubenv + +# User's preferred keyboard layout +if [ -n "${keymap}" ]; then + keymap "${keymap}" +fi + +# Prettify GRUB +background_image "${gfxterm_background}" + +function try_user_config { + set root="${1}" + for dir in boot grub grub2 boot/grub boot/grub2; do + for name in libreboot_ autoboot_ librecore_ coreboot_ ''; do + if [ -f /"${dir}"/"${name}"grub.cfg ]; then + unset superusers + configfile /"${dir}"/"${name}"grub.cfg + fi + done + done +} + +function search_grub { + for i in 0 1; do + # raw devices + try_user_config "(${1}${i})" + for part in 1 2 3 4 5; do + # MBR/GPT partitions + try_user_config "(${1}${i},${part})" + done + done +} + +function try_isolinux_config { + set root="${1}" + for dir in '' /boot; do + if [ -f "${dir}"/isolinux/isolinux.cfg ]; then + syslinux_configfile -i "${dir}"/isolinux/isolinux.cfg + elif [ -f "${dir}"/syslinux/syslinux.cfg ]; then + syslinux_configfile -s "${dir}"/syslinux/syslinux.cfg + fi + done +} + +function search_isolinux { + for i in 0 1; do + # raw devices + try_isolinux_config "(${1}${i})" + for part in 1 2 3 4 5; do + # MBR/GPT partitions + try_isolinux_config "(${1}${i},${part})" + done + done +} + +menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' { +# GRUB2 handles (almost) every possible disk setup, but only the location of +# /boot is actually important since GRUB2 only loads the user's config. + +# LVM, RAID, filesystems and encryption on both raw devices and partitions in +# all various combinations need to be supported. Since full disk encryption is +# possible with GRUB2 as payload and probably even used by most users, this +# configuration tries to load the operating system in the following way: + +# 1. Look for user configuration on unencrypted devices first to avoid +# unnecessary decryption routines in the following order: + +# 1) raw devices and MBR/GPT partitions + search_grub ahci + search_grub ata +# 2) LVM and RAID which might be used accross multiple devices + lvm="lvm/matrix-rootvol lvm/matrix-boot" + raid="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9" + for vol in ${lvm} ${raid}; do + try_user_config "(${vol})" + done +# 2. In case no configuration could be found, try decrypting devices. Look +# on raw crypto devices as well as inside LVM volumes this time. + +# The user will be prompted for a passphrase if a LUKS header was found. + for dev in ahci0 ata0 usb0 ${lvm}; do + cryptomount "(${dev})" + done +# 3) encrypted devices/partitions + for i in 0 1; do + for part in 1 2 3 4 5; do + for type in ahci ata; do + cryptomount "(${type}${i},${part})" + done + done + done + +# 3) encrypted devices/partitions + search_grub crypto +# 4) LVM inside LUKS containers + for vol in ${lvm}; do + try_user_config "(${vol})" + done + + # Last resort, if all else fails + set root=ahci0,1 + for p in / /boot/; do + if [ -f "${p}vmlinuz" ]; then + linux ${p}vmlinuz root=/dev/sda1 rw + if [ -f "${p}initrd.img" ]; then + initrd ${p}initrd.img + fi + fi + done + + # Last resort (for GA-G41-ES2L which uses IDE emulation mode for SATA) + set root=ata0,1 + for p in / /boot/; do + if [ -f "${p}vmlinuz" ]; then + linux ${p}vmlinuz root=/dev/sda1 rw + if [ -f "${p}initrd.img" ]; then + initrd ${p}initrd.img + fi + fi + done +} + +menuentry 'Search ISOLINUX menu (AHCI) [a]' --hotkey='a' { + search_isolinux ahci +} + +menuentry 'Search ISOLINUX menu (USB) [u]' --hotkey='u' { + search_isolinux usb +} + +menuentry 'Search ISOLINUX menu (CD/DVD) [d]' --hotkey='d' { + insmod ata + for dev in ata0 ata1 ata2 ata3 ahci1; do + try_isolinux_config "(${dev})" + done +} + +menuentry 'Load standard configuration (grub.cfg) inside of CBFS [t]' --hotkey='t' { + set root='(cbfsdisk)' + configfile /grub.cfg +} + +menuentry 'Search for GRUB2 configuration on external media [s]' --hotkey='s' { + search_grub usb +} + +menuentry 'Poweroff [p]' --hotkey='p' { + halt +} + +menuentry 'Reboot [r]' --hotkey='r' { + reboot +} diff --git a/projects/grub/install/grubenv b/projects/grub/install/grubenv new file mode 100644 index 00000000..3c4b0022 --- /dev/null +++ b/projects/grub/install/grubenv @@ -0,0 +1,17 @@ +# GRUB Environment Block +color_highlight=black/white +color_normal=white/black +default=0 +gfxpayload=keep +gfxterm_background=(cbfsdisk)/background.png +gfxterm_font=(cbfsdisk)/fonts/dejavusansmono.pf2 +i_want_a_brick= +keymap=(cbfsdisk)/keymaps/default.gkb +lang= +locale_dir=(cbfsdisk)/locale +menu_color_highlight=black/white +menu_color_normal=white/black +pager=1 +timeout=1 +timeout_style=menu +#############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
\ No newline at end of file diff --git a/projects/grub/install/install b/projects/grub/install/install new file mode 100644 index 00000000..31fd22fa --- /dev/null +++ b/projects/grub/install/install @@ -0,0 +1,7 @@ +grubenv:grubenv +textmode/grub.cfg:textmode/grub.cfg +textmode/grubtest.cfg:textmode/grubtest.cfg +corebootfb/grub.cfg:corebootfb/grub.cfg +corebootfb/grubtest.cfg:corebootfb/grubtest.cfg +corebootfb/background/background1024x768.png:corebootfb/background/background1024x768.png +corebootfb/background/background1280x800.png:corebootfb/background/background1280x800.png diff --git a/projects/grub/install/textmode/AUTHORS b/projects/grub/install/textmode/AUTHORS new file mode 100644 index 00000000..0157cfed --- /dev/null +++ b/projects/grub/install/textmode/AUTHORS @@ -0,0 +1,2 @@ +Copyright (C) 2014, 2015, 2016 Leah Rowe <info@minifree.org> +Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> diff --git a/projects/grub/install/textmode/COPYING b/projects/grub/install/textmode/COPYING new file mode 100644 index 00000000..a41d4868 --- /dev/null +++ b/projects/grub/install/textmode/COPYING @@ -0,0 +1,695 @@ +# GRUB configuration files under projects/grub/install + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +# + +# See AUTHORS for copyright holder information. + +# Full terms of GPLv3 below, taken from https://www.gnu.org/licenses/licenses.html +________________________________________________________________________ + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/projects/grub/install/textmode/grub.cfg b/projects/grub/install/textmode/grub.cfg new file mode 100644 index 00000000..90946c01 --- /dev/null +++ b/projects/grub/install/textmode/grub.cfg @@ -0,0 +1,172 @@ +insmod nativedisk +insmod ehci +insmod ohci +insmod uhci +insmod usb +insmod usbms +insmod usbserial_pl2303 +insmod usbserial_ftdi +insmod usbserial_usbdebug + +# Serial and keyboard configuration, very important. +serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 +terminal_input --append serial +terminal_output --append serial +terminal_input --append at_keyboard +terminal_output --append cbmemc +terminal_output --append gfxterm + +load_env --file (cbfsdisk)/grubenv + +# User's preferred keyboard layout +if [ -n "${keymap}" ]; then + keymap "${keymap}" +fi + +function try_user_config { + set root="${1}" + for dir in boot grub grub2 boot/grub boot/grub2; do + for name in libreboot_ autoboot_ librecore_ coreboot_ ''; do + if [ -f /"${dir}"/"${name}"grub.cfg ]; then + unset superusers + configfile /"${dir}"/"${name}"grub.cfg + fi + done + done +} + +function search_grub { + for i in 0 1; do + # raw devices + try_user_config "(${1}${i})" + for part in 1 2 3 4 5; do + # MBR/GPT partitions + try_user_config "(${1}${i},${part})" + done + done +} + +function try_isolinux_config { + set root="${1}" + for dir in '' /boot; do + if [ -f "${dir}"/isolinux/isolinux.cfg ]; then + syslinux_configfile -i "${dir}"/isolinux/isolinux.cfg + elif [ -f "${dir}"/syslinux/syslinux.cfg ]; then + syslinux_configfile -s "${dir}"/syslinux/syslinux.cfg + fi + done +} + +function search_isolinux { + for i in 0 1; do + # raw devices + try_isolinux_config "(${1}${i})" + for part in 1 2 3 4 5; do + # MBR/GPT partitions + try_isolinux_config "(${1}${i},${part})" + done + done +} + +menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' { +# GRUB2 handles (almost) every possible disk setup, but only the location of +# /boot is actually important since GRUB2 only loads the user's config. + +# LVM, RAID, filesystems and encryption on both raw devices and partitions in +# all various combinations need to be supported. Since full disk encryption is +# possible with GRUB2 as payload and probably even used by most users, this +# configuration tries to load the operating system in the following way: + +# 1. Look for user configuration on unencrypted devices first to avoid +# unnecessary decryption routines in the following order: + +# 1) raw devices and MBR/GPT partitions + search_grub ahci + search_grub ata +# 2) LVM and RAID which might be used accross multiple devices + lvm="lvm/matrix-rootvol lvm/matrix-boot" + raid="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9" + for vol in ${lvm} ${raid}; do + try_user_config "(${vol})" + done +# 2. In case no configuration could be found, try decrypting devices. Look +# on raw crypto devices as well as inside LVM volumes this time. + +# The user will be prompted for a passphrase if a LUKS header was found. + for dev in ahci0 ata0 usb0 ${lvm}; do + cryptomount "(${dev})" + done +# 3) encrypted devices/partitions + for i in 0 1; do + for part in 1 2 3 4 5; do + for type in ahci ata; do + cryptomount "(${type}${i},${part})" + done + done + done + +# 3) encrypted devices/partitions + search_grub crypto +# 4) LVM inside LUKS containers + for vol in ${lvm}; do + try_user_config "(${vol})" + done + + # Last resort, if all else fails + set root=ahci0,1 + for p in / /boot/; do + if [ -f "${p}vmlinuz" ]; then + linux ${p}vmlinuz root=/dev/sda1 rw + if [ -f "${p}initrd.img" ]; then + initrd ${p}initrd.img + fi + fi + done + + # Last resort (for GA-G41-ES2L which uses IDE emulation mode for SATA) + set root=ata0,1 + for p in / /boot/; do + if [ -f "${p}vmlinuz" ]; then + linux ${p}vmlinuz root=/dev/sda1 rw + if [ -f "${p}initrd.img" ]; then + initrd ${p}initrd.img + fi + fi + done +} + +menuentry 'Search ISOLINUX menu (AHCI) [a]' --hotkey='a' { + search_isolinux ahci +} + +menuentry 'Search ISOLINUX menu (USB) [u]' --hotkey='u' { + search_isolinux usb +} + +menuentry 'Search ISOLINUX menu (CD/DVD) [d]' --hotkey='d' { + insmod ata + for dev in ata0 ata1 ata2 ata3 ahci1; do + try_isolinux_config "(${dev})" + done +} + +menuentry 'Load test configuration (grubtest.cfg) inside of CBFS [t]' --hotkey='t' { + set root='(cbfsdisk)' + configfile /grubtest.cfg +} + +menuentry 'Search for GRUB2 configuration on external media [s]' --hotkey='s' { + search_grub usb +} + +menuentry 'Load MemTest86+ [m]' --hotkey='m' { + linux16 (cbfsdisk)/memtest.bin +} + +menuentry 'Poweroff [p]' --hotkey='p' { + halt +} + +menuentry 'Reboot [r]' --hotkey='r' { + reboot +} diff --git a/projects/grub/install/textmode/grubtest.cfg b/projects/grub/install/textmode/grubtest.cfg new file mode 100644 index 00000000..d9ab637d --- /dev/null +++ b/projects/grub/install/textmode/grubtest.cfg @@ -0,0 +1,172 @@ +insmod nativedisk +insmod ehci +insmod ohci +insmod uhci +insmod usb +insmod usbms +insmod usbserial_pl2303 +insmod usbserial_ftdi +insmod usbserial_usbdebug + +# Serial and keyboard configuration, very important. +serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 +terminal_input --append serial +terminal_output --append serial +terminal_input --append at_keyboard +terminal_output --append cbmemc +terminal_output --append gfxterm + +load_env --file (cbfsdisk)/grubenv + +# User's preferred keyboard layout +if [ -n "${keymap}" ]; then + keymap "${keymap}" +fi + +function try_user_config { + set root="${1}" + for dir in boot grub grub2 boot/grub boot/grub2; do + for name in libreboot_ autoboot_ librecore_ coreboot_ ''; do + if [ -f /"${dir}"/"${name}"grub.cfg ]; then + unset superusers + configfile /"${dir}"/"${name}"grub.cfg + fi + done + done +} + +function search_grub { + for i in 0 1; do + # raw devices + try_user_config "(${1}${i})" + for part in 1 2 3 4 5; do + # MBR/GPT partitions + try_user_config "(${1}${i},${part})" + done + done +} + +function try_isolinux_config { + set root="${1}" + for dir in '' /boot; do + if [ -f "${dir}"/isolinux/isolinux.cfg ]; then + syslinux_configfile -i "${dir}"/isolinux/isolinux.cfg + elif [ -f "${dir}"/syslinux/syslinux.cfg ]; then + syslinux_configfile -s "${dir}"/syslinux/syslinux.cfg + fi + done +} + +function search_isolinux { + for i in 0 1; do + # raw devices + try_isolinux_config "(${1}${i})" + for part in 1 2 3 4 5; do + # MBR/GPT partitions + try_isolinux_config "(${1}${i},${part})" + done + done +} + +menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' { +# GRUB2 handles (almost) every possible disk setup, but only the location of +# /boot is actually important since GRUB2 only loads the user's config. + +# LVM, RAID, filesystems and encryption on both raw devices and partitions in +# all various combinations need to be supported. Since full disk encryption is +# possible with GRUB2 as payload and probably even used by most users, this +# configuration tries to load the operating system in the following way: + +# 1. Look for user configuration on unencrypted devices first to avoid +# unnecessary decryption routines in the following order: + +# 1) raw devices and MBR/GPT partitions + search_grub ahci + search_grub ata +# 2) LVM and RAID which might be used accross multiple devices + lvm="lvm/matrix-rootvol lvm/matrix-boot" + raid="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9" + for vol in ${lvm} ${raid}; do + try_user_config "(${vol})" + done +# 2. In case no configuration could be found, try decrypting devices. Look +# on raw crypto devices as well as inside LVM volumes this time. + +# The user will be prompted for a passphrase if a LUKS header was found. + for dev in ahci0 ata0 usb0 ${lvm}; do + cryptomount "(${dev})" + done +# 3) encrypted devices/partitions + for i in 0 1; do + for part in 1 2 3 4 5; do + for type in ahci ata; do + cryptomount "(${type}${i},${part})" + done + done + done + +# 3) encrypted devices/partitions + search_grub crypto +# 4) LVM inside LUKS containers + for vol in ${lvm}; do + try_user_config "(${vol})" + done + + # Last resort, if all else fails + set root=ahci0,1 + for p in / /boot/; do + if [ -f "${p}vmlinuz" ]; then + linux ${p}vmlinuz root=/dev/sda1 rw + if [ -f "${p}initrd.img" ]; then + initrd ${p}initrd.img + fi + fi + done + + # Last resort (for GA-G41-ES2L which uses IDE emulation mode for SATA) + set root=ata0,1 + for p in / /boot/; do + if [ -f "${p}vmlinuz" ]; then + linux ${p}vmlinuz root=/dev/sda1 rw + if [ -f "${p}initrd.img" ]; then + initrd ${p}initrd.img + fi + fi + done +} + +menuentry 'Search ISOLINUX menu (AHCI) [a]' --hotkey='a' { + search_isolinux ahci +} + +menuentry 'Search ISOLINUX menu (USB) [u]' --hotkey='u' { + search_isolinux usb +} + +menuentry 'Search ISOLINUX menu (CD/DVD) [d]' --hotkey='d' { + insmod ata + for dev in ata0 ata1 ata2 ata3 ahci1; do + try_isolinux_config "(${dev})" + done +} + +menuentry 'Load standard configuration (grub.cfg) inside of CBFS [t]' --hotkey='t' { + set root='(cbfsdisk)' + configfile /grub.cfg +} + +menuentry 'Search for GRUB2 configuration on external media [s]' --hotkey='s' { + search_grub usb +} + +menuentry 'Load MemTest86+ [m]' --hotkey='m' { + linux16 (cbfsdisk)/memtest.bin +} + +menuentry 'Poweroff [p]' --hotkey='p' { + halt +} + +menuentry 'Reboot [r]' --hotkey='r' { + reboot +} diff --git a/projects/grub/patches/0001-grub-core-normal-main.c-Display-FREE-AS-IN-FREEDOM-n.patch b/projects/grub/patches/0001-grub-core-normal-main.c-Display-FREE-AS-IN-FREEDOM-n.patch new file mode 100644 index 00000000..cba69991 --- /dev/null +++ b/projects/grub/patches/0001-grub-core-normal-main.c-Display-FREE-AS-IN-FREEDOM-n.patch @@ -0,0 +1,26 @@ +From 721f09ef24e1879667ac3469c17774450602b29e Mon Sep 17 00:00:00 2001 +From: Leah Rowe <info@minifree.org> +Date: Sat, 14 Feb 2015 01:24:23 +0000 +Subject: [PATCH 01/10] grub-core/normal/main.c: Display "FREE AS IN FREEDOM", + not version + +--- + grub-core/normal/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c +index 78a70a8..982bde3 100644 +--- a/grub-core/normal/main.c ++++ b/grub-core/normal/main.c +@@ -208,7 +208,7 @@ grub_normal_init_page (struct grub_term_output *term, + + grub_term_cls (term); + +- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION); ++ msg_formatted = grub_xasprintf("FREE AS IN FREEDOM"); + if (!msg_formatted) + return; + +-- +1.9.1 + diff --git a/projects/hdctools/hdctools b/projects/hdctools/hdctools index 9a7abdf0..e30b1f7a 100755 --- a/projects/hdctools/hdctools +++ b/projects/hdctools/hdctools @@ -58,8 +58,8 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$@" - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") if git_project_check "$repository" then diff --git a/projects/libpayload/configs/depthcharge/veyron/targets b/projects/libpayload/configs/depthcharge/veyron/targets new file mode 100644 index 00000000..1722192f --- /dev/null +++ b/projects/libpayload/configs/depthcharge/veyron/targets @@ -0,0 +1,2 @@ +minnie +speedy diff --git a/projects/libpayload/libpayload b/projects/libpayload/libpayload index fc5f8764..4fb90eb1 100755 --- a/projects/libpayload/libpayload +++ b/projects/libpayload/libpayload @@ -34,21 +34,19 @@ build() { git_project_checkout "$repository" "$repository" "$@" fi - local coreboot_sources_path=$( project_sources_path "$repository" "$repository" "$@" ) + local coreboot_sources_path=$(project_sources_path "$repository" "$repository" "$@") local sources_path="$coreboot_sources_path/payloads/libpayload/" - local build_path=$( project_build_path "$project" "$@" ) + local build_path=$(project_build_path "$project" "$@") local build_install_path="$build_path/install" - local config=$( libpayload_config "$@" ) - local config_path="configs/$config" + local config_name=$(libpayload_config "$@") + local config_path="$sources_path/configs/$config_name" - local arch=$( libpayload_arch "$@" ) + local arch=$(libpayload_arch "$@") - local crossgcc_build_path=$( project_build_path "crossgcc" "$arch" ) + local crossgcc_build_path=$(project_build_path "crossgcc" "$arch") local crossgcc_bin_path="$crossgcc_build_path/bin/" - project_action "build" "crossgcc" "$arch" - rm -f "$sources_path/.xcompile" mkdir -p "$build_path" diff --git a/projects/libreboot-release/install/libreboot-release b/projects/libreboot-release/install/libreboot-release index 08c4d64b..469d4db4 100644 --- a/projects/libreboot-release/install/libreboot-release +++ b/projects/libreboot-release/install/libreboot-release @@ -27,18 +27,18 @@ CHECKSUM="sha256sum" ASC="asc" usage() { - printf '%s\n' "$executable [action] [projects...]" >&2 - - printf '\n%s\n' 'Actions:' >&2 - printf '%s\n' ' download - Download project files' >&2 - printf '%s\n' ' sources - Download project sources' >&2 - printf '%s\n' ' verify - Verify project files' >&2 - printf '%s\n' ' extract - Extract project files' >&2 - printf '%s\n' ' prepare - Download, verify and extract project files' >&2 - - printf '\n%s\n' 'Environment variables:' >&2 - printf '%s\n' ' MACHINE - Machine architecture to use' >&2 - printf '%s\n' ' DOWNLOAD_URL - Base URL to download files from' >&2 + printf 1>&2 '%s\n' "$executable [action] [projects...]" + + printf 1>&2 '\n%s\n' 'Actions:' + printf 1>&2 '%s\n' ' download - Download project files' + printf 1>&2 '%s\n' ' sources - Download project sources' + printf 1>&2 '%s\n' ' verify - Verify project files' + printf 1>&2 '%s\n' ' extract - Extract project files' + printf 1>&2 '%s\n' ' prepare - Download, verify and extract project files' + + printf 1>&2 '\n%s\n' 'Environment variables:' + printf 1>&2 '%s\n' ' MACHINE - Machine architecture to use' + printf 1>&2 '%s\n' ' DOWNLOAD_URL - Base URL to download files from' } download() { @@ -85,7 +85,7 @@ download() { IFS=$ifs_save done - printf '%s\n' "Could not download $project from $DOWNLOAD_URL" >&2 + printf 1>&2 '%s\n' "Could not download $project from $DOWNLOAD_URL" return 1 } @@ -104,7 +104,7 @@ sources() { printf '\n%s\n' "Downloaded $project sources" else - printf '%s\n' "Could not download $project sources from $DOWNLOAD_URL" >&2 + printf 1>&2 '%s\n' "Could not download $project sources from $DOWNLOAD_URL" return 1 fi @@ -153,14 +153,14 @@ verify() { sha256sum -c "$project.$ARCHIVE.$CHECKSUM" ) else - printf '%s\n' "Could not verify $project checksum!" >&2 + printf 1>&2 '%s\n' "Could not verify $project checksum!" fi if [ -f "$signature_path" ] then gpg --armor --verify "$signature_path" "$path" else - printf '%s\n' "Could not verify $project signature!" >&2 + printf 1>&2 '%s\n' "Could not verify $project signature!" fi printf '\n%s\n' "Verified $project" @@ -171,7 +171,7 @@ verify() { IFS=$ifs_save done - printf '%s\n' "Could not verify $project" >&2 + printf 1>&2 '%s\n' "Could not verify $project" return 1 } @@ -225,7 +225,7 @@ extract() { IFS=$ifs_save done - printf '%s\n' "Could not extract $project" >&2 + printf 1>&2 '%s\n' "Could not extract $project" return 1 } @@ -239,7 +239,7 @@ requirements() { if [ -z "$requirement_path" ] then - printf '%s\n' "Missing requirement: $requirement" >&2 + printf 1>&2 '%s\n' "Missing requirement: $requirement" exit 1 fi done @@ -256,7 +256,7 @@ setup() { if [ -z "$DOWNLOAD_URL" ] then - printf '%s\n' 'Missing download URL' >&2 + printf 1>&2 '%s\n' 'Missing download URL' exit 1 fi } diff --git a/projects/libreboot-release/libreboot-release b/projects/libreboot-release/libreboot-release index d693f503..ed9604e1 100755 --- a/projects/libreboot-release/libreboot-release +++ b/projects/libreboot-release/libreboot-release @@ -16,7 +16,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. install() { - local install_path=$( project_install_path "$project" "$@" ) + local install_path=$(project_install_path "$project" "$@") project_install "$project" "$@" } diff --git a/projects/libreboot-sources/install/libreboot-sources b/projects/libreboot-sources/install/libreboot-sources index d836054d..162aef32 100755 --- a/projects/libreboot-sources/install/libreboot-sources +++ b/projects/libreboot-sources/install/libreboot-sources @@ -21,12 +21,12 @@ SOURCES="sources" ARCHIVE="tar.xz" usage() { - printf '%s\n' "$executable [action] [sources path] (extract path)" >&2 + printf 1>&2 '%s\n' "$executable [action] [sources path] (extract path)" - printf '\n%s\n' 'Actions:' >&2 - printf '%s\n' ' extract - Extract build system sources' >&2 - printf '%s\n' ' copy - Copy projects sources' >&2 - printf '%s\n' ' prepare - Extract and copy sources' >&2 + printf 1>&2 '\n%s\n' 'Actions:' + printf 1>&2 '%s\n' ' extract - Extract build system sources' + printf 1>&2 '%s\n' ' copy - Copy projects sources' + printf 1>&2 '%s\n' ' prepare - Extract and copy sources' printf '\n%s\n' ' When no extract path is provided, sources are extracted in the current' printf '%s\n' ' directory.' @@ -49,7 +49,7 @@ extract() { archive=$( find $sources_path -name "$BUILD_SYSTEM-sources.$ARCHIVE" || true ) if [ -z "$archive" ] then - printf '%s\n' "Finding $BUILD_SYSTEM sources archive failed!" >&2 + printf 1>&2 '%s\n' "Finding $BUILD_SYSTEM sources archive failed!" usage exit 1 fi @@ -96,7 +96,7 @@ requirements() { if [ -z "$requirement_path" ] then - printf '%s\n' "Missing requirement: $requirement" >&2 + printf 1>&2 '%s\n' "Missing requirement: $requirement" exit 1 fi done diff --git a/projects/libreboot-sources/libreboot-sources b/projects/libreboot-sources/libreboot-sources index 3dc1cb7d..bbf42315 100755 --- a/projects/libreboot-sources/libreboot-sources +++ b/projects/libreboot-sources/libreboot-sources @@ -23,7 +23,7 @@ update() { } install() { - local install_path=$( project_install_path "$project" "$@" ) + local install_path=$(project_install_path "$project" "$@") project_install "$project" "$@" } @@ -33,7 +33,7 @@ install_check() { } release() { - local archive_path=$( project_release_archive_path "$project" "$SOURCES" "$@" ) + local archive_path=$(project_release_archive_path "$project" "$SOURCES" "$@") local sources_path=$root project_release_install "$project" "$TOOLS" "$@" @@ -51,7 +51,7 @@ release() { } release_check() { - local archive_path=$( project_release_archive_path "$project" "$SOURCES" "$@" ) + local archive_path=$(project_release_archive_path "$project" "$SOURCES" "$@") project_release_install_check "$project" "$TOOLS" "$@" diff --git a/projects/memtest86plus/memtest86plus b/projects/memtest86plus/memtest86plus index d443447c..1aadbf6c 100755 --- a/projects/memtest86plus/memtest86plus +++ b/projects/memtest86plus/memtest86plus @@ -16,95 +16,95 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. arguments() { - project_arguments_targets "${project}" "$@" + project_arguments_targets "$project" "$@" } usage() { - project_usage_actions "${project}" - project_usage_arguments "${project}" "$@" + project_usage_actions "$project" + project_usage_arguments "$project" "$@" } download() { - local repository="${project}" + local repository="$project" - project_download_git "${project}" "${repository}" 'https://review.coreboot.org/memtest86plus.git' "$@" + project_download_git "$project" "$repository" 'https://review.coreboot.org/memtest86plus.git' "$@" } download_check() { - local repository="${project}" + local repository="$project" - project_download_check_git "${project}" "${repository}" "$@" + project_download_check_git "$project" "$repository" "$@" } extract() { - local repository="${project}" + local repository="$project" - project_extract "${project}" "$@" + project_extract "$project" "$@" } extract_check() { - local repository="${project}" + local repository="$project" - project_extract_check "${project}" "$@" + project_extract_check "$project" "$@" } update() { - local repository="${project}" + local repository="$project" - project_update_git "${project}" "${repository}" "$@" + project_update_git "$project" "$repository" "$@" } update_check() { - local repository="${project}" + local repository="$project" - project_update_check_git "${project}" "${repository}" "$@" + project_update_check_git "$project" "$repository" "$@" } build() { - local repository="${project}" + local repository="$project" - project_sources_directory_missing_empty_error "${project}" "${repository}" "$@" + project_sources_directory_missing_empty_error "$project" "$repository" "$@" - if git_project_check "${repository}"; then - git_project_checkout "${project}" "${repository}" "$@" + if git_project_check "$repository"; then + git_project_checkout "$project" "$repository" "$@" fi - local sources_path="$(project_sources_path "${project}" "${repository}" "$@")" + local sources_path="$(project_sources_path "$project" "$repository" "$@")" - local build_path="$(project_build_path "${project}" "$@")" + local build_path="$(project_build_path "$project" "$@")" - mkdir -p "${build_path}" - make -C "${sources_path}" -j"${TASKS}" - cp "${sources_path}/memtest" "${build_path}" - make -C "${sources_path}" 'clean' + mkdir -p "$build_path" + make -C "$sources_path" -j"$TASKS" + cp "$sources_path/memtest" "$build_path" + make -C "$sources_path" 'clean' } build_check() { - project_build_check "${project}" "$@" + project_build_check "$project" "$@" } install() { - project_install "${project}" "$@" + project_install "$project" "$@" } install_check() { - project_install_check "${project}" "$@" + project_install_check "$project" "$@" } release() { - local repository="${project}" + local repository="$project" - project_release_install_archive "${project}" "${TOOLS}" "$@" - project_release_sources_git "${project}" "${repository}" "$@" + project_release_install_archive "$project" "$TOOLS" "$@" + project_release_sources_git "$project" "$repository" "$@" } release_check() { local repository="memtest86plus" - project_release_install_archive_check "${project}" "${TOOLS}" "$@" - project_release_check_sources_git "${project}" "${repository}" "$@" + project_release_install_archive_check "$project" "$TOOLS" "$@" + project_release_check_sources_git "$project" "$repository" "$@" } clean() { - project_clean "${project}" "$@" + project_clean "$project" "$@" } diff --git a/projects/mosys/mosys b/projects/mosys/mosys index f0f3345b..b795deb2 100755 --- a/projects/mosys/mosys +++ b/projects/mosys/mosys @@ -56,18 +56,16 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$@" - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") - local flashmap_build_path=$( project_build_path "flashmap" "$@" ) + local flashmap_build_path=$(project_build_path "flashmap" "$@") if git_project_check "$repository" then git_project_checkout "$project" "$repository" "$@" fi - project_action "build" "flashmap" "$@" - mkdir -p "$build_path" make -C "$sources_path" objtree="$build_path" "defconfig" diff --git a/projects/nvramtool/nvramtool b/projects/nvramtool/nvramtool index 70bf0758..96813239 100755 --- a/projects/nvramtool/nvramtool +++ b/projects/nvramtool/nvramtool @@ -56,9 +56,9 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$@" - local coreboot_sources_path=$( project_sources_path "$project" "$repository" "$@" ) + local coreboot_sources_path=$(project_sources_path "$project" "$repository" "$@") local sources_path="$coreboot_sources_path/util/nvramtool/" - local build_path=$( project_build_path "$project" "$@" ) + local build_path=$(project_build_path "$project" "$@") if git_project_check "$repository" then diff --git a/projects/seabios/configs/bios/config b/projects/seabios/configs/bios/config new file mode 100644 index 00000000..cd13ec77 --- /dev/null +++ b/projects/seabios/configs/bios/config @@ -0,0 +1,91 @@ +# +# Automatically generated file; DO NOT EDIT. +# SeaBIOS Configuration +# + +# +# General Features +# +CONFIG_COREBOOT=y +# CONFIG_QEMU is not set +# CONFIG_CSM is not set +# CONFIG_QEMU_HARDWARE is not set +CONFIG_THREADS=y +CONFIG_RELOCATE_INIT=y +CONFIG_BOOTMENU=y +CONFIG_BOOTSPLASH=y +CONFIG_BOOTORDER=y +CONFIG_COREBOOT_FLASH=y +CONFIG_LZMA=y +CONFIG_CBFS_LOCATION=0 +CONFIG_MULTIBOOT=y +CONFIG_ENTRY_EXTRASTACK=y +CONFIG_MALLOC_UPPERMEMORY=y +CONFIG_ROM_SIZE=0 + +# +# Hardware support +# +CONFIG_ATA=y +# CONFIG_ATA_DMA is not set +# CONFIG_ATA_PIO32 is not set +CONFIG_AHCI=y +CONFIG_SDCARD=y +CONFIG_MEGASAS=y +CONFIG_FLOPPY=y +CONFIG_FLASH_FLOPPY=y +CONFIG_PS2PORT=y +CONFIG_USB=y +CONFIG_USB_UHCI=y +CONFIG_USB_OHCI=y +CONFIG_USB_EHCI=y +CONFIG_USB_XHCI=y +CONFIG_USB_MSC=y +CONFIG_USB_UAS=y +CONFIG_USB_HUB=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_MOUSE=y +CONFIG_SERIAL=y +CONFIG_LPT=y +CONFIG_RTC_TIMER=y +CONFIG_HARDWARE_IRQ=y +CONFIG_PMTIMER=y +CONFIG_TSC_TIMER=y + +# +# BIOS interfaces +# +CONFIG_DRIVES=y +CONFIG_CDROM_BOOT=y +CONFIG_CDROM_EMU=y +CONFIG_PCIBIOS=y +CONFIG_APMBIOS=y +CONFIG_PNPBIOS=y +CONFIG_OPTIONROMS=y +CONFIG_PMM=y +CONFIG_BOOT=y +CONFIG_KEYBOARD=y +CONFIG_KBD_CALL_INT15_4F=y +CONFIG_MOUSE=y +CONFIG_S3_RESUME=y +CONFIG_VGAHOOKS=y +# CONFIG_DISABLE_A20 is not set +CONFIG_TCGBIOS=y + +# +# VGA ROM +# +CONFIG_NO_VGABIOS=y +# CONFIG_VGA_GEODEGX2 is not set +# CONFIG_VGA_GEODELX is not set +# CONFIG_VGA_COREBOOT is not set +# CONFIG_BUILD_VGABIOS is not set +CONFIG_VGA_EXTRA_STACK_SIZE=512 + +# +# Debugging +# +CONFIG_DEBUG_LEVEL=1 +# CONFIG_DEBUG_SERIAL is not set +# CONFIG_DEBUG_SERIAL_MMIO is not set +CONFIG_DEBUG_COREBOOT=y diff --git a/projects/seabios/configs/bios/install b/projects/seabios/configs/bios/install new file mode 100644 index 00000000..9189ec8f --- /dev/null +++ b/projects/seabios/configs/bios/install @@ -0,0 +1 @@ +bios.bin.elf:bios.bin.elf diff --git a/projects/seabios/configs/revision b/projects/seabios/configs/revision new file mode 100644 index 00000000..f03e0556 --- /dev/null +++ b/projects/seabios/configs/revision @@ -0,0 +1 @@ +19fdcca467ad3436d68ef88899b4dcd78154a9c6 diff --git a/projects/seabios/configs/targets b/projects/seabios/configs/targets new file mode 100644 index 00000000..98a59a61 --- /dev/null +++ b/projects/seabios/configs/targets @@ -0,0 +1,2 @@ +bios +vgabios diff --git a/projects/seabios/configs/vgabios/config b/projects/seabios/configs/vgabios/config new file mode 100644 index 00000000..a2725409 --- /dev/null +++ b/projects/seabios/configs/vgabios/config @@ -0,0 +1,95 @@ +# +# Automatically generated file; DO NOT EDIT. +# SeaBIOS Configuration +# + +# +# General Features +# +CONFIG_COREBOOT=y +# CONFIG_QEMU is not set +# CONFIG_CSM is not set +# CONFIG_QEMU_HARDWARE is not set +CONFIG_THREADS=y +CONFIG_RELOCATE_INIT=y +CONFIG_BOOTMENU=y +CONFIG_BOOTSPLASH=y +CONFIG_BOOTORDER=y +CONFIG_COREBOOT_FLASH=y +CONFIG_LZMA=y +CONFIG_CBFS_LOCATION=0 +CONFIG_MULTIBOOT=y +CONFIG_ENTRY_EXTRASTACK=y +CONFIG_MALLOC_UPPERMEMORY=y +CONFIG_ROM_SIZE=0 + +# +# Hardware support +# +CONFIG_ATA=y +# CONFIG_ATA_DMA is not set +# CONFIG_ATA_PIO32 is not set +CONFIG_AHCI=y +CONFIG_SDCARD=y +CONFIG_MEGASAS=y +CONFIG_FLOPPY=y +CONFIG_FLASH_FLOPPY=y +CONFIG_PS2PORT=y +CONFIG_USB=y +CONFIG_USB_UHCI=y +CONFIG_USB_OHCI=y +CONFIG_USB_EHCI=y +CONFIG_USB_XHCI=y +CONFIG_USB_MSC=y +CONFIG_USB_UAS=y +CONFIG_USB_HUB=y +CONFIG_USB_KEYBOARD=y +CONFIG_USB_MOUSE=y +CONFIG_SERIAL=y +CONFIG_LPT=y +CONFIG_RTC_TIMER=y +CONFIG_HARDWARE_IRQ=y +CONFIG_PMTIMER=y +CONFIG_TSC_TIMER=y + +# +# BIOS interfaces +# +CONFIG_DRIVES=y +CONFIG_CDROM_BOOT=y +CONFIG_CDROM_EMU=y +CONFIG_PCIBIOS=y +CONFIG_APMBIOS=y +CONFIG_PNPBIOS=y +CONFIG_OPTIONROMS=y +CONFIG_PMM=y +CONFIG_BOOT=y +CONFIG_KEYBOARD=y +CONFIG_KBD_CALL_INT15_4F=y +CONFIG_MOUSE=y +CONFIG_S3_RESUME=y +CONFIG_VGAHOOKS=y +# CONFIG_DISABLE_A20 is not set +CONFIG_TCGBIOS=y + +# +# VGA ROM +# +# CONFIG_NO_VGABIOS is not set +# CONFIG_VGA_GEODEGX2 is not set +# CONFIG_VGA_GEODELX is not set +CONFIG_VGA_COREBOOT=y +CONFIG_BUILD_VGABIOS=y +CONFIG_VGA_EMULATE_TEXT=y +CONFIG_VGA_FIXUP_ASM=y +CONFIG_VGA_ALLOCATE_EXTRA_STACK=y +CONFIG_VGA_EXTRA_STACK_SIZE=512 +CONFIG_VGA_VBE=y + +# +# Debugging +# +CONFIG_DEBUG_LEVEL=1 +# CONFIG_DEBUG_SERIAL is not set +# CONFIG_DEBUG_SERIAL_MMIO is not set +CONFIG_DEBUG_COREBOOT=y diff --git a/projects/seabios/configs/vgabios/install b/projects/seabios/configs/vgabios/install new file mode 100644 index 00000000..ddc1571e --- /dev/null +++ b/projects/seabios/configs/vgabios/install @@ -0,0 +1 @@ +vgabios.bin:vgabios.bin diff --git a/projects/seabios/seabios b/projects/seabios/seabios new file mode 100755 index 00000000..ce9593b0 --- /dev/null +++ b/projects/seabios/seabios @@ -0,0 +1,118 @@ +#!/usr/bin/env bash + +# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +arguments() { + project_arguments_targets "$project" "$@" +} + +usage() { + project_usage_actions "$project" + project_usage_arguments "$project" "$@" +} + +download() { + local repository="$project" + + project_download_git "$project" "$repository" 'https://review.coreboot.org/seabios.git' "$@" +} + +download_check() { + local repository="$project" + + project_download_check_git "$project" "$repository" "$@" +} + +extract() { + project_extract "$project" "$@" +} + +extract_check() { + project_extract_check "$project" "$@" +} + +update() { + local repository="$project" + + project_update_git "$project" "$repository" "$@" +} + +update_check() { + local repository="$project" + + project_update_check_git "$project" "$repository" "$@" +} + +build() { + local target="$1" + local repository="$project" + + project_sources_directory_missing_empty_error "$project" "$repository" "$@" + + if git_project_check "$repository"; then + git_project_checkout "$project" "$repository" "$@" + fi + + local project_path="$(project_path "$project")" + local seabios_config_path="$(project_file_path "$project" "$CONFIGS" 'config' "$@")" + local sources_path="$(project_sources_path "$project" "$repository" "$@")" + local build_path="$(project_build_path "$project" "$@")" + + mkdir -p "$build_path" + cp "$seabios_config_path" "$sources_path/.config" + + make -C "$sources_path" -j"$TASKS" + + if [[ "$target" == 'bios' ]]; then + cp "$sources_path/out/bios.bin.elf" "$build_path" + elif [[ "$target" == 'vgabios' ]]; then + cp "$sources_path/out/vgabios.bin" "$build_path" + fi + + make -C "$sources_path" distclean + + rm -f "$sources_path/.config" +} + +build_check() { + project_build_check "$project" "$@" +} + +install() { + project_install "$project" "$@" +} + +install_check() { + project_install_check "$project" "$@" +} + +release() { + local repository="$project" + + project_release_install_archive "$project" "$IMAGES" "$@" + project_release_sources_git "$project" "$repository" "$@" +} + +release_check() { + local repository="$project" + + project_release_install_archive_check "$project" "$IMAGES" "$@" + project_release_check_sources_git "$project" "$repository" "$@" +} + +clean() { + project_clean "$project" "$@" +} diff --git a/projects/vboot/vboot b/projects/vboot/vboot index a36791d6..e1216872 100755 --- a/projects/vboot/vboot +++ b/projects/vboot/vboot @@ -75,10 +75,10 @@ build() { git_project_checkout "$project" "$repository" "$@" fi - if [ "$target" = "tools" ] + if [[ "$target" = "tools" ]] then - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") mkdir -p "$build_path" @@ -92,7 +92,7 @@ build() { build_check() { local target=$1 - if [ "$target" = "tools" ] + if [[ "$target" = "tools" ]] then project_build_check "$project" "$@" fi @@ -101,7 +101,7 @@ build_check() { install() { local target=$1 - if [ "$target" = "tools" ] + if [[ "$target" = "tools" ]] then project_install "$project" "$@" fi @@ -110,7 +110,7 @@ install() { install_check() { local target=$1 - if [ "$target" = "tools" ] + if [[ "$target" = "tools" ]] then project_install_check "$project" "$@" fi @@ -121,7 +121,7 @@ release() { local repository=$project - if [ "$target" = "tools" ] + if [[ "$target" = "tools" ]] then project_release_install_archive "$project" "$TOOLS" "$@" fi @@ -134,7 +134,7 @@ release_check() { local repository=$project - if [ "$target" = "tools" ] + if [[ "$target" = "tools" ]] then project_release_install_archive_check "$project" "$TOOLS" "$@" fi diff --git a/projects/vpd/vpd b/projects/vpd/vpd index f8ebe59f..1105e588 100755 --- a/projects/vpd/vpd +++ b/projects/vpd/vpd @@ -56,8 +56,8 @@ build() { project_sources_directory_missing_empty_error "$project" "$repository" "$@" - local sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local build_path=$( project_build_path "$project" "$@" ) + local sources_path=$(project_sources_path "$project" "$repository" "$@") + local build_path=$(project_build_path "$project" "$@") if git_project_check "$repository" then diff --git a/resources/scripts/helpers/download/flashrom b/resources/scripts/helpers/download/flashrom index 8d06dde0..da3adad0 100755 --- a/resources/scripts/helpers/download/flashrom +++ b/resources/scripts/helpers/download/flashrom @@ -43,7 +43,7 @@ git clone https://github.com/stefanct/flashrom.git cd "flashrom/" # reset to known revision -git checkout 0.9.9 +git checkout v0.9.9 git reset --hard # Apply patches diff --git a/tools/blobs-discover/blobs-discover b/tools/blobs-discover/blobs-discover index 6d143d02..7e383942 100755 --- a/tools/blobs-discover/blobs-discover +++ b/tools/blobs-discover/blobs-discover @@ -18,7 +18,7 @@ arguments() { local project=$1 - if [ -z "$project" ] + if [[ -z "$project" ]] then ls -A "$root/$PROJECTS/" | while read project do @@ -36,8 +36,8 @@ usage() { } update() { - local tool_path=$( tool_path "$tool" ) - local sources_path=$( tool_sources_path "$tool" ) + local tool_path=$(tool_path "$tool") + local sources_path=$(tool_sources_path "$tool") local deblob_check_path="$sources_path/deblob-check" local patches_path="$tool_path/$PATCHES/$WILDDOTPATCH" @@ -50,7 +50,7 @@ update() { path_wildcard_expand "$patches_path" | while read patch_path do - if ! [ -f "$patch_path" ] + if ! [[ -f "$patch_path" ]] then continue fi @@ -63,10 +63,10 @@ verify() { local project=$1 shift - local project_path=$( project_path "$project" ) - local project_sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local project_blobs_path=$( project_blobs_path "$project" "$@" ) - local project_blobs_ignore_path=$( project_blobs_ignore_path "$project" "$@" ) + local project_path=$(project_path "$project") + local project_sources_path=$(project_sources_path "$project" "$repository" "$@") + local project_blobs_path=$(project_blobs_path "$project" "$@") + local project_blobs_ignore_path=$(project_blobs_ignore_path "$project" "$@") local project_blobs_discover_path local ifs_save @@ -75,9 +75,9 @@ verify() { requirements "sort" - if ! [ -z "$project_blobs_path" ] + if [[ -n "$project_blobs_path" ]] then - project_blobs_discover_path="$( dirname $project_blobs_path )/$BLOBS_DISCOVER" + project_blobs_discover_path="$(dirname $project_blobs_path)/$BLOBS_DISCOVER" else project_blobs_discover_path="$project_path/$CONFIGS/$BLOBS_DISCOVER" fi @@ -88,7 +88,7 @@ verify() { ifs_save=$IFS IFS=$'\n' - for file in $( cat "$project_blobs_discover_path" ) + for file in $(cat "$project_blobs_discover_path") do ( IFS=$ifs_save @@ -100,7 +100,7 @@ verify() { printf '%s' "Type \"blob\" to keep or press enter to discard: " read choice - if [ "$choice" = "blob" ] + if [[ "$choice" = "blob" ]] then printf '%s\n' "$file" >> "$project_blobs_path" else @@ -124,21 +124,21 @@ execute() { shift local repository=$project - local repository_path=$( git_project_repository_path "$repository" ) + local repository_path=$(git_project_repository_path "$repository") # This assumes that the repository is the project, which is not always the case. project_sources_directory_missing_empty_error "$project" "$repository" - local sources_path=$( tool_sources_path "$tool" ) - local project_path=$( project_path "$project" ) - local project_sources_path=$( project_sources_path "$project" "$repository" "$@" ) - local project_blobs_path=$( project_blobs_path "$project" "$@" ) - local project_blobs_ignore_path=$( project_blobs_ignore_path "$project" "$@" ) + local sources_path=$(tool_sources_path "$tool") + local project_path=$(project_path "$project") + local project_sources_path=$(project_sources_path "$project" "$repository" "$@") + local project_blobs_path=$(project_blobs_path "$project" "$@") + local project_blobs_ignore_path=$(project_blobs_ignore_path "$project" "$@") local project_blobs_directory_path - if ! [ -z "$project_blobs_path" ] + if [[ -n "$project_blobs_path" ]] then - project_blobs_discover_path="$( dirname $project_blobs_path )/$BLOBS_DISCOVER" + project_blobs_discover_path="$(dirname $project_blobs_path)/$BLOBS_DISCOVER" else project_blobs_discover_path="$project_path/$CONFIGS/$BLOBS_DISCOVER" fi @@ -153,23 +153,23 @@ execute() { printf '\n%s\n' 'Discovering new blobs, this may take a while...' - files=$( find "$project_sources_path" -type f | grep -vP "\.git/|\.tar|\.patch" ) + files=$(find "$project_sources_path" -type f | grep -vP "\.git/|\.tar|\.patch") touch "$project_blobs_discover_path" printf '%s\n' "$files" | while read file do - if ! [ -z "$project_blobs_ignore_path" ] + if [[ -n "$project_blobs_ignore_path" ]] then match=$( grep "$file" "$project_blobs_ignore_path" || true) - if [ ! -z "$match" ] + if [[ ! -z "$match" ]] then continue fi fi - match=$( "$deblob_check_path" -l -i "" "$file" || true ) - if ! [ -z "$match" ] + match=$("$deblob_check_path" -l -i "" "$file" || true) + if [[ -n "$match" ]] then printf '%s\n' "$match" >> "$project_blobs_discover_path" fi @@ -182,14 +182,14 @@ execute_check() { local project=$1 shift - local project_path=$( project_path "$project" ) - local project_blobs_path=$( project_blobs_path "$project" "$@" ) - local project_blobs_ignore_path=$( project_blobs_ignore_path "$project" "$@" ) + local project_path=$(project_path "$project") + local project_blobs_path=$(project_blobs_path "$project" "$@") + local project_blobs_ignore_path=$(project_blobs_ignore_path "$project" "$@") local project_blobs_discover_path - if ! [ -z "$project_blobs_path" ] + if [[ -n "$project_blobs_path" ]] then - project_blobs_discover_path="$( dirname $project_blobs_path )/$BLOBS_DISCOVER" + project_blobs_discover_path="$(dirname $project_blobs_path)/$BLOBS_DISCOVER" else project_blobs_discover_path="$project_path/$CONFIGS/$BLOBS_DISCOVER" fi diff --git a/tools/boot-keys/boot-keys b/tools/boot-keys/boot-keys index da56aca9..4c40bdf3 100755 --- a/tools/boot-keys/boot-keys +++ b/tools/boot-keys/boot-keys @@ -20,11 +20,11 @@ usage() { } generate() { - local type=$( boot_keys_type "$@" ) + local type=$(boot_keys_type "$@") - if [ -z "$type" ] + if [[ -z "$type" ]] then - printf '%s\n' 'Unable to determine keys type' >&2 + printf 1>&2 '%s\n' 'Unable to determine keys type' return 1 fi @@ -38,16 +38,16 @@ generate() { sign() { local project=$1 - local prepare_files=$( boot_keys_files "$@" ) - local type=$( boot_keys_type "$@" ) + local prepare_files=$(boot_keys_files "$@") + local type=$(boot_keys_type "$@") local install_path local firmware_path local kernel_path local media - if [ -z "$type" ] + if [[ -z "$type" ]] then - printf '%s\n' 'Unable to determine keys type' >&2 + printf 1>&2 '%s\n' 'Unable to determine keys type' return 1 fi @@ -60,13 +60,13 @@ sign() { boot_keys_cros "$type-prepare" "sign" "$firmware_path" ;; "cros-kernel") - media=$( project_action "media" "$@" ) + media=$(project_action "media" "$@") for medium in $media do kernel_path="$install_path/$KERNEL-$medium.$IMG" - if [ -f "$kernel_path" ] + if [[ -f "$kernel_path" ]] then boot_keys_cros "$type-prepare" "sign" "$kernel_path" else @@ -81,16 +81,16 @@ sign() { verify() { local project=$1 - local prepare_files=$( boot_keys_files "$@" ) - local type=$( boot_keys_type "$@" ) + local prepare_files=$(boot_keys_files "$@") + local type=$(boot_keys_type "$@") local install_path local firmware_path local kernel_path local media - if [ -z "$type" ] + if [[ -z "$type" ]] then - printf '%s\n' 'Unable to determine keys type' >&2 + printf 1>&2 '%s\n' 'Unable to determine keys type' return 1 fi @@ -103,7 +103,7 @@ verify() { boot_keys_cros "$type-prepare" "verify" "$firmware_path" ;; "cros-kernel") - media=$( project_action "media" "$@" ) + media=$(project_action "media" "$@") for medium in $media do diff --git a/tools/boot-keys/boot-keys-helper b/tools/boot-keys/boot-keys-helper index 31e2c16b..464638b9 100755 --- a/tools/boot-keys/boot-keys-helper +++ b/tools/boot-keys/boot-keys-helper @@ -9,13 +9,13 @@ boot_keys_cros() { local cros_script=$1 shift - local vboot_tools_path=$( project_install_path "vboot" "tools" ) - local cros_scripts_path=$( project_install_path "cros-scripts" ) + local vboot_tools_path=$(project_install_path "vboot" "tools") + local cros_scripts_path=$(project_install_path "cros-scripts") local cros_script_path="$cros_scripts_path/$cros_script" - if ! [ -x "$cros_script_path" ] + if ! [[ -x "$cros_script_path" ]] then - printf '%s' "$cros_script script missing from cros-scripts install" >&2 + printf 1>&2 '%s' "$cros_script script missing from cros-scripts install" return 1 fi @@ -34,10 +34,10 @@ boot_keys_files_install_path() { local argument local ifs_save - helper_arguments=$( project_action_helper "arguments" "$project" "$@" ) + helper_arguments=$(project_action_helper "arguments" "$project" "$@") - if [ $? -ne 0 ] || [ -z "$helper_arguments" ] + if [[ $? -ne 0 ]] || [[ -z "$helper_arguments" ]] then project_install_path "$project" "$@" else @@ -45,7 +45,7 @@ boot_keys_files_install_path() { ifs_save=$IFS IFS=$'\n' - for argument in $( printf '%s\n' "$helper_arguments" ) + for argument in $(printf '%s\n' "$helper_arguments") do ( IFS=$ifs_save @@ -63,7 +63,7 @@ boot_keys_files() { local project=$1 shift - local cros_scripts_path=$( project_install_path "cros-scripts" ) + local cros_scripts_path=$(project_install_path "cros-scripts") local cros_boot_keys="$cros_scripts_path/cros-boot-keys" project_action_arguments_verify_recursive "install" "$project" "$@" diff --git a/tools/dependencies/configs/parabola/i386/README b/tools/dependencies/configs/parabola/i386/README new file mode 100644 index 00000000..3a920465 --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/README @@ -0,0 +1,24 @@ +Each file in this directory contains a list of dependencies that +should be installed before compiling the program indicated by the +filename's suffix, with a few exceptions; these exceptions being +"deps-documentation", "deps-download", and "deps-generic" for reasons +noted below: + +* "deps-documentation" contains a general list of packages that are + needed to build Libreboot documentation. +* "deps-download" contains packages necessary for downloading either + source code repositories and/or supporting files from a remote + source. +* "deps-generic" contains generic dependencies that didn't quite fit + (i.e. listed) under any of the other dependency lists but are + necessary nonetheless. + +It is expected that these files are updated whenever upstream projects +change dependency requirements. + +Any duplications between files are intentional; in order to provide a +clear picture as to which dependencies are needed by individual +programs, any attempt to consolidate these lists is dissuaded. + +This README is released under Creative Commons Zero 1.0: +https://creativecommons.org/publicdomain/zero/1.0/ diff --git a/tools/dependencies/configs/parabola/i386/deps-bucts b/tools/dependencies/configs/parabola/i386/deps-bucts new file mode 100644 index 00000000..6bce532b --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-bucts @@ -0,0 +1,4 @@ +gcc +make +pciutils +zlib diff --git a/tools/dependencies/configs/parabola/i386/deps-coreboot b/tools/dependencies/configs/parabola/i386/deps-coreboot new file mode 100644 index 00000000..cbfb7ddc --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-coreboot @@ -0,0 +1,11 @@ +bison +doxygen +flex +gcc +gdb +g++ +iasl +make +ncurses +openssl +pkg-config diff --git a/tools/dependencies/configs/parabola/i386/deps-crossgcc-arm b/tools/dependencies/configs/parabola/i386/deps-crossgcc-arm new file mode 100644 index 00000000..6e476970 --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-crossgcc-arm @@ -0,0 +1 @@ +arm-none-eabi-gcc diff --git a/tools/dependencies/configs/parabola/i386/deps-dejavu-fonts b/tools/dependencies/configs/parabola/i386/deps-dejavu-fonts new file mode 100644 index 00000000..1bba66d1 --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-dejavu-fonts @@ -0,0 +1,3 @@ +fontforge +perl-font-ttf +perl-io-string diff --git a/tools/dependencies/configs/parabola/i386/deps-documentation b/tools/dependencies/configs/parabola/i386/deps-documentation new file mode 100644 index 00000000..4a59b54c --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-documentation @@ -0,0 +1 @@ +pandoc diff --git a/tools/dependencies/configs/parabola/i386/deps-download b/tools/dependencies/configs/parabola/i386/deps-download new file mode 100644 index 00000000..880fb73e --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-download @@ -0,0 +1,2 @@ +git +wget diff --git a/tools/dependencies/configs/parabola/i386/deps-flashrom b/tools/dependencies/configs/parabola/i386/deps-flashrom new file mode 100644 index 00000000..c325a6f1 --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-flashrom @@ -0,0 +1,7 @@ +libftdi +libftdi-compat +libusb +make +pciutils +pkg-config +zlib diff --git a/tools/dependencies/configs/parabola/i386/deps-generic b/tools/dependencies/configs/parabola/i386/deps-generic new file mode 100644 index 00000000..162dc51d --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-generic @@ -0,0 +1,10 @@ +autogen +binutils +coreutils +fakeroot +gawk +help2man +libfaketime +m4 +texinfo +xz diff --git a/tools/dependencies/configs/parabola/i386/deps-grub b/tools/dependencies/configs/parabola/i386/deps-grub new file mode 100644 index 00000000..59119a22 --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-grub @@ -0,0 +1,17 @@ +autoconf +automake +bdf-unifont +bison +device-mapper +flex +freetype2 +gcc +gettext +glibc +libpciaccess +libusb +make +pciutils +python +qemu +sdl diff --git a/tools/dependencies/configs/parabola/i386/deps-i945-pwm b/tools/dependencies/configs/parabola/i386/deps-i945-pwm new file mode 100644 index 00000000..079b0d7d --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-i945-pwm @@ -0,0 +1,5 @@ +gcc +gdb +pciutils +make +zlib diff --git a/tools/dependencies/configs/parabola/i386/deps-memtest86plus b/tools/dependencies/configs/parabola/i386/deps-memtest86plus new file mode 100644 index 00000000..89ffe213 --- /dev/null +++ b/tools/dependencies/configs/parabola/i386/deps-memtest86plus @@ -0,0 +1,2 @@ +gcc +make diff --git a/tools/dependencies/configs/parabola/i686 b/tools/dependencies/configs/parabola/i686 new file mode 120000 index 00000000..fd32fa4e --- /dev/null +++ b/tools/dependencies/configs/parabola/i686 @@ -0,0 +1 @@ +i386
\ No newline at end of file diff --git a/tools/dependencies/configs/parabola/x86_64/README b/tools/dependencies/configs/parabola/x86_64/README new file mode 100644 index 00000000..3a920465 --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/README @@ -0,0 +1,24 @@ +Each file in this directory contains a list of dependencies that +should be installed before compiling the program indicated by the +filename's suffix, with a few exceptions; these exceptions being +"deps-documentation", "deps-download", and "deps-generic" for reasons +noted below: + +* "deps-documentation" contains a general list of packages that are + needed to build Libreboot documentation. +* "deps-download" contains packages necessary for downloading either + source code repositories and/or supporting files from a remote + source. +* "deps-generic" contains generic dependencies that didn't quite fit + (i.e. listed) under any of the other dependency lists but are + necessary nonetheless. + +It is expected that these files are updated whenever upstream projects +change dependency requirements. + +Any duplications between files are intentional; in order to provide a +clear picture as to which dependencies are needed by individual +programs, any attempt to consolidate these lists is dissuaded. + +This README is released under Creative Commons Zero 1.0: +https://creativecommons.org/publicdomain/zero/1.0/ diff --git a/tools/dependencies/configs/parabola/x86_64/deps-bucts b/tools/dependencies/configs/parabola/x86_64/deps-bucts new file mode 100644 index 00000000..6bce532b --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-bucts @@ -0,0 +1,4 @@ +gcc +make +pciutils +zlib diff --git a/tools/dependencies/configs/parabola/x86_64/deps-coreboot b/tools/dependencies/configs/parabola/x86_64/deps-coreboot new file mode 100644 index 00000000..cbfb7ddc --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-coreboot @@ -0,0 +1,11 @@ +bison +doxygen +flex +gcc +gdb +g++ +iasl +make +ncurses +openssl +pkg-config diff --git a/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-arm b/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-arm new file mode 100644 index 00000000..6e476970 --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-arm @@ -0,0 +1 @@ +arm-none-eabi-gcc diff --git a/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-i386 b/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-i386 new file mode 100644 index 00000000..82ca6997 --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-i386 @@ -0,0 +1,9 @@ +gcc-libs-multilib +gcc-multilib +lib32-fakeroot +lib32-glibc +lib32-libltdl +lib32-libpciaccess +lib32-libstdc++5 +lib32-openssl +lib32-ncurses diff --git a/tools/dependencies/configs/parabola/x86_64/deps-dejavu-fonts b/tools/dependencies/configs/parabola/x86_64/deps-dejavu-fonts new file mode 100644 index 00000000..1bba66d1 --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-dejavu-fonts @@ -0,0 +1,3 @@ +fontforge +perl-font-ttf +perl-io-string diff --git a/tools/dependencies/configs/parabola/x86_64/deps-documentation b/tools/dependencies/configs/parabola/x86_64/deps-documentation new file mode 100644 index 00000000..4a59b54c --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-documentation @@ -0,0 +1 @@ +pandoc diff --git a/tools/dependencies/configs/parabola/x86_64/deps-download b/tools/dependencies/configs/parabola/x86_64/deps-download new file mode 100644 index 00000000..880fb73e --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-download @@ -0,0 +1,2 @@ +git +wget diff --git a/tools/dependencies/configs/parabola/x86_64/deps-flashrom b/tools/dependencies/configs/parabola/x86_64/deps-flashrom new file mode 100644 index 00000000..c325a6f1 --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-flashrom @@ -0,0 +1,7 @@ +libftdi +libftdi-compat +libusb +make +pciutils +pkg-config +zlib diff --git a/tools/dependencies/configs/parabola/x86_64/deps-generic b/tools/dependencies/configs/parabola/x86_64/deps-generic new file mode 100644 index 00000000..162dc51d --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-generic @@ -0,0 +1,10 @@ +autogen +binutils +coreutils +fakeroot +gawk +help2man +libfaketime +m4 +texinfo +xz diff --git a/tools/dependencies/configs/parabola/x86_64/deps-grub b/tools/dependencies/configs/parabola/x86_64/deps-grub new file mode 100644 index 00000000..59119a22 --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-grub @@ -0,0 +1,17 @@ +autoconf +automake +bdf-unifont +bison +device-mapper +flex +freetype2 +gcc +gettext +glibc +libpciaccess +libusb +make +pciutils +python +qemu +sdl diff --git a/tools/dependencies/configs/parabola/x86_64/deps-i945-pwm b/tools/dependencies/configs/parabola/x86_64/deps-i945-pwm new file mode 100644 index 00000000..079b0d7d --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-i945-pwm @@ -0,0 +1,5 @@ +gcc +gdb +pciutils +make +zlib diff --git a/tools/dependencies/configs/parabola/x86_64/deps-memtest86plus b/tools/dependencies/configs/parabola/x86_64/deps-memtest86plus new file mode 100644 index 00000000..89ffe213 --- /dev/null +++ b/tools/dependencies/configs/parabola/x86_64/deps-memtest86plus @@ -0,0 +1,2 @@ +gcc +make diff --git a/tools/dependencies/configs/targets b/tools/dependencies/configs/targets new file mode 100644 index 00000000..33794c27 --- /dev/null +++ b/tools/dependencies/configs/targets @@ -0,0 +1,2 @@ +parabola +trisquel7 diff --git a/tools/dependencies/configs/trisquel7/i386/README b/tools/dependencies/configs/trisquel7/i386/README new file mode 100644 index 00000000..3a920465 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/README @@ -0,0 +1,24 @@ +Each file in this directory contains a list of dependencies that +should be installed before compiling the program indicated by the +filename's suffix, with a few exceptions; these exceptions being +"deps-documentation", "deps-download", and "deps-generic" for reasons +noted below: + +* "deps-documentation" contains a general list of packages that are + needed to build Libreboot documentation. +* "deps-download" contains packages necessary for downloading either + source code repositories and/or supporting files from a remote + source. +* "deps-generic" contains generic dependencies that didn't quite fit + (i.e. listed) under any of the other dependency lists but are + necessary nonetheless. + +It is expected that these files are updated whenever upstream projects +change dependency requirements. + +Any duplications between files are intentional; in order to provide a +clear picture as to which dependencies are needed by individual +programs, any attempt to consolidate these lists is dissuaded. + +This README is released under Creative Commons Zero 1.0: +https://creativecommons.org/publicdomain/zero/1.0/ diff --git a/tools/dependencies/configs/trisquel7/i386/deps-bucts b/tools/dependencies/configs/trisquel7/i386/deps-bucts new file mode 100644 index 00000000..538d83f7 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-bucts @@ -0,0 +1,6 @@ +gcc +libpci3 +libpci-dev +make +zlib1g +zlib1g-dev diff --git a/tools/dependencies/configs/trisquel7/i386/deps-coreboot b/tools/dependencies/configs/trisquel7/i386/deps-coreboot new file mode 100644 index 00000000..bd78c637 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-coreboot @@ -0,0 +1,13 @@ +bison +doxygen +flex +gcc +gdb +g++ +iasl +libncurses5 +libncurses5-dev +libssl-dev +make +ncurses-base +pkg-config diff --git a/tools/dependencies/configs/trisquel7/i386/deps-crossgcc-arm b/tools/dependencies/configs/trisquel7/i386/deps-crossgcc-arm new file mode 100644 index 00000000..f4629ab5 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-crossgcc-arm @@ -0,0 +1 @@ +gcc-arm-linux-gnueabi diff --git a/tools/dependencies/configs/trisquel7/i386/deps-dejavu-fonts b/tools/dependencies/configs/trisquel7/i386/deps-dejavu-fonts new file mode 100644 index 00000000..30157ccf --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-dejavu-fonts @@ -0,0 +1,2 @@ +fontforge +libfont-ttf-perl diff --git a/tools/dependencies/configs/trisquel7/i386/deps-documentation b/tools/dependencies/configs/trisquel7/i386/deps-documentation new file mode 100644 index 00000000..4a59b54c --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-documentation @@ -0,0 +1 @@ +pandoc diff --git a/tools/dependencies/configs/trisquel7/i386/deps-download b/tools/dependencies/configs/trisquel7/i386/deps-download new file mode 100644 index 00000000..880fb73e --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-download @@ -0,0 +1,2 @@ +git +wget diff --git a/tools/dependencies/configs/trisquel7/i386/deps-flashrom b/tools/dependencies/configs/trisquel7/i386/deps-flashrom new file mode 100644 index 00000000..e469c651 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-flashrom @@ -0,0 +1,10 @@ +libftdi1 +libftdi-dev +libpci3 +libpci-dev +libusb-1.0-0 +libusb-1.0-0-dev +pciutils +pkg-config +zlib1g +zlib1g-dev diff --git a/tools/dependencies/configs/trisquel7/i386/deps-generic b/tools/dependencies/configs/trisquel7/i386/deps-generic new file mode 100644 index 00000000..b04512a4 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-generic @@ -0,0 +1,17 @@ +autogen +binutils +build-essential +coreutils +fakeroot +gawk +help2man +libfakeroot +libfaketime +libltdl-dev +liblzma-dev +libopts25 +libopts25-dev +libtool +m4 +texinfo +xz-utils diff --git a/tools/dependencies/configs/trisquel7/i386/deps-grub b/tools/dependencies/configs/trisquel7/i386/deps-grub new file mode 100644 index 00000000..c54e7627 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-grub @@ -0,0 +1,17 @@ +autoconf +automake +bison +flex +gcc +gettext +libdevmapper-dev +libfreetype6 +libfreetype6-dev +libpciaccess0 +libpciaccess-dev +libusb-1.0-0 +libusb-1.0-0-dev +python +qemu-system-x86 +ttf-unifont +xorriso diff --git a/tools/dependencies/configs/trisquel7/i386/deps-i945-pwm b/tools/dependencies/configs/trisquel7/i386/deps-i945-pwm new file mode 100644 index 00000000..538d83f7 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-i945-pwm @@ -0,0 +1,6 @@ +gcc +libpci3 +libpci-dev +make +zlib1g +zlib1g-dev diff --git a/tools/dependencies/configs/trisquel7/i386/deps-memtest86plus b/tools/dependencies/configs/trisquel7/i386/deps-memtest86plus new file mode 100644 index 00000000..89ffe213 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i386/deps-memtest86plus @@ -0,0 +1,2 @@ +gcc +make diff --git a/tools/dependencies/configs/trisquel7/i686 b/tools/dependencies/configs/trisquel7/i686 new file mode 120000 index 00000000..fd32fa4e --- /dev/null +++ b/tools/dependencies/configs/trisquel7/i686 @@ -0,0 +1 @@ +i386
\ No newline at end of file diff --git a/tools/dependencies/configs/trisquel7/x86_64/README b/tools/dependencies/configs/trisquel7/x86_64/README new file mode 100644 index 00000000..3a920465 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/README @@ -0,0 +1,24 @@ +Each file in this directory contains a list of dependencies that +should be installed before compiling the program indicated by the +filename's suffix, with a few exceptions; these exceptions being +"deps-documentation", "deps-download", and "deps-generic" for reasons +noted below: + +* "deps-documentation" contains a general list of packages that are + needed to build Libreboot documentation. +* "deps-download" contains packages necessary for downloading either + source code repositories and/or supporting files from a remote + source. +* "deps-generic" contains generic dependencies that didn't quite fit + (i.e. listed) under any of the other dependency lists but are + necessary nonetheless. + +It is expected that these files are updated whenever upstream projects +change dependency requirements. + +Any duplications between files are intentional; in order to provide a +clear picture as to which dependencies are needed by individual +programs, any attempt to consolidate these lists is dissuaded. + +This README is released under Creative Commons Zero 1.0: +https://creativecommons.org/publicdomain/zero/1.0/ diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-bucts b/tools/dependencies/configs/trisquel7/x86_64/deps-bucts new file mode 100644 index 00000000..538d83f7 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-bucts @@ -0,0 +1,6 @@ +gcc +libpci3 +libpci-dev +make +zlib1g +zlib1g-dev diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-coreboot b/tools/dependencies/configs/trisquel7/x86_64/deps-coreboot new file mode 100644 index 00000000..bd78c637 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-coreboot @@ -0,0 +1,13 @@ +bison +doxygen +flex +gcc +gdb +g++ +iasl +libncurses5 +libncurses5-dev +libssl-dev +make +ncurses-base +pkg-config diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-arm b/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-arm new file mode 100644 index 00000000..f4629ab5 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-arm @@ -0,0 +1 @@ +gcc-arm-linux-gnueabi diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-i386 b/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-i386 new file mode 100644 index 00000000..2fa4385b --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-i386 @@ -0,0 +1,10 @@ +gcc-multilib +lib32ncurses5 +lib32ncurses5-dev +lib32stdc++6 +lib32tinfo-dev +lib32tinfo5 +lib32z1 +lib32z1-dev +libc6-dev-i386 +libc6-i386 diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-dejavu-fonts b/tools/dependencies/configs/trisquel7/x86_64/deps-dejavu-fonts new file mode 100644 index 00000000..30157ccf --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-dejavu-fonts @@ -0,0 +1,2 @@ +fontforge +libfont-ttf-perl diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-documentation b/tools/dependencies/configs/trisquel7/x86_64/deps-documentation new file mode 100644 index 00000000..4a59b54c --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-documentation @@ -0,0 +1 @@ +pandoc diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-download b/tools/dependencies/configs/trisquel7/x86_64/deps-download new file mode 100644 index 00000000..880fb73e --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-download @@ -0,0 +1,2 @@ +git +wget diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-flashrom b/tools/dependencies/configs/trisquel7/x86_64/deps-flashrom new file mode 100644 index 00000000..e469c651 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-flashrom @@ -0,0 +1,10 @@ +libftdi1 +libftdi-dev +libpci3 +libpci-dev +libusb-1.0-0 +libusb-1.0-0-dev +pciutils +pkg-config +zlib1g +zlib1g-dev diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-generic b/tools/dependencies/configs/trisquel7/x86_64/deps-generic new file mode 100644 index 00000000..b04512a4 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-generic @@ -0,0 +1,17 @@ +autogen +binutils +build-essential +coreutils +fakeroot +gawk +help2man +libfakeroot +libfaketime +libltdl-dev +liblzma-dev +libopts25 +libopts25-dev +libtool +m4 +texinfo +xz-utils diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-grub b/tools/dependencies/configs/trisquel7/x86_64/deps-grub new file mode 100644 index 00000000..c54e7627 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-grub @@ -0,0 +1,17 @@ +autoconf +automake +bison +flex +gcc +gettext +libdevmapper-dev +libfreetype6 +libfreetype6-dev +libpciaccess0 +libpciaccess-dev +libusb-1.0-0 +libusb-1.0-0-dev +python +qemu-system-x86 +ttf-unifont +xorriso diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-i945-pwm b/tools/dependencies/configs/trisquel7/x86_64/deps-i945-pwm new file mode 100644 index 00000000..538d83f7 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-i945-pwm @@ -0,0 +1,6 @@ +gcc +libpci3 +libpci-dev +make +zlib1g +zlib1g-dev diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-memtest86plus b/tools/dependencies/configs/trisquel7/x86_64/deps-memtest86plus new file mode 100644 index 00000000..89ffe213 --- /dev/null +++ b/tools/dependencies/configs/trisquel7/x86_64/deps-memtest86plus @@ -0,0 +1,2 @@ +gcc +make diff --git a/tools/dependencies/dependencies b/tools/dependencies/dependencies new file mode 100755 index 00000000..cc9b2b38 --- /dev/null +++ b/tools/dependencies/dependencies @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +# Copyright (C) 2017 Andrew Robbins <contact@andrewrobbins.info> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +arguments() { + tool_arguments_targets "$tool" "$@" +} + +usage() { + tool_usage_actions "$tool" 'print' + tool_usage_arguments "$tool" "$@" +} + +print() { + local distro="$1" + + local arch="$(uname -i || uname -m)" + local tool_path="$(tool_path "$tool")" + + if [[ -z "$arch" ]]; then + printf '\n%s\n' 'uname(1) produced no output. Exiting' 1>&2 + + return 1 + fi + + dependencies_host_supported "$distro" "$arch" || return + + local -a dependencies + + for dependency_file in "$tool_path/$CONFIGS/$distro/$arch"/*; do + if [[ "${dependency_file##*/}" != 'README' ]]; then + local -i origin="${#dependencies[@]}" + + mapfile -tO "$origin" dependencies < "$dependency_file" + else + continue + fi + done + + local -a sorted + mapfile -t sorted < <(printf '%s\n' "${dependencies[@]}" | sort | uniq) + + dependencies_print "$distro" "${sorted[@]}" +} diff --git a/tools/dependencies/dependencies-helper b/tools/dependencies/dependencies-helper new file mode 100755 index 00000000..9e02ad3c --- /dev/null +++ b/tools/dependencies/dependencies-helper @@ -0,0 +1,73 @@ +#!/usr/bin/env bash + +# Copyright (C) 2017 Andrew Robbins <contact@andrewrobbins.info> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +dependencies_print() { + local distro="$1" + shift + + if [[ "$distro" == 'parabola' ]]; then + printf '\n%s\n' 'Enable the multilib repository in /etc/pacman.conf' + printf '\n%s\n' 'Then, run the following command as root:' + printf '\n%s%s\n' 'pacman -S --needed ' "$*" + else + printf '\n%s\n' 'You will need to run the following command as root:' + printf '\n%s%s\n' 'apt-get -y install ' "$*" + fi +} + +dependencies_host_supported() { + local distro="$1" + local arch="$2" + + dependencies_distro_supported "$distro" || return + dependencies_arch_supported "$distro" "$arch" || return +} + +dependencies_arch_supported() { + local distro="$1" + local arch="$2" + + local tool_path="$(tool_path "$tool")" + local distro_dir="$tool_path/$CONFIGS/$distro" + + if ! [[ -d "$distro_dir/$arch" ]]; then + printf '\n%s\n' "Architecture \"$arch\" is not supported" 1>&2 + + return 1 + fi +} + +dependencies_distro_supported() { + local distro="$1" + + local tool_path="$(tool_path "$tool")" + local targets_path="$tool_path/$CONFIGS/$TARGETS" + + local -a targets_list + mapfile -t targets_list < "$targets_path" + + # Necessary to properly format the string for extglob use below + IFS='|' eval 'local distro_list="${targets_list[*]}"' + + if [[ "$distro" != @($distro_list) ]]; then + printf '\n%s' "Argument \"$distro\" is not supported. " 1>&2 + printf '%s\n' 'Check spelling?' 1>&2 + + usage + return 1 + fi +} diff --git a/www/conduct.md b/www/conduct.md index aa8bea1e..313321c0 100644 --- a/www/conduct.md +++ b/www/conduct.md @@ -82,14 +82,13 @@ Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting one of the moderators privately via IRC private message (see list below): -* Alyssa Rosenzweig: **alyssa** on Freenode -* Andrew Robbins: **and\_who** on Freenode +* Andrew Robbins: **and\_who** on Freenode, email <mailto:andrew@libreboot.org> * Jason Self: **jxself** on Freenode -* Leah Rowe: **\_4of7** on Freenode +* Leah Rowe: **\_4of7** on Freenode, email <mailto:leah@libreboot.org> * Paul Kocialkowski: **paulk-X** Freenode (X is variable, for this - person. + person, email <mailto:paul@libreboot.org> check in the channel) -* Swift Geek: **swiftgeek** on Freenode +* Swift Geek: **swiftgeek** on Freenode, email <mailto:swiftgeek@libreboot.org> If the complaint is for abuses on the Libreboot subreddit at [r/libreboot](https://www.reddit.com/r/libreboot/) then there are a separate diff --git a/www/download.md b/www/download.md index 18155a9c..f88b20af 100644 --- a/www/download.md +++ b/www/download.md @@ -29,7 +29,7 @@ Do you have a mirror? --------------------- Let us know! We will add it here. Instructions for how to mirror -libreboot releases can be found [here](#rsync). +libreboot releases can be found [on the mirrors](#https). HTTPS mirrors {#https} ------------- @@ -49,6 +49,10 @@ Project, USA) <https://elgrande74.net/libreboot/> (elgrande74.net, France) +<https://nephelai.zanity.net/mirror/libreboot/> (zanity.net, New Zealand) + +<https://mirror.koddos.net/libreboot/> (koddos.net, Netherlands) + RSYNC mirrors {#rsync} ------------- @@ -65,6 +69,8 @@ UK) <rsync://libreboot.mirror.si/libreboot/> +<rsync://mirror.koddos.net/libreboot/> (koddos.net, Netherlands) + Are you running a mirror? Contact the libreboot project, and the link will be added to this page! @@ -106,4 +112,4 @@ Libreboot includes statically linked executables. If you need the sources for those statically linked dependencies inside the executables, then you can contact the libreboot project using the details on the home page; source code will be provided. You can download this source code -from [here](ccsource/). +from [the "ccsource" directory](ccsource/) on libreboot.org. @@ -9,7 +9,7 @@ Important issues What version of libreboot do I have? ---------------------------------------------------------------- -[See here](../docs/#version) +See "Version" [in the documentation](../docs/#version) Flashrom complains about DEVMEM access -------------------------------------- @@ -17,7 +17,20 @@ Flashrom complains about DEVMEM access If running `flashrom -p internal` for software based flashing, and you get an error related to /dev/mem access, you should reboot with `iomem=relaxed` kernel parameter before running flashrom, or use a kernel -that has `CONFIG\_STRICT\_DEVMEM` not enabled. +that has `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` not enabled. + +Example flashrom output with both `CONFIG_STRICT_DEVMEM` and `CONFIG_IO_STRICT_DEVMEM` enabled: +``` +flashrom v0.9.9-r1955 on Linux 4.11.9-1-ARCH (x86_64) +flashrom is free software, get the source code at https://flashrom.org + +Calibrating delay loop... OK. +Error accessing high tables, 0x100000 bytes at 0x000000007fb5d000 +/dev/mem mmap failed: Operation not permitted +Failed getting access to coreboot high tables. +Error accessing DMI Table, 0x1000 bytes at 0x000000007fb27000 +/dev/mem mmap failed: Operation not permitted +``` The backlight is darker on the left side of the screen when lowering the brightness on my X200/T400/T500/R400 --------------------------------------------------------------------------------------------------------------- @@ -76,7 +89,31 @@ Hardware compatibility What systems are compatible with libreboot? ----------------------------------------------------------------------------------- -[See here](docs/hardware/). +See the [hardware compatibility list](docs/hardware/). + +Will the Purism laptops be supported? +---------------------------------------------------------------------- + +Short answer: no. + +There are severe privacy, security and freedom issues with these laptops, due +to the Intel chipsets that they use. See: + +- [Intel Management Engine](#intelme) +- [More freedom issues on modern Intel hardware](#intel) + +Most notably, these laptops also use the Intel FSP binary blob, for the entire +hardware initialization. Coreboot does support a particular revision of one of +their laptops, but most are either unsupported or rely on binary blobs for most +of the hardware initialization. + +In particular, the Intel Management Engine is a severe threat to privacy and +security, not to mention freedom, since it is a remote backdoor that provides +Intel remote access to a computer where it is present. + +Intel themselves even admitted it, publicly. + +The Libreboot project recommends avoiding all hardware sold by Purism. Why is the latest Intel hardware unsupported in libreboot? {#intel} ----------------------------------------------------------- @@ -444,7 +481,8 @@ What *can* I use, then? {#whatcaniuse} ------------------------- Libreboot has support for fam15h AMD hardware (~2012 gen) and some -older Intel platforms (~2006-2009 gen). We also have support for some +older Intel platforms like Napa, Montevina, Eagle Lake, Lakeport (2004-2006). +We also have support for some ARM chipsets (rk3288). On the Intel side, we're also interested in some of the chipsets that use Atom CPUs (rebranded from older chipsets, mostly using ich7-based southbridges). @@ -8,8 +8,7 @@ Download Libreboot from the Git repository like so: $ git clone https://notabug.org/libreboot/libreboot.git You can submit your patches via -[Notabug pull requests](#how-to-submit-your-patches-via-pull-requests) or -[via mailing list](#how-to-submit-your-patches-via-mailing-list). +[Notabug pull requests](#how-to-submit-your-patches-via-pull-requests). Information about how the Libreboot project is governed is documented in our [general management guidelines](management.md). @@ -92,26 +91,3 @@ have your own Git repository with the patches. Once you have issued a Pull Request, the Libreboot maintainers will be notified via email. If you do not receive a fast enough response from the project, then you could also notify the project via the #libreboot channel on Freenode. - -How to submit your patches (via mailing list) ---------------------------------------------- - -We also have a mailing list at -[development@libreboot.org](mailto:development@libreboot.org) - -Information about this mailing list, including how to subscribe, can be found -at <https://libreboot.org/lists/>. - -Archives of previous discussion on this mailing list can be found at -<https://libreboot.org/pipermail/development/>. - -The mailing list software in use is -[GNU Mailman](https://www.gnu.org/software/mailman/), so the way to use it is -the same as on other libre software projects. - -If you prefer, you can submit patches the old-fashioned (as some may say, -proper) way by sending them to our mailing list. Code review by our -[maintainers](management.md) is done on both Notabug and on the mailing list. - -Once approved, your patch will be merged in the master branch of the main Git -repository. diff --git a/www/index.md b/www/index.md index a091e45d..8fd886e1 100644 --- a/www/index.md +++ b/www/index.md @@ -10,7 +10,6 @@ mascot"){#logo}](faq.md#who-did-the-logo) [Install](docs/install/) -- [Docs](docs/) -- [News](news/) -- -[Lists](lists/) -- [Chat](https://webchat.freenode.net/?channels=libreboot) -- [Bugs](https://notabug.org/libreboot/libreboot/issues) -- [Send patches](git.md) -- @@ -23,8 +22,8 @@ operating system. It is also available preinstalled from We provide user support via [\#libreboot IRC](https://webchat.freenode.net/?channels=libreboot) on Freenode. Development -discussion also occurs on IRC, and on our [mailing list](lists/). Instructions -for sending patches are [here](git.md). +discussion also occurs on IRC. Instructions for sending patches are +on the [git](git.md) page. Why use Libreboot? ------------------ diff --git a/www/management.md b/www/management.md index ddfba09b..b05a1826 100644 --- a/www/management.md +++ b/www/management.md @@ -27,14 +27,14 @@ List of members in the core management team In alphabetical order: -- Alyssa Rosenzweig is sysadmin and Public Relations manager. - IRC nick **alyssa**. -- Andrew Robbins is a core developer. IRC nick **and\_who** +- Andrew Robbins is a core developer. IRC nick **and\_who**, email + <mailto:andrew@libreboot.org> - Paul Kocialkowski is a core developer. IRC nick **paulk-X** - (**X** is variable, and changes over time) + (**X** is variable, and changes over time), email <mailto:paul@libreboot.org> - Leah Rowe is a core developer (and project founder). IRC nick - **\_4of7** -- Swift Geek is a core developer. IRC nick **swiftgeek** + **\_4of7**, email <mailto:leah@libreboot.org> +- Swift Geek is a core developer. IRC nick **swiftgeek**, email + <mailto:swiftgeek@libreboot.org> Generally, the people on this list have these responsibilities: diff --git a/www/news/MANIFEST b/www/news/MANIFEST index e5e34cf0..b092d469 100644 --- a/www/news/MANIFEST +++ b/www/news/MANIFEST @@ -1,3 +1,6 @@ +news/lenovo-recall.md +news/alyssa-resignation.md +news/talos.md news/new-mailing-lists.md news/andrew-robbins-new-maintainer.md news/formalised-structure.md diff --git a/www/news/alyssa-resignation.md b/www/news/alyssa-resignation.md new file mode 100644 index 00000000..2333db0b --- /dev/null +++ b/www/news/alyssa-resignation.md @@ -0,0 +1,77 @@ +% Alyssa Rosenzweig has resigned from the Libreboot project +% Leah Rowe +% 1 September 2017 + +Alyssa Rosenzweig has notified the rest of the team (Andrew Robbins, Paul +Kocialkowski, Leah Rowe and Swift Geek) of her intention to step down from the +core management team, as per [our management guidelines](../management.md), +due to increased pressure from school studies which prevent her from having +time to contribute. + +In her email, she wishes the Libreboot project well and states that she intends +to continue contributing in the future. + +I, Leah Rowe, wish Alyssa all the best in life, and I'm sure that this will be +felt by the other maintainers in Libreboot, and I'm extremely grateful for the +numerous invaluable contributions that she made to the project. + +A note about the hosting infrastructure, and sysadmin tasks +----------------------------------------------------------- + +Alyssa was previously acting as the system administrator for the Libreboot +project, in charge of maintaining the project's infrastructure. Additionally, +she was acting as Public Relations manager for the project; in particular, she +was handling Libreboot's application to join the GNU project. + +I have since assumed these responsibilities, at least for the time being, and +I will be working alongside the other members of the team going forward. +Since Alyssa had stepped down, nobody was in place to maintain the hosting +infrastructure for the project. Our old hosting provider was giving us issues, +so we switched hosting provider; this means that I'm currently maintaining the +hosting infrastructure for the project, since nobody else was willing to. + +The only piece of infrastructure currently missing is the mailing list. We now +have a fully functional mail server, and I will finish studying and installing +GNU Mailman version 3 (the software that will be used for handling the mailing +list). There are currently no repositories available for it on the GNU+Linux +distribution that libreboot.org uses (Debian), so we will have to maintain it +ourselves. + +Swift Geek also works alongside me, for sysadmin tasks, and has been +particularly helpful in advising on good practises for the setup of the new +mail server. I myself haven't had time to work on it for a while, but it will +be up soon. The mailing list that Alyssa created was only online for a week, +before we had to switch hosting provider for the project, and nobody had +started using it yet, so downtime for the mailing list hasn't been a huge +issue; people use the Notabug instance, and IRC. + +I will issue another news post, once the new mailing list is online. For the +time being, the links to it have been removed on the website. + +The mail server itself is online, so the 4 of us on the team now have +libreboot.org email addresses; these are published on the +[governance page](../management.md). If anyone wishes to contact a member of +the project directly via email, we recommend that you use these email +addresses. + +Of interest: the new hosting infrastructure for libreboot.org is entirely +libre. The main router on that network is a Libreboot system, with the router software +running on top of GNU+Linux. The server for libreboot.org (web and mail server) +is also a Libreboot system with GNU+Linux; postfix and dovecot for the mail +server, and nginx for the web server. DNS is also planned (the DNS hosting is +currently outsourced). + +Of further interest: libreboot.org is now IPv6-ready. All services are +dual stack IPv4+IPv6. Stronger encryption is used in the TLS configuration for +nginx aswell, for HTTPS, and HSTS is enabled by default. + +The certificate authority used for TLS is Let's Encrypt. This is used for +HTTPS and for encrypted connections to the mail server. + +The new hosting infrastructure is also much more secure than the previous one, +not just because Libreboot powers it but because of special configurations made +on externally accessible services (such as SSH and email). + +I am currently looking for a new colocation provider, but the hardware used +for hosting should be stable from now on. I have found one, which I'm looking +into, but I'm also considering other options. diff --git a/www/news/lenovo-recall.md b/www/news/lenovo-recall.md new file mode 100644 index 00000000..00256b72 --- /dev/null +++ b/www/news/lenovo-recall.md @@ -0,0 +1,11 @@ +% Lenovo Battery Recall for ThinkPad Laptops +% Johnny Rasnic +% 14 September 2017 + +[On 21 April 2015, Lenovo expanded a recall on Lenovo batteries found in ThinkPad models.](https://pcsupport.lenovo.com/cr/en/solutions/hf004122) +Libreboot-supported laptops that may be affected by this are the X200 and X200S. +To find out if you are affected, use [this Lenovo tool.](https://lenovobattery2014.orderz.com/) +Lenovo advises that owners of the recalled models "should turn off the system, remove the battery, +and only power your ThinkPad by plugging in the AC adapter and power cord." +Upon battery verification, Lenovo will replace recalled batteries free of charge. +Battery replacement instructions for the X200/X200s are found [on this page.](https://pcsupport.lenovo.com/cr/en/parts/pd003507/) diff --git a/www/news/new-mailing-lists.md b/www/news/new-mailing-lists.md index 8d623331..e6db70af 100644 --- a/www/news/new-mailing-lists.md +++ b/www/news/new-mailing-lists.md @@ -9,8 +9,8 @@ The mailing list address is [development@libreboot.org](mailto:development@libreboot.org) Information about the mailing list and how to subscribe are -[here](../lists/). Archives of discussion threads -are [here](../pipermail/development/). +on the [lists page](../lists/). Archives of discussion threads +are in the [pipermail development directory](../pipermail/development/). This replaces the mailing lists that we had before. The mailing list software in use is [GNU Mailman](https://www.gnu.org/software/mailman/), which is also diff --git a/www/news/talos.md b/www/news/talos.md new file mode 100644 index 00000000..724934b0 --- /dev/null +++ b/www/news/talos.md @@ -0,0 +1,41 @@ +% TALOS II Secure Workstation, from Raptor Engineering +% Leah Rowe +% 15 August 2017 + +Recently, [Raptor Engineering](https://www.raptorcs.com/TALOSII/) has launched +a new series of workstation and server computers. These are high-end systems, +using the libre IBM POWER9 architecture, and the boot firmware is entirely +Free Software like Libreboot. + +This is the *first* OEM producing *high-end* systems, from the factory assembly +line, with completely libre boot firmware. The boot firmware, operating system +and everything else is entirely Free Software. While not technically libreboot, +the boot firmware on TALOS II is Free Software, so it was decided that the +TALOS II would be promoted here on libreboot.org. + +If you are in the market for a high-end, secure workstation or server with +100% free boot firmware (like Libreboot) and operating system, produced by +an OEM *hardware manufacturer* that cares about freedom, look no further than +the TALOS II from Raptor Engineering! + +Their website for pre-orders is here: +<https://www.raptorcs.com/TALOSII/> + +An entry for the TALOS II has also been added to the +[suppliers page](../suppliers.md) on libreboot.org. + +Raptor Engineering is the same company that ported the ASUS KFSN4-DRE, +KPGE-D16 and KCMA-D8 motherboards to Libreboot. In addition, they added support +for Hybrid Graphics on the ThinkPad T400 which Libreboot supports, enabling +those laptops to be used in freedom (with the AMD GPU disabled, in favour of +the Intel GPU which Libreboot has free video initialization for). + +In response to the TALOS II launch I, Leah Rowe, have removed the Libreboot D16 +(TALOS II's main competitor) from minifree.org, and removed the Minifree D16 +entries from the [suppliers page](../suppliers.md) on libreboot.org. +I encourage Vikings and Technoethical, also present on that suppliers page, to +do the same and discontinue their D16 products. The TALOS II is very important +for the future of free, libre computing and indeed the free software community +as a whole; if TALOS II fails, we will be stuck for a very long time without +any viable high-end workstations that are libre. High-end hardware is necessary +for modern software development. diff --git a/www/suppliers.md b/www/suppliers.md index 89d6a050..2c61164f 100644 --- a/www/suppliers.md +++ b/www/suppliers.md @@ -24,14 +24,6 @@ Laptops: - [Libreboot T400 laptop](https://minifree.org/product/libreboot-t400/) (FSF RYF certified) -Desktops: - -- [Libreboot D16 desktop/workstation](https://minifree.org/product/libreboot-d16/) - -Servers: - -- [Libreboot D16 server](https://minifree.org/product/libreboot-d16-server/) - Services: - [Libreboot installation service](https://minifree.org/product/libreboot-installation-service/) @@ -43,6 +35,22 @@ Merchendise: - [Libreboot X200 docking station](https://minifree.org/product/docking-station-for-libreboot-x200/) - [Libreboot stickers](https://minifree.org/product/libreboot-stickers/) +Raptor Engineering +------------------ + +Raptor is the world's first libre OEM, producing systems with libre boot +firmware and operating system preinstalled, *from the factory*. + +Website for pre-orders: +<https://www.raptorcs.com/TALOSII/> + +NOTE: this isn't technically Libreboot, but the boot firmware is entirely free. + +This is the same company that ported the ASUS KFSN4-DRE, KGPE-D16 and KCMA-D8 +mainboards to Libreboot. Raptor has also helped improve other ports in Libreboot, +for instance they added support for *switchable graphics* on the ThinkPad T400 +which Libreboot supports. + Technoethical ------------- |