Goto sanos source index
//
// kbduk.h
//
// Keyboard tables for UK keyboard
//
// Copyright (C) 2004 Thierry Supplisson & Michael Ringgaard. All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// 3. Neither the name of the project nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
// SUCH DAMAGE.
//
struct keytable ukkeys = {
"uk",
{
// normal shift ctrl alt num caps scaps snum altgr
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 00
{0x1B1B, 0x1B1B, 0x1B1B, 0x0100, 0x1B1B, 0x1B1B, 0x1B1B, 0x1B1B, 0}, // 01 esc
{0x31, 0x21, 0, 0x7800, 0x31, 0x31, 0x21, 0x21, 0}, // 02 1
{0x32, 0x22, 0x0300, 0x7900, 0x32, 0x32, 0x22, 0x22, 0}, // 03 2
{0x33, 0, 0, 0x7A00, 0x33, 0x33, 0, 0, 0}, // 04 3
{0x34, 0x24, 0, 0x7B00, 0x34, 0x34, 0x24, 0x24, 0}, // 05 4
{0x35, 0x25, 0, 0x7C00, 0x35, 0x35, 0x25, 0x25, 0}, // 06 5
{0x36, 0x5E, 0x1E, 0x7D00, 0x36, 0x36, 0x5E, 0x5E, 0}, // 07 6
{0x37, 0x26, 0, 0x7E00, 0x37, 0x37, 0x26, 0x26, 0}, // 08 7
{0x38, 0x2A, 0, 0x7F00, 0x38, 0x38, 0x2A, 0x2A, 0}, // 09 8
{0x39, 0x28, 0, 0x8000, 0x39, 0x39, 0x28, 0x28, 0}, // 0A 9
{0x30, 0x29, 0, 0x8100, 0x30, 0x30, 0x29, 0x29, 0}, // 0B 0
{0x2D, 0x5F, 0x1F, 0x8200, 0x2D, 0x2D, 0x5F, 0x5F, 0}, // 0C -
{0x3D, 0x2B, 0, 0x8300, 0x3D, 0x3D, 0x2B, 0x2B, 0}, // 0D =
{0x08, 0x08, 0x7F, 0x0E00, 0x08, 0x08, 0x08, 0x08, 0}, // 0E bksp
{0x09, 0x0F00, 0x9400, 0xA500, 0x09, 0x09, 0x0F00, 0x0F00, 0}, // 0F tab
{0x71, 0x51, 0x11, 0x1000, 0x71, 0x51, 0x71, 0x51, 0}, // 10 Q
{0x77, 0x57, 0x17, 0x1100, 0x77, 0x57, 0x77, 0x57, 0}, // 11 W
{0x65, 0x45, 0x05, 0x1200, 0x65, 0x45, 0x65, 0x45, 0}, // 12 E
{0x72, 0x52, 0x12, 0x1300, 0x72, 0x52, 0x72, 0x52, 0}, // 13 R
{0x74, 0x54, 0x14, 0x1400, 0x74, 0x54, 0x74, 0x54, 0}, // 14 T
{0x79, 0x59, 0x19, 0x1500, 0x79, 0x59, 0x79, 0x59, 0}, // 15 Y
{0x75, 0x55, 0x15, 0x1600, 0x75, 0x55, 0x75, 0x55, 0}, // 16 U
{0x69, 0x49, 0x09, 0x1700, 0x69, 0x49, 0x69, 0x49, 0}, // 17 I
{0x6F, 0x4F, 0x0F, 0x1800, 0x6F, 0x4F, 0x6F, 0x4F, 0}, // 18 O
{0x70, 0x50, 0x10, 0x1900, 0x70, 0x50, 0x70, 0x50, 0}, // 19 P
{0x5B, 0x7B, 0x1B, 0x1A00, 0x5B, 0x5B, 0x7B, 0x7B, 0}, // 1A [
{0x5D, 0x7D, 0x1D, 0x1B00, 0x5D, 0x5D, 0x7D, 0x7D, 0}, // 1B ]
{0x0D, 0x0D, 0x0A, 0x1C00, 0x0D, 0x0D, 0x0A, 0x0A, 0}, // 1C enter
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 1D ctrl
{0x61, 0x41, 0x01, 0x1E00, 0x61, 0x41, 0x61, 0x41, 0}, // 1E A
{0x73, 0x53, 0x13, 0x1F00, 0x73, 0x53, 0x73, 0x53, 0}, // 1F S
{0x64, 0x44, 0x04, 0x2000, 0x64, 0x44, 0x64, 0x44, 0}, // 20 D
{0x66, 0x46, 0x06, 0x2100, 0x66, 0x46, 0x66, 0x46, 0}, // 21 F
{0x67, 0x47, 0x07, 0x2200, 0x67, 0x47, 0x67, 0x47, 0}, // 22 G
{0x68, 0x48, 0x08, 0x2300, 0x68, 0x48, 0x68, 0x48, 0}, // 23 H
{0x6A, 0x4A, 0x0A, 0x2400, 0x6A, 0x4A, 0x6A, 0x4A, 0}, // 24 J
{0x6B, 0x4B, 0x0B, 0x2500, 0x6B, 0x4B, 0x6B, 0x4B, 0}, // 25 K
{0x6C, 0x4C, 0x0C, 0x2600, 0x6C, 0x4C, 0x6C, 0x4C, 0}, // 26 L
{0x3B, 0x3A, 0, 0x2700, 0x3B, 0x3B, 0x3A, 0x3A, 0}, // 27 ;
{0x27, 0x40, 0, 0x2800, 0x27, 0x27, 0x40, 0x40, 0}, // 28 '
{0x60, 0, 0, 0, 0x60, 0x60, 0, 0, 0}, // 29 `
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 2A left shift
{0x23, 0x7E, 0, 0x2900, 0x23, 0x23, 0x7E, 0x7E, 0}, // 2B ~
{0x7A, 0x5A, 0x1A, 0x2C00, 0x7A, 0x5A, 0x7A, 0x5A, 0}, // 2C Z
{0x78, 0x58, 0x18, 0x2D00, 0x78, 0x58, 0x78, 0x58, 0}, // 2D X
{0x63, 0x43, 0x03, 0x2E00, 0x63, 0x43, 0x63, 0x43, 0}, // 2E C
{0x76, 0x56, 0x16, 0x2F00, 0x76, 0x56, 0x76, 0x56, 0}, // 2F V
{0x62, 0x42, 0x02, 0x3000, 0x62, 0x42, 0x62, 0x42, 0}, // 30 B
{0x6E, 0x4E, 0x0E, 0x3100, 0x6E, 0x4E, 0x6E, 0x4E, 0}, // 31 N
{0x6D, 0x4D, 0x0D, 0x3200, 0x6D, 0x4D, 0x6D, 0x4D, 0}, // 32 M
{0x2C, 0x3C, 0, 0x3300, 0x2C, 0x2C, 0x3C, 0x3C, 0}, // 33 ,
{0x2E, 0x3E, 0, 0x3400, 0x2E, 0x2E, 0x3E, 0x3E, 0}, // 34 .
{0x2F, 0x3F, 0, 0x3500, 0x2F, 0x2F, 0x3F, 0x3F, 0}, // 35 /
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 36 right shift
{0x2A, 0x2A, 0x9600, 0x3700, 0x2A, 0x2A, 0, 0, 0}, // 37 * (kpad)
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 38 left alt
{0x20, 0x20, 0x20, 0x3900, 0x20, 0x20, 0x20, 0x20, 0}, // 39 space
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 3A caps
{0x3B00, 0x5400, 0x5E00, 0x6800, 0x3B00, 0x3B00, 0x5400, 0x5400, 0}, // 3B F1
{0x3C00, 0x5500, 0x5F00, 0x6900, 0x3C00, 0x3C00, 0x5500, 0x5500, 0}, // 3C F2
{0x3D00, 0x5600, 0x6000, 0x6A00, 0x3D00, 0x3D00, 0x5600, 0x5600, 0}, // 3D F3
{0x3E00, 0x5700, 0x6100, 0x6B00, 0x3E00, 0x3E00, 0x5700, 0x5700, 0}, // 3E F4
{0x3F00, 0x5800, 0x6200, 0x6C00, 0x3F00, 0x3F00, 0x5800, 0x5800, 0}, // 3F F5
{0x4000, 0x5900, 0x6300, 0x6D00, 0x4000, 0x4000, 0x5900, 0x5900, 0}, // 40 F6
{0x4100, 0x5A00, 0x6400, 0x6E00, 0x4100, 0x4100, 0x5A00, 0x5A00, 0}, // 41 F7
{0x4200, 0x5B00, 0x6500, 0x6F00, 0x4200, 0x4200, 0x5B00, 0x5B00, 0}, // 42 F8
{0x4300, 0x5C00, 0x6600, 0x7000, 0x4300, 0x4300, 0x5C00, 0x5C00, 0}, // 43 F9
{0x4400, 0x5D00, 0x6700, 0x7100, 0x4400, 0x4400, 0x5D00, 0x5D00, 0}, // 44 F10
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 45 numlock
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 46 scrllock
{0x4700, 0x37, 0x7700, 0, 0x37, 0x4700, 0x37, 0x4700, 0}, // 47 7 home (kpad)
{0x4800, 0x38, 0x8D00, 0, 0x38, 0x4800, 0x38, 0x4800, 0}, // 48 8 up (kpad)
{0x4900, 0x39, 0x8400, 0, 0x39, 0x4900, 0x39, 0x4900, 0}, // 49 9 pgup (kpad)
{0x2D, 0x2D, 0x8E00, 0x4A00, 0x2D, 0x2D, 0x2D, 0x2D, 0}, // 4A - (kpad)
{0x4B00, 0x34, 0x7300, 0, 0x34, 0x4B00, 0x34, 0x4B00, 0}, // 4B 4 left (kpad)
{0x4C00, 0x35, 0x8F00, 0, 0x35, 0x4C00, 0x35, 0x4C00, 0}, // 4C 5 center (kpad)
{0x4D00, 0x36, 0x7400, 0, 0x36, 0x4D00, 0x36, 0x4D00, 0}, // 4D 6 right (kpad)
{0x2B, 0x2B, 0x9000, 0x4E00, 0x2B, 0x2B, 0x2B, 0x2B, 0}, // 4E + (kpad)
{0x4F00, 0x31, 0x7500, 0, 0x31, 0x4F00, 0x31, 0x4F00, 0}, // 4F 1 end (kpad)
{0x5000, 0x32, 0x9100, 0, 0x32, 0x5000, 0x32, 0x5000, 0}, // 50 2 down (kpad)
{0x5100, 0x33, 0x7600, 0, 0x33, 0x5100, 0x33, 0x5100, 0}, // 51 3 pgdn (kpad)
{0x5200, 0x30, 0x9200, 0, 0x30, 0x5200, 0x30, 0x5200, 0}, // 52 0 ins (kpad)
{0x5300, 0x2E, 0x9300, 0, 0x2E, 0x5300, 0x2E, 0x5300, 0}, // 53 . del (kpad)
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 54 caps
{0, 0, 0, 0, 0, 0, 0, 0, 0}, // 55
{0x5C, 0x7C, 0x1C, 0x2B00, 0x5C, 0x5C, 0x7C, 0x7C, 0}, // 56 backslash
{0x8500, 0x8700, 0x8900, 0x8B00, 0x8500, 0x8500, 0x8700, 0x8700, 0}, // 57 F11
{0x8600, 0x8800, 0x8A00, 0x8C00, 0x8600, 0x8600, 0x8800, 0x8800, 0}, // 58 F12
}
};