aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-02-03 21:41:21 -0800
committerH. Peter Anvin <hpa@zytor.com>2009-02-03 21:41:21 -0800
commitfd3b1f970c6385d178762fb5cfe922a2930d0cad (patch)
treee33ac5715b258a799e35bc821725947e57aee721 /core
parentdbc9c2da4332a308fd70a1fe055528204e0bb789 (diff)
downloadsyslinux-elf-fd3b1f970c6385d178762fb5cfe922a2930d0cad.tar.gz
syslinux-elf-fd3b1f970c6385d178762fb5cfe922a2930d0cad.tar.xz
syslinux-elf-fd3b1f970c6385d178762fb5cfe922a2930d0cad.zip
Add comboot interface to access the keyboard remapping table
Add a comboot interface to access the keyboard remapping table, which can be used for either querying or changing the keyboard map.
Diffstat (limited to 'core')
-rw-r--r--core/comboot.inc17
1 files changed, 16 insertions, 1 deletions
diff --git a/core/comboot.inc b/core/comboot.inc
index 810d8251..7210b8b8 100644
--- a/core/comboot.inc
+++ b/core/comboot.inc
@@ -1,6 +1,6 @@
;; -----------------------------------------------------------------------
;;
-;; Copyright 1994-2008 H. Peter Anvin - All Rights Reserved
+;; Copyright 1994-2009 H. Peter Anvin - All Rights Reserved
;;
;; 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
@@ -1033,6 +1033,20 @@ comapi_getadv:
;
comapi_writeadv equ adv_write
+;
+; INT 22h AX=001Eh Keyboard remapping table
+comapi_kbdtable:
+ cmp P_DX,0
+ jne .err
+ mov P_AX,1 ; Version
+ mov P_CX,256 ; Length
+ mov P_ES,cs
+ mov P_BX,KbdMap
+ ret
+.err:
+ stc
+ ret
+
section .data
%macro int21 2
@@ -1085,6 +1099,7 @@ int22_table:
dw comapi_shufflerm ; 001B cleanup, shuffle and boot to rm
dw comapi_getadv ; 001C get pointer to ADV
dw comapi_writeadv ; 001D write ADV to disk
+ dw comapi_kbdtable ; 001E keyboard remapping table
int22_count equ ($-int22_table)/2
APIKeyWait db 0