opengnsys_ipxe/src/core
Michael Brown 0bbd896783 [console] Handle remapping of scancode 86
The key with scancode 86 appears in the position between left shift
and Z on a US keyboard, where it typically fails to exist entirely.
Most US keyboard maps define this nonexistent key as generating "\|",
with the notable exception of "loadkeys" which instead reports it as
generating "<>".  Both of these mapping choices duplicate keys that
exist elsewhere in the map, which causes problems for our ASCII-based
remapping mechanism.

Work around these quirks by treating the key as generating "\|" with
the high bit set, and making it subject to remapping.  Where the BIOS
generates "\|" as expected, this allows us to remap to the correct
ASCII value.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2022-02-10 13:59:32 +00:00
..
acpi.c [acpi] Generalise DSDT/SSDT data extraction logic 2021-09-08 14:46:30 +01:00
acpi_settings.c [acpi] Expose ACPI tables via settings mechanism 2017-05-23 18:48:06 +01:00
acpimac.c [acpi] Allow for extraction of a MAC address from the DSDT/SSDT 2021-09-09 12:18:00 +01:00
ansicol.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
ansicoldef.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
ansiesc.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
archive.c [image] Propagate trust flag to extracted archive images 2021-05-12 14:14:52 +01:00
asprintf.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
assert.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
base16.c [base16] Add buffer size parameter to base16_encode() and base16_decode() 2015-04-24 14:41:32 +01:00
base64.c [base64] Include terminating NUL within base64 character array 2021-06-07 13:20:02 +01:00
basename.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
bitmap.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
blockdev.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
blocktrans.c [interface] Provide intf_insert() to insert a filter interface 2020-12-07 13:50:24 +00:00
cachedhcp.c [efi] Record cached ProxyDHCPOFFER and PXEBSACK, if present 2021-07-27 13:50:36 +01:00
console.c [libc] Match standard prototype for putchar() 2021-06-07 13:26:01 +01:00
cpio.c [cpio] Split out bzImage initrd CPIO header construction 2021-05-21 15:19:38 +01:00
ctype.c [libc] Rewrite unrelicensable portions of ctype.h 2015-03-02 16:35:37 +00:00
cwuri.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
debug.c [debug] Allow debug colourisation to be disabled 2016-01-12 15:39:14 +00:00
debug_md5.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
device.c [init] Show startup and shutdown function names in debug messages 2019-01-25 14:53:43 +00:00
dma.c [dma] Provide dma_umalloc() for allocating large DMA-coherent buffers 2020-11-29 11:25:40 +00:00
downloader.c [downloader] Allow underlying downloads to provide detailed job progress 2017-09-05 23:23:22 +01:00
dummy_sanboot.c [block] Allow use of a non-default EFI SAN boot filename 2017-04-12 15:58:05 +01:00
edd.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
errno.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
exec.c [libc] Make sleep() interruptible 2016-03-22 16:18:42 +00:00
fault.c [fault] Add inject_corruption() to randomly corrupt data 2015-07-22 21:17:47 +01:00
fbcon.c [fbcon] Move margin calculations to fbcon.c 2015-10-14 22:16:45 +01:00
fdt.c [fdt] Add ability to parse a MAC address from a flattened device tree 2019-07-19 17:35:39 +01:00
fnrec.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-05 11:40:13 +00:00
gdbserial.c [gdb] Allow gdbstub to be started on an arbitrary serial port 2015-06-29 16:44:16 +01:00
gdbstub.c [gdb] Add support for x86_64 2016-03-22 08:44:32 +00:00
gdbudp.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-05 11:40:13 +00:00
getkey.c [efi] Work around broken UEFI keyboard drivers 2016-05-25 23:28:41 +01:00
getopt.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:50:42 +00:00
hw.c [hw] Eliminate polling while waiting for window to open 2011-06-28 14:45:11 +01:00
i82365.c Initial revision 2005-03-08 18:53:11 +00:00
image.c [image] Provide image_set_len() utility function 2021-05-08 15:34:19 +01:00
init.c [init] Show startup and shutdown function names in debug messages 2019-01-25 14:53:43 +00:00
interface.c [interface] Provide intf_insert() to insert a filter interface 2020-12-07 13:50:24 +00:00
iobuf.c [dma] Move I/O buffer DMA operations to iobuf.h 2020-11-28 20:26:28 +00:00
iomap_virt.c [ioapi] Split ioremap() out to a separate IOMAP API 2016-02-26 15:33:40 +00:00
isqrt.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
job.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
keymap.c [console] Handle remapping of scancode 86 2022-02-10 13:59:32 +00:00
linebuf.c [linebuf] Support buffering of multiple lines 2015-07-28 16:59:11 +01:00
lineconsole.c [syslog] Handle backspace characters 2017-06-13 11:54:41 +01:00
list.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
log.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
main.c [test] Allow self-tests to report exit status when running under Linux 2015-08-21 15:46:28 +01:00
malloc.c [malloc] Rename malloc_dma() to malloc_phys() 2020-11-05 19:13:52 +00:00
memmap_settings.c [settings] Extend numerical setting tags to 64 bits 2017-05-22 13:54:13 +01:00
menu.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
monojob.c [monojob] Display job status message, if present 2017-09-05 23:23:22 +01:00
netbios.c [http] Allow for domain names within NTLM user names 2018-02-19 11:58:28 +00:00
null_acpi.c [acpi] Allow for platforms that provide ACPI tables individually 2021-03-01 00:08:23 +00:00
null_nap.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
null_reboot.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:50:42 +00:00
null_sanboot.c [block] Allow use of a non-default EFI SAN boot filename 2017-04-12 15:58:05 +01:00
null_time.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
nvo.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
open.c [uri] Make URI schemes case-insensitive 2021-07-01 16:32:46 +01:00
params.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
parseopt.c [parseopt] Treat empty integer strings in user input as invalid 2020-06-19 17:33:27 +01:00
pc_kbd.c [console] Move include/console.h to include/ipxe/console.h 2011-03-09 20:09:26 +00:00
pcmcia.c [console] Move putchar() and getchar() declarations to stdio.h 2012-03-26 14:43:52 +01:00
pending.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
pinger.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
pixbuf.c [pixbuf] Avoid potential division by zero 2017-03-22 14:11:19 +02:00
pool.c [pool] Add a generic concept of a pooled connection 2015-07-28 16:37:00 +01:00
posix_io.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
process.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
profile.c [profile] Prevent potential division by zero 2018-03-18 18:39:39 +02:00
quiesce.c [block] Provide abstraction to allow system to be quiesced 2017-04-26 20:15:39 +01:00
random.c [libc] Always use a non-zero seed for the (non-crypto) RNG 2016-06-09 08:44:32 +01:00
refcnt.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 16:35:29 +00:00
resolv.c [resolv] Use pass-through interfaces for name resolution multiplexer 2017-09-06 11:43:22 +01:00
sanboot.c [block] Provide abstraction to allow system to be quiesced 2017-04-26 20:15:39 +01:00
serial.c [init] Show startup and shutdown function names in debug messages 2019-01-25 14:53:43 +00:00
settings.c [settings] Support formatting UUIDs as little-endian GUIDs 2022-01-04 14:03:12 +00:00
string.c [libc] Add strncasecmp() 2021-05-18 11:45:24 +01:00
stringextra.c [libc] Remove unused string functions 2015-02-16 16:25:20 +00:00
time.c [time] Allow system clock to be adjusted at runtime 2016-06-13 15:29:05 +01:00
timer.c [time] Add sleep_fixed() function to sleep without checking for Ctrl-C 2017-03-27 15:41:22 +03:00
uart.c [serial] Check for UART existence in uart_select() 2015-07-31 11:19:19 +01:00
uri.c [uri] Allow for relative URIs that include colons within the path 2022-01-13 15:03:22 +00:00
uuid.c [build] Return const char * from uuid_ntoa() 2017-01-22 13:45:00 +00:00
version.c [efi] Include Secure Boot Advanced Targeting (SBAT) metadata 2022-01-13 14:12:44 +00:00
vsprintf.c [libc] Print "<NULL>" for wide-character NULL strings 2016-04-12 11:53:06 +01:00
wchar.c [legal] Relicense files under GPL2_OR_LATER_OR_UBDL 2015-03-02 14:17:31 +00:00
xfer.c [xfer] Ensure va_end() is called on failure path 2017-03-21 13:38:39 +02:00
xferbuf.c [build] Fix compiler warnings on some gcc versions 2015-07-27 15:21:17 +01:00