mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
[MIPS] Remove IT8172-based platforms, ITE 8172G and Globespan IVR support.
As per feature-removal-schedule.txt. Signed-off-by: Yoichi Yuasa <[email protected]> Acked-by: Alan Cox <[email protected]> Signed-off-by: Ralf Baechle <[email protected]>
This commit is contained in:
parent
08dfcee84c
commit
af8b128719
48 changed files with 2 additions and 8726 deletions
1
drivers/char/.gitignore
vendored
1
drivers/char/.gitignore
vendored
|
|
@ -1,3 +1,2 @@
|
|||
consolemap_deftbl.c
|
||||
defkeymap.c
|
||||
qtronixmap.c
|
||||
|
|
|
|||
|
|
@ -371,36 +371,6 @@ config AU1000_SERIAL_CONSOLE
|
|||
If you have an Alchemy AU1000 processor (MIPS based) and you want
|
||||
to use a console on a serial port, say Y. Otherwise, say N.
|
||||
|
||||
config QTRONIX_KEYBOARD
|
||||
bool "Enable Qtronix 990P Keyboard Support"
|
||||
depends on IT8712
|
||||
help
|
||||
Images of Qtronix keyboards are at
|
||||
<http://www.qtronix.com/keyboard.html>.
|
||||
|
||||
config IT8172_CIR
|
||||
bool
|
||||
depends on QTRONIX_KEYBOARD
|
||||
default y
|
||||
|
||||
config IT8172_SCR0
|
||||
bool "Enable Smart Card Reader 0 Support "
|
||||
depends on IT8712
|
||||
help
|
||||
Say Y here to support smart-card reader 0 (SCR0) on the Integrated
|
||||
Technology Express, Inc. ITE8172 SBC. Vendor page at
|
||||
<http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
|
||||
board at <http://www.mvista.com/partners/semiconductor/ite.html>.
|
||||
|
||||
config IT8172_SCR1
|
||||
bool "Enable Smart Card Reader 1 Support "
|
||||
depends on IT8712
|
||||
help
|
||||
Say Y here to support smart-card reader 1 (SCR1) on the Integrated
|
||||
Technology Express, Inc. ITE8172 SBC. Vendor page at
|
||||
<http://www.ite.com.tw/ia/brief_it8172bsp.htm>; picture of the
|
||||
board at <http://www.mvista.com/partners/semiconductor/ite.html>.
|
||||
|
||||
config A2232
|
||||
tristate "Commodore A2232 serial support (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL && ZORRO && BROKEN_ON_SMP
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ obj-$(CONFIG_HANGCHECK_TIMER) += hangcheck-timer.o
|
|||
obj-$(CONFIG_TCG_TPM) += tpm/
|
||||
|
||||
# Files generated that shall be removed upon make clean
|
||||
clean-files := consolemap_deftbl.c defkeymap.c qtronixmap.c
|
||||
clean-files := consolemap_deftbl.c defkeymap.c
|
||||
|
||||
quiet_cmd_conmk = CONMK $@
|
||||
cmd_conmk = scripts/conmakehash $< > $@
|
||||
|
|
@ -112,8 +112,6 @@ $(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE)
|
|||
|
||||
$(obj)/defkeymap.o: $(obj)/defkeymap.c
|
||||
|
||||
$(obj)/qtronixmap.o: $(obj)/qtronixmap.c
|
||||
|
||||
# Uncomment if you're changing the keymap and have an appropriate
|
||||
# loadkeys version for the map. By default, we'll use the shipped
|
||||
# versions.
|
||||
|
|
@ -121,7 +119,7 @@ $(obj)/qtronixmap.o: $(obj)/qtronixmap.c
|
|||
|
||||
ifdef GENERATE_KEYMAP
|
||||
|
||||
$(obj)/defkeymap.c $(obj)/qtronixmap.c: $(obj)/%.c: $(src)/%.map
|
||||
$(obj)/defkeymap.c $(obj)/%.c: $(src)/%.map
|
||||
loadkeys --mktable $< > $@.tmp
|
||||
sed -e 's/^static *//' $@.tmp > $@
|
||||
rm $@.tmp
|
||||
|
|
|
|||
|
|
@ -1,419 +0,0 @@
|
|||
/*
|
||||
* FILE NAME ite_gpio.c
|
||||
*
|
||||
* BRIEF MODULE DESCRIPTION
|
||||
* API for ITE GPIO device.
|
||||
* Driver for ITE GPIO device.
|
||||
*
|
||||
* Author: MontaVista Software, Inc. <source@mvista.com>
|
||||
* Hai-Pao Fan <haipao@mvista.com>
|
||||
*
|
||||
* Copyright 2001 MontaVista Software Inc.
|
||||
*
|
||||
* 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 2 of the License, or (at your
|
||||
* option) any later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``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 AUTHOR 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
* 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
#include <linux/module.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/miscdevice.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/addrspace.h>
|
||||
#include <asm/it8172/it8172_int.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/ite_gpio.h>
|
||||
|
||||
#define ite_gpio_base 0x14013800
|
||||
|
||||
#define ITE_GPADR (*(volatile __u8 *)(0x14013800 + KSEG1))
|
||||
#define ITE_GPBDR (*(volatile __u8 *)(0x14013808 + KSEG1))
|
||||
#define ITE_GPCDR (*(volatile __u8 *)(0x14013810 + KSEG1))
|
||||
#define ITE_GPACR (*(volatile __u16 *)(0x14013802 + KSEG1))
|
||||
#define ITE_GPBCR (*(volatile __u16 *)(0x1401380a + KSEG1))
|
||||
#define ITE_GPCCR (*(volatile __u16 *)(0x14013812 + KSEG1))
|
||||
#define ITE_GPAICR (*(volatile __u16 *)(0x14013804 + KSEG1))
|
||||
#define ITE_GPBICR (*(volatile __u16 *)(0x1401380c + KSEG1))
|
||||
#define ITE_GPCICR (*(volatile __u16 *)(0x14013814 + KSEG1))
|
||||
#define ITE_GPAISR (*(volatile __u8 *)(0x14013806 + KSEG1))
|
||||
#define ITE_GPBISR (*(volatile __u8 *)(0x1401380e + KSEG1))
|
||||
#define ITE_GPCISR (*(volatile __u8 *)(0x14013816 + KSEG1))
|
||||
#define ITE_GCR (*(volatile __u8 *)(0x14013818 + KSEG1))
|
||||
|
||||
#define MAX_GPIO_LINE 21
|
||||
static int ite_gpio_irq=IT8172_GPIO_IRQ;
|
||||
|
||||
static long ite_irq_counter[MAX_GPIO_LINE];
|
||||
wait_queue_head_t ite_gpio_wait[MAX_GPIO_LINE];
|
||||
static int ite_gpio_irq_pending[MAX_GPIO_LINE];
|
||||
|
||||
static int ite_gpio_debug=0;
|
||||
#define DEB(x) if (ite_gpio_debug>=1) x
|
||||
|
||||
int ite_gpio_in(__u32 device, __u32 mask, volatile __u32 *data)
|
||||
{
|
||||
DEB(printk("ite_gpio_in mask=0x%x\n",mask));
|
||||
|
||||
switch (device) {
|
||||
case ITE_GPIO_PORTA:
|
||||
ITE_GPACR = (__u16)mask; /* 0xffff */
|
||||
*data = ITE_GPADR;
|
||||
break;
|
||||
case ITE_GPIO_PORTB:
|
||||
ITE_GPBCR = (__u16)mask; /* 0xffff */
|
||||
*data = ITE_GPBDR;
|
||||
break;
|
||||
case ITE_GPIO_PORTC:
|
||||
ITE_GPCCR = (__u16)mask; /* 0x03ff */
|
||||
*data = ITE_GPCDR;
|
||||
break;
|
||||
default:
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int ite_gpio_out(__u32 device, __u32 mask, __u32 data)
|
||||
{
|
||||
switch (device) {
|
||||
case ITE_GPIO_PORTA:
|
||||
ITE_GPACR = (__u16)mask; /* 0x5555 */
|
||||
ITE_GPADR = (__u8)data;
|
||||
break;
|
||||
case ITE_GPIO_PORTB:
|
||||
ITE_GPBCR = (__u16)mask; /* 0x5555 */
|
||||
ITE_GPBDR = (__u8)data;
|
||||
break;
|
||||
case ITE_GPIO_PORTC:
|
||||
ITE_GPCCR = (__u16)mask; /* 0x0155 */
|
||||
ITE_GPCDR = (__u8)data;
|
||||
break;
|
||||
default:
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ite_gpio_int_ctrl(__u32 device, __u32 mask, __u32 data)
|
||||
{
|
||||
switch (device) {
|
||||
case ITE_GPIO_PORTA:
|
||||
ITE_GPAICR = (ITE_GPAICR & ~mask) | (data & mask);
|
||||
break;
|
||||
case ITE_GPIO_PORTB:
|
||||
ITE_GPBICR = (ITE_GPBICR & ~mask) | (data & mask);
|
||||
break;
|
||||
case ITE_GPIO_PORTC:
|
||||
ITE_GPCICR = (ITE_GPCICR & ~mask) | (data & mask);
|
||||
break;
|
||||
default:
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ite_gpio_in_status(__u32 device, __u32 mask, volatile __u32 *data)
|
||||
{
|
||||
int ret=-1;
|
||||
|
||||
if ((MAX_GPIO_LINE > *data) && (*data >= 0))
|
||||
ret=ite_gpio_irq_pending[*data];
|
||||
|
||||
DEB(printk("ite_gpio_in_status %d ret=%d\n",*data, ret));
|
||||
|
||||
switch (device) {
|
||||
case ITE_GPIO_PORTA:
|
||||
*data = ITE_GPAISR & mask;
|
||||
break;
|
||||
case ITE_GPIO_PORTB:
|
||||
*data = ITE_GPBISR & mask;
|
||||
break;
|
||||
case ITE_GPIO_PORTC:
|
||||
*data = ITE_GPCISR & mask;
|
||||
break;
|
||||
default:
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ite_gpio_out_status(__u32 device, __u32 mask, __u32 data)
|
||||
{
|
||||
switch (device) {
|
||||
case ITE_GPIO_PORTA:
|
||||
ITE_GPAISR = (ITE_GPAISR & ~mask) | (data & mask);
|
||||
break;
|
||||
case ITE_GPIO_PORTB:
|
||||
ITE_GPBISR = (ITE_GPBISR & ~mask) | (data & mask);
|
||||
break;
|
||||
case ITE_GPIO_PORTC:
|
||||
ITE_GPCISR = (ITE_GPCISR & ~mask) | (data & mask);
|
||||
break;
|
||||
default:
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ite_gpio_gen_ctrl(__u32 device, __u32 mask, __u32 data)
|
||||
{
|
||||
ITE_GCR = (ITE_GCR & ~mask) | (data & mask);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ite_gpio_int_wait (__u32 device, __u32 mask, __u32 data)
|
||||
{
|
||||
int i,line=0, ret=0;
|
||||
unsigned long flags;
|
||||
|
||||
switch (device) {
|
||||
case ITE_GPIO_PORTA:
|
||||
line = data & mask;
|
||||
break;
|
||||
case ITE_GPIO_PORTB:
|
||||
line = (data & mask) <<8;
|
||||
break;
|
||||
case ITE_GPIO_PORTC:
|
||||
line = (data & mask) <<16;
|
||||
break;
|
||||
}
|
||||
for (i=MAX_GPIO_LINE-1; i >= 0; i--) {
|
||||
if ( (line) & (1 << i))
|
||||
break;
|
||||
}
|
||||
|
||||
DEB(printk("wait device=0x%d mask=0x%x data=0x%x index %d\n",
|
||||
device, mask, data, i));
|
||||
|
||||
if (line & ~(1<<i))
|
||||
return -EFAULT;
|
||||
|
||||
if (ite_gpio_irq_pending[i]==1)
|
||||
return -EFAULT;
|
||||
|
||||
save_flags (flags);
|
||||
cli();
|
||||
ite_gpio_irq_pending[i] = 1;
|
||||
ret = interruptible_sleep_on_timeout(&ite_gpio_wait[i], 3*HZ);
|
||||
restore_flags (flags);
|
||||
ite_gpio_irq_pending[i] = 0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(ite_gpio_in);
|
||||
EXPORT_SYMBOL(ite_gpio_out);
|
||||
EXPORT_SYMBOL(ite_gpio_int_ctrl);
|
||||
EXPORT_SYMBOL(ite_gpio_in_status);
|
||||
EXPORT_SYMBOL(ite_gpio_out_status);
|
||||
EXPORT_SYMBOL(ite_gpio_gen_ctrl);
|
||||
EXPORT_SYMBOL(ite_gpio_int_wait);
|
||||
|
||||
static int ite_gpio_open(struct inode *inode, struct file *file)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int ite_gpio_release(struct inode *inode, struct file *file)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int ite_gpio_ioctl(struct inode *inode, struct file *file,
|
||||
unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
static struct ite_gpio_ioctl_data ioctl_data;
|
||||
|
||||
if (copy_from_user(&ioctl_data, (struct ite_gpio_ioctl_data *)arg,
|
||||
sizeof(ioctl_data)))
|
||||
return -EFAULT;
|
||||
if ((ioctl_data.device < ITE_GPIO_PORTA) ||
|
||||
(ioctl_data.device > ITE_GPIO_PORTC) )
|
||||
return -EFAULT;
|
||||
|
||||
switch(cmd) {
|
||||
case ITE_GPIO_IN:
|
||||
if (ite_gpio_in(ioctl_data.device, ioctl_data.mask,
|
||||
&ioctl_data.data))
|
||||
return -EFAULT;
|
||||
|
||||
if (copy_to_user((struct ite_gpio_ioctl_data *)arg,
|
||||
&ioctl_data, sizeof(ioctl_data)))
|
||||
return -EFAULT;
|
||||
break;
|
||||
|
||||
case ITE_GPIO_OUT:
|
||||
return ite_gpio_out(ioctl_data.device,
|
||||
ioctl_data.mask, ioctl_data.data);
|
||||
break;
|
||||
|
||||
case ITE_GPIO_INT_CTRL:
|
||||
return ite_gpio_int_ctrl(ioctl_data.device,
|
||||
ioctl_data.mask, ioctl_data.data);
|
||||
break;
|
||||
|
||||
case ITE_GPIO_IN_STATUS:
|
||||
if (ite_gpio_in_status(ioctl_data.device, ioctl_data.mask,
|
||||
&ioctl_data.data))
|
||||
return -EFAULT;
|
||||
if (copy_to_user((struct ite_gpio_ioctl_data *)arg,
|
||||
&ioctl_data, sizeof(ioctl_data)))
|
||||
return -EFAULT;
|
||||
break;
|
||||
|
||||
case ITE_GPIO_OUT_STATUS:
|
||||
return ite_gpio_out_status(ioctl_data.device,
|
||||
ioctl_data.mask, ioctl_data.data);
|
||||
break;
|
||||
|
||||
case ITE_GPIO_GEN_CTRL:
|
||||
return ite_gpio_gen_ctrl(ioctl_data.device,
|
||||
ioctl_data.mask, ioctl_data.data);
|
||||
break;
|
||||
|
||||
case ITE_GPIO_INT_WAIT:
|
||||
return ite_gpio_int_wait(ioctl_data.device,
|
||||
ioctl_data.mask, ioctl_data.data);
|
||||
break;
|
||||
|
||||
default:
|
||||
return -ENOIOCTLCMD;
|
||||
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ite_gpio_irq_handler(int this_irq, void *dev_id,
|
||||
struct pt_regs *regs)
|
||||
{
|
||||
int i,line;
|
||||
|
||||
line = ITE_GPCISR & 0x1f;
|
||||
for (i=4; i >=0; i--) {
|
||||
if ( line & (1 << i)) {
|
||||
++ite_irq_counter[i+16];
|
||||
ite_gpio_irq_pending[i+16] = 2;
|
||||
wake_up_interruptible(&ite_gpio_wait[i+16]);
|
||||
|
||||
DEB(printk("interrupt 0x%x %d\n", &ite_gpio_wait[i+16], i+16));
|
||||
|
||||
ITE_GPCISR = ITE_GPCISR & (1<<i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
line = ITE_GPBISR;
|
||||
for (i=7; i >= 0; i--) {
|
||||
if ( line & (1 << i)) {
|
||||
++ite_irq_counter[i+8];
|
||||
ite_gpio_irq_pending[i+8] = 2;
|
||||
wake_up_interruptible(&ite_gpio_wait[i+8]);
|
||||
|
||||
DEB(printk("interrupt 0x%x %d\n",ITE_GPBISR, i+8));
|
||||
|
||||
ITE_GPBISR = ITE_GPBISR & (1<<i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
line = ITE_GPAISR;
|
||||
for (i=7; i >= 0; i--) {
|
||||
if ( line & (1 << i)) {
|
||||
++ite_irq_counter[i];
|
||||
ite_gpio_irq_pending[i] = 2;
|
||||
wake_up_interruptible(&ite_gpio_wait[i]);
|
||||
|
||||
DEB(printk("interrupt 0x%x %d\n",ITE_GPAISR, i));
|
||||
|
||||
ITE_GPAISR = ITE_GPAISR & (1<<i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static const struct file_operations ite_gpio_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.ioctl = ite_gpio_ioctl,
|
||||
.open = ite_gpio_open,
|
||||
.release = ite_gpio_release,
|
||||
};
|
||||
|
||||
static struct miscdevice ite_gpio_miscdev = {
|
||||
MISC_DYNAMIC_MINOR,
|
||||
"ite_gpio",
|
||||
&ite_gpio_fops
|
||||
};
|
||||
|
||||
int __init ite_gpio_init(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (misc_register(&ite_gpio_miscdev))
|
||||
return -ENODEV;
|
||||
|
||||
if (!request_region(ite_gpio_base, 0x1c, "ITE GPIO"))
|
||||
{
|
||||
misc_deregister(&ite_gpio_miscdev);
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
/* initialize registers */
|
||||
ITE_GPACR = 0xffff;
|
||||
ITE_GPBCR = 0xffff;
|
||||
ITE_GPCCR = 0xffff;
|
||||
ITE_GPAICR = 0x00ff;
|
||||
ITE_GPBICR = 0x00ff;
|
||||
ITE_GPCICR = 0x00ff;
|
||||
ITE_GCR = 0;
|
||||
|
||||
for (i = 0; i < MAX_GPIO_LINE; i++) {
|
||||
ite_gpio_irq_pending[i]=0;
|
||||
init_waitqueue_head(&ite_gpio_wait[i]);
|
||||
}
|
||||
|
||||
if (request_irq(ite_gpio_irq, ite_gpio_irq_handler, IRQF_SHARED, "gpio", 0) < 0) {
|
||||
misc_deregister(&ite_gpio_miscdev);
|
||||
release_region(ite_gpio_base, 0x1c);
|
||||
return 0;
|
||||
}
|
||||
|
||||
printk("GPIO at 0x%x (irq = %d)\n", ite_gpio_base, ite_gpio_irq);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __exit ite_gpio_exit(void)
|
||||
{
|
||||
misc_deregister(&ite_gpio_miscdev);
|
||||
}
|
||||
|
||||
module_init(ite_gpio_init);
|
||||
module_exit(ite_gpio_exit);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
@ -1,265 +0,0 @@
|
|||
|
||||
/* Do not edit this file! It was automatically generated by */
|
||||
/* loadkeys --mktable defkeymap.map > defkeymap.c */
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/keyboard.h>
|
||||
#include <linux/kd.h>
|
||||
|
||||
u_short plain_map[NR_KEYS] = {
|
||||
0xf200, 0xf060, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036,
|
||||
0xf037, 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf200, 0xf07f,
|
||||
0xf009, 0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75,
|
||||
0xfb69, 0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf05c, 0xf207, 0xfb61,
|
||||
0xfb73, 0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c,
|
||||
0xf03b, 0xf027, 0xf060, 0xf201, 0xf700, 0xf200, 0xfb7a, 0xfb78,
|
||||
0xfb63, 0xfb76, 0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f,
|
||||
0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf020, 0xf703, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601,
|
||||
0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200,
|
||||
0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf01b, 0xf200,
|
||||
0xf100, 0xf101, 0xf102, 0xf103, 0xf104, 0xf105, 0xf106, 0xf107,
|
||||
0xf108, 0xf109, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200,
|
||||
};
|
||||
|
||||
u_short shift_map[NR_KEYS] = {
|
||||
0xf200, 0xf07e, 0xf021, 0xf040, 0xf023, 0xf024, 0xf025, 0xf05e,
|
||||
0xf026, 0xf02a, 0xf028, 0xf029, 0xf05f, 0xf02b, 0xf200, 0xf07f,
|
||||
0xf009, 0xfb51, 0xfb57, 0xfb45, 0xfb52, 0xfb54, 0xfb59, 0xfb55,
|
||||
0xfb49, 0xfb4f, 0xfb50, 0xf07b, 0xf07d, 0xf07c, 0xf207, 0xfb41,
|
||||
0xfb53, 0xfb44, 0xfb46, 0xfb47, 0xfb48, 0xfb4a, 0xfb4b, 0xfb4c,
|
||||
0xf03a, 0xf022, 0xf07e, 0xf201, 0xf700, 0xf200, 0xfb5a, 0xfb58,
|
||||
0xfb43, 0xfb56, 0xfb42, 0xfb4e, 0xfb4d, 0xf03c, 0xf03e, 0xf03f,
|
||||
0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf020, 0xf703, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601,
|
||||
0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf20b, 0xf20a, 0xf200,
|
||||
0xf200, 0xf602, 0xf213, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf01b, 0xf200,
|
||||
0xf10a, 0xf10b, 0xf10c, 0xf10d, 0xf10e, 0xf10f, 0xf110, 0xf111,
|
||||
0xf112, 0xf113, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200,
|
||||
};
|
||||
|
||||
u_short altgr_map[NR_KEYS] = {
|
||||
0xf200, 0xf200, 0xf200, 0xf040, 0xf200, 0xf024, 0xf200, 0xf200,
|
||||
0xf07b, 0xf05b, 0xf05d, 0xf07d, 0xf05c, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75,
|
||||
0xfb69, 0xfb6f, 0xfb70, 0xf200, 0xf200, 0xf200, 0xf207, 0xfb61,
|
||||
0xfb73, 0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c,
|
||||
0xf200, 0xf200, 0xf200, 0xf201, 0xf700, 0xf200, 0xfb7a, 0xfb78,
|
||||
0xfb63, 0xfb76, 0xfb62, 0xfb6e, 0xfb6d, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf200, 0xf703, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601,
|
||||
0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200,
|
||||
0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200,
|
||||
0xf50c, 0xf50d, 0xf50e, 0xf50f, 0xf510, 0xf511, 0xf512, 0xf513,
|
||||
0xf514, 0xf515, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200,
|
||||
};
|
||||
|
||||
u_short ctrl_map[NR_KEYS] = {
|
||||
0xf200, 0xf200, 0xf200, 0xf000, 0xf01b, 0xf01c, 0xf01d, 0xf01e,
|
||||
0xf01f, 0xf07f, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf008,
|
||||
0xf200, 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015,
|
||||
0xf009, 0xf00f, 0xf010, 0xf01b, 0xf01d, 0xf01c, 0xf207, 0xf001,
|
||||
0xf013, 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c,
|
||||
0xf007, 0xf000, 0xf200, 0xf201, 0xf700, 0xf200, 0xf01a, 0xf018,
|
||||
0xf003, 0xf016, 0xf002, 0xf00e, 0xf20e, 0xf07f, 0xf200, 0xf200,
|
||||
0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf000, 0xf703, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601,
|
||||
0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200,
|
||||
0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200,
|
||||
0xf100, 0xf101, 0xf102, 0xf103, 0xf104, 0xf105, 0xf106, 0xf107,
|
||||
0xf108, 0xf109, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200,
|
||||
};
|
||||
|
||||
u_short shift_ctrl_map[NR_KEYS] = {
|
||||
0xf200, 0xf200, 0xf200, 0xf000, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015,
|
||||
0xf009, 0xf00f, 0xf010, 0xf200, 0xf200, 0xf200, 0xf207, 0xf001,
|
||||
0xf013, 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c,
|
||||
0xf200, 0xf200, 0xf200, 0xf201, 0xf700, 0xf200, 0xf01a, 0xf018,
|
||||
0xf003, 0xf016, 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf200, 0xf703, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601,
|
||||
0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200,
|
||||
0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200,
|
||||
};
|
||||
|
||||
u_short alt_map[NR_KEYS] = {
|
||||
0xf200, 0xf81b, 0xf831, 0xf832, 0xf833, 0xf834, 0xf835, 0xf836,
|
||||
0xf837, 0xf838, 0xf839, 0xf830, 0xf82d, 0xf83d, 0xf200, 0xf87f,
|
||||
0xf809, 0xf871, 0xf877, 0xf865, 0xf872, 0xf874, 0xf879, 0xf875,
|
||||
0xf869, 0xf86f, 0xf870, 0xf85b, 0xf85d, 0xf85c, 0xf207, 0xf861,
|
||||
0xf873, 0xf864, 0xf866, 0xf867, 0xf868, 0xf86a, 0xf86b, 0xf83b,
|
||||
0xf827, 0xf860, 0xf200, 0xf80d, 0xf700, 0xf200, 0xf87a, 0xf878,
|
||||
0xf863, 0xf876, 0xf862, 0xf82c, 0xf82e, 0xf82f, 0xf200, 0xf200,
|
||||
0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf820, 0xf703, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf210,
|
||||
0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200,
|
||||
0xf200, 0xf211, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200,
|
||||
0xf500, 0xf501, 0xf502, 0xf503, 0xf504, 0xf505, 0xf506, 0xf507,
|
||||
0xf508, 0xf509, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200,
|
||||
};
|
||||
|
||||
u_short ctrl_alt_map[NR_KEYS] = {
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf811, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf815,
|
||||
0xf809, 0xf80f, 0xf810, 0xf200, 0xf200, 0xf200, 0xf207, 0xf801,
|
||||
0xf813, 0xf804, 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c,
|
||||
0xf200, 0xf200, 0xf200, 0xf201, 0xf700, 0xf200, 0xf81a, 0xf818,
|
||||
0xf803, 0xf816, 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf200, 0xf703, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601,
|
||||
0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200,
|
||||
0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d,
|
||||
0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
|
||||
0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200,
|
||||
0xf500, 0xf501, 0xf502, 0xf503, 0xf504, 0xf505, 0xf506, 0xf507,
|
||||
0xf508, 0xf509, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200,
|
||||
};
|
||||
|
||||
ushort *key_maps[MAX_NR_KEYMAPS] = {
|
||||
plain_map, shift_map, altgr_map, 0,
|
||||
ctrl_map, shift_ctrl_map, 0, 0,
|
||||
alt_map, 0, 0, 0,
|
||||
ctrl_alt_map, 0
|
||||
};
|
||||
|
||||
unsigned int keymap_count = 7;
|
||||
|
||||
|
||||
/*
|
||||
* Philosophy: most people do not define more strings, but they who do
|
||||
* often want quite a lot of string space. So, we statically allocate
|
||||
* the default and allocate dynamically in chunks of 512 bytes.
|
||||
*/
|
||||
|
||||
char func_buf[] = {
|
||||
'\033', '[', '[', 'A', 0,
|
||||
'\033', '[', '[', 'B', 0,
|
||||
'\033', '[', '[', 'C', 0,
|
||||
'\033', '[', '[', 'D', 0,
|
||||
'\033', '[', '[', 'E', 0,
|
||||
'\033', '[', '1', '7', '~', 0,
|
||||
'\033', '[', '1', '8', '~', 0,
|
||||
'\033', '[', '1', '9', '~', 0,
|
||||
'\033', '[', '2', '0', '~', 0,
|
||||
'\033', '[', '2', '1', '~', 0,
|
||||
'\033', '[', '2', '3', '~', 0,
|
||||
'\033', '[', '2', '4', '~', 0,
|
||||
'\033', '[', '2', '5', '~', 0,
|
||||
'\033', '[', '2', '6', '~', 0,
|
||||
'\033', '[', '2', '8', '~', 0,
|
||||
'\033', '[', '2', '9', '~', 0,
|
||||
'\033', '[', '3', '1', '~', 0,
|
||||
'\033', '[', '3', '2', '~', 0,
|
||||
'\033', '[', '3', '3', '~', 0,
|
||||
'\033', '[', '3', '4', '~', 0,
|
||||
'\033', '[', '1', '~', 0,
|
||||
'\033', '[', '2', '~', 0,
|
||||
'\033', '[', '3', '~', 0,
|
||||
'\033', '[', '4', '~', 0,
|
||||
'\033', '[', '5', '~', 0,
|
||||
'\033', '[', '6', '~', 0,
|
||||
'\033', '[', 'M', 0,
|
||||
'\033', '[', 'P', 0,
|
||||
};
|
||||
|
||||
|
||||
char *funcbufptr = func_buf;
|
||||
int funcbufsize = sizeof(func_buf);
|
||||
int funcbufleft = 0; /* space left */
|
||||
|
||||
char *func_table[MAX_NR_FUNC] = {
|
||||
func_buf + 0,
|
||||
func_buf + 5,
|
||||
func_buf + 10,
|
||||
func_buf + 15,
|
||||
func_buf + 20,
|
||||
func_buf + 25,
|
||||
func_buf + 31,
|
||||
func_buf + 37,
|
||||
func_buf + 43,
|
||||
func_buf + 49,
|
||||
func_buf + 55,
|
||||
func_buf + 61,
|
||||
func_buf + 67,
|
||||
func_buf + 73,
|
||||
func_buf + 79,
|
||||
func_buf + 85,
|
||||
func_buf + 91,
|
||||
func_buf + 97,
|
||||
func_buf + 103,
|
||||
func_buf + 109,
|
||||
func_buf + 115,
|
||||
func_buf + 120,
|
||||
func_buf + 125,
|
||||
func_buf + 130,
|
||||
func_buf + 135,
|
||||
func_buf + 140,
|
||||
func_buf + 145,
|
||||
0,
|
||||
0,
|
||||
func_buf + 149,
|
||||
0,
|
||||
};
|
||||
|
||||
struct kbdiacr accent_table[MAX_DIACR] = {
|
||||
{'`', 'A', 'À'}, {'`', 'a', 'à'},
|
||||
{'\'', 'A', 'Á'}, {'\'', 'a', 'á'},
|
||||
{'^', 'A', 'Â'}, {'^', 'a', 'â'},
|
||||
{'~', 'A', 'Ã'}, {'~', 'a', 'ã'},
|
||||
{'"', 'A', 'Ä'}, {'"', 'a', 'ä'},
|
||||
{'O', 'A', 'Å'}, {'o', 'a', 'å'},
|
||||
{'0', 'A', 'Å'}, {'0', 'a', 'å'},
|
||||
{'A', 'A', 'Å'}, {'a', 'a', 'å'},
|
||||
{'A', 'E', 'Æ'}, {'a', 'e', 'æ'},
|
||||
{',', 'C', 'Ç'}, {',', 'c', 'ç'},
|
||||
{'`', 'E', 'È'}, {'`', 'e', 'è'},
|
||||
{'\'', 'E', 'É'}, {'\'', 'e', 'é'},
|
||||
{'^', 'E', 'Ê'}, {'^', 'e', 'ê'},
|
||||
{'"', 'E', 'Ë'}, {'"', 'e', 'ë'},
|
||||
{'`', 'I', 'Ì'}, {'`', 'i', 'ì'},
|
||||
{'\'', 'I', 'Í'}, {'\'', 'i', 'í'},
|
||||
{'^', 'I', 'Î'}, {'^', 'i', 'î'},
|
||||
{'"', 'I', 'Ï'}, {'"', 'i', 'ï'},
|
||||
{'-', 'D', 'Ð'}, {'-', 'd', 'ð'},
|
||||
{'~', 'N', 'Ñ'}, {'~', 'n', 'ñ'},
|
||||
{'`', 'O', 'Ò'}, {'`', 'o', 'ò'},
|
||||
{'\'', 'O', 'Ó'}, {'\'', 'o', 'ó'},
|
||||
{'^', 'O', 'Ô'}, {'^', 'o', 'ô'},
|
||||
{'~', 'O', 'Õ'}, {'~', 'o', 'õ'},
|
||||
{'"', 'O', 'Ö'}, {'"', 'o', 'ö'},
|
||||
{'/', 'O', 'Ø'}, {'/', 'o', 'ø'},
|
||||
{'`', 'U', 'Ù'}, {'`', 'u', 'ù'},
|
||||
{'\'', 'U', 'Ú'}, {'\'', 'u', 'ú'},
|
||||
{'^', 'U', 'Û'}, {'^', 'u', 'û'},
|
||||
{'"', 'U', 'Ü'}, {'"', 'u', 'ü'},
|
||||
{'\'', 'Y', 'Ý'}, {'\'', 'y', 'ý'},
|
||||
{'T', 'H', 'Þ'}, {'t', 'h', 'þ'},
|
||||
{'s', 's', 'ß'}, {'"', 'y', 'ÿ'},
|
||||
{'s', 'z', 'ß'}, {'i', 'j', 'ÿ'},
|
||||
};
|
||||
|
||||
unsigned int accent_table_size = 68;
|
||||
|
|
@ -1,287 +0,0 @@
|
|||
# Default kernel keymap. This uses 7 modifier combinations.
|
||||
keymaps 0-2,4-5,8,12
|
||||
# Change the above line into
|
||||
# keymaps 0-2,4-6,8,12
|
||||
# in case you want the entries
|
||||
# altgr control keycode 83 = Boot
|
||||
# altgr control keycode 111 = Boot
|
||||
# below.
|
||||
#
|
||||
# In fact AltGr is used very little, and one more keymap can
|
||||
# be saved by mapping AltGr to Alt (and adapting a few entries):
|
||||
# keycode 100 = Alt
|
||||
#
|
||||
keycode 1 = grave asciitilde
|
||||
alt keycode 1 = Meta_Escape
|
||||
keycode 2 = one exclam
|
||||
alt keycode 2 = Meta_one
|
||||
keycode 3 = two at at
|
||||
control keycode 3 = nul
|
||||
shift control keycode 3 = nul
|
||||
alt keycode 3 = Meta_two
|
||||
keycode 4 = three numbersign
|
||||
control keycode 4 = Escape
|
||||
alt keycode 4 = Meta_three
|
||||
keycode 5 = four dollar dollar
|
||||
control keycode 5 = Control_backslash
|
||||
alt keycode 5 = Meta_four
|
||||
keycode 6 = five percent
|
||||
control keycode 6 = Control_bracketright
|
||||
alt keycode 6 = Meta_five
|
||||
keycode 7 = six asciicircum
|
||||
control keycode 7 = Control_asciicircum
|
||||
alt keycode 7 = Meta_six
|
||||
keycode 8 = seven ampersand braceleft
|
||||
control keycode 8 = Control_underscore
|
||||
alt keycode 8 = Meta_seven
|
||||
keycode 9 = eight asterisk bracketleft
|
||||
control keycode 9 = Delete
|
||||
alt keycode 9 = Meta_eight
|
||||
keycode 10 = nine parenleft bracketright
|
||||
alt keycode 10 = Meta_nine
|
||||
keycode 11 = zero parenright braceright
|
||||
alt keycode 11 = Meta_zero
|
||||
keycode 12 = minus underscore backslash
|
||||
control keycode 12 = Control_underscore
|
||||
shift control keycode 12 = Control_underscore
|
||||
alt keycode 12 = Meta_minus
|
||||
keycode 13 = equal plus
|
||||
alt keycode 13 = Meta_equal
|
||||
keycode 15 = Delete Delete
|
||||
control keycode 15 = BackSpace
|
||||
alt keycode 15 = Meta_Delete
|
||||
keycode 16 = Tab Tab
|
||||
alt keycode 16 = Meta_Tab
|
||||
keycode 17 = q
|
||||
keycode 18 = w
|
||||
keycode 19 = e
|
||||
keycode 20 = r
|
||||
keycode 21 = t
|
||||
keycode 22 = y
|
||||
keycode 23 = u
|
||||
keycode 24 = i
|
||||
keycode 25 = o
|
||||
keycode 26 = p
|
||||
keycode 27 = bracketleft braceleft
|
||||
control keycode 27 = Escape
|
||||
alt keycode 27 = Meta_bracketleft
|
||||
keycode 28 = bracketright braceright
|
||||
control keycode 28 = Control_bracketright
|
||||
alt keycode 28 = Meta_bracketright
|
||||
keycode 29 = backslash bar
|
||||
control keycode 29 = Control_backslash
|
||||
alt keycode 29 = Meta_backslash
|
||||
keycode 30 = Caps_Lock
|
||||
keycode 31 = a
|
||||
keycode 32 = s
|
||||
keycode 33 = d
|
||||
keycode 34 = f
|
||||
keycode 35 = g
|
||||
keycode 36 = h
|
||||
keycode 37 = j
|
||||
keycode 38 = k
|
||||
keycode 39 = l
|
||||
keycode 40 = semicolon colon
|
||||
alt keycode 39 = Meta_semicolon
|
||||
keycode 41 = apostrophe quotedbl
|
||||
control keycode 40 = Control_g
|
||||
alt keycode 40 = Meta_apostrophe
|
||||
keycode 42 = grave asciitilde
|
||||
control keycode 41 = nul
|
||||
alt keycode 41 = Meta_grave
|
||||
keycode 43 = Return
|
||||
alt keycode 43 = Meta_Control_m
|
||||
keycode 44 = Shift
|
||||
keycode 46 = z
|
||||
keycode 47 = x
|
||||
keycode 48 = c
|
||||
keycode 49 = v
|
||||
keycode 50 = b
|
||||
keycode 51 = n
|
||||
keycode 52 = m
|
||||
keycode 53 = comma less
|
||||
alt keycode 51 = Meta_comma
|
||||
keycode 54 = period greater
|
||||
control keycode 52 = Compose
|
||||
alt keycode 52 = Meta_period
|
||||
keycode 55 = slash question
|
||||
control keycode 53 = Delete
|
||||
alt keycode 53 = Meta_slash
|
||||
keycode 57 = Shift
|
||||
keycode 58 = Control
|
||||
keycode 60 = Alt
|
||||
keycode 61 = space space
|
||||
control keycode 61 = nul
|
||||
alt keycode 61 = Meta_space
|
||||
keycode 62 = Alt
|
||||
|
||||
keycode 75 = Insert
|
||||
keycode 76 = Delete
|
||||
|
||||
keycode 83 = Up
|
||||
keycode 84 = Down
|
||||
|
||||
keycode 85 = Prior
|
||||
shift keycode 85 = Scroll_Backward
|
||||
keycode 86 = Next
|
||||
shift keycode 86 = Scroll_Forward
|
||||
keycode 89 = Right
|
||||
alt keycode 89 = Incr_Console
|
||||
keycode 79 = Left
|
||||
alt keycode 79 = Decr_Console
|
||||
|
||||
keycode 90 = Num_Lock
|
||||
shift keycode 90 = Bare_Num_Lock
|
||||
|
||||
keycode 91 = minus
|
||||
keycode 92 = plus
|
||||
keycode 93 = KP_Multiply
|
||||
keycode 94 = period
|
||||
keycode 95 = KP_Divide
|
||||
|
||||
keycode 107 = Select
|
||||
keycode 108 = Down
|
||||
|
||||
keycode 110 = Escape Escape
|
||||
alt keycode 1 = Meta_Escape
|
||||
|
||||
keycode 112 = F1 F11 Console_13
|
||||
control keycode 112 = F1
|
||||
alt keycode 112 = Console_1
|
||||
control alt keycode 112 = Console_1
|
||||
keycode 113 = F2 F12 Console_14
|
||||
control keycode 113 = F2
|
||||
alt keycode 113 = Console_2
|
||||
control alt keycode 113 = Console_2
|
||||
keycode 114 = F3 F13 Console_15
|
||||
control keycode 114 = F3
|
||||
alt keycode 114 = Console_3
|
||||
control alt keycode 114 = Console_3
|
||||
keycode 115 = F4 F14 Console_16
|
||||
control keycode 115 = F4
|
||||
alt keycode 115 = Console_4
|
||||
control alt keycode 115 = Console_4
|
||||
keycode 116 = F5 F15 Console_17
|
||||
control keycode 116 = F5
|
||||
alt keycode 116 = Console_5
|
||||
control alt keycode 116 = Console_5
|
||||
keycode 117 = F6 F16 Console_18
|
||||
control keycode 117 = F6
|
||||
alt keycode 117 = Console_6
|
||||
control alt keycode 117 = Console_6
|
||||
keycode 118 = F7 F17 Console_19
|
||||
control keycode 118 = F7
|
||||
alt keycode 118 = Console_7
|
||||
control alt keycode 118 = Console_7
|
||||
keycode 119 = F8 F18 Console_20
|
||||
control keycode 119 = F8
|
||||
alt keycode 119 = Console_8
|
||||
control alt keycode 119 = Console_8
|
||||
keycode 120 = F9 F19 Console_21
|
||||
control keycode 120 = F9
|
||||
alt keycode 120 = Console_9
|
||||
control alt keycode 120 = Console_9
|
||||
keycode 121 = F10 F20 Console_22
|
||||
control keycode 121 = F10
|
||||
alt keycode 121 = Console_10
|
||||
control alt keycode 121 = Console_10
|
||||
|
||||
keycode 126 = Pause
|
||||
|
||||
|
||||
string F1 = "\033[[A"
|
||||
string F2 = "\033[[B"
|
||||
string F3 = "\033[[C"
|
||||
string F4 = "\033[[D"
|
||||
string F5 = "\033[[E"
|
||||
string F6 = "\033[17~"
|
||||
string F7 = "\033[18~"
|
||||
string F8 = "\033[19~"
|
||||
string F9 = "\033[20~"
|
||||
string F10 = "\033[21~"
|
||||
string F11 = "\033[23~"
|
||||
string F12 = "\033[24~"
|
||||
string F13 = "\033[25~"
|
||||
string F14 = "\033[26~"
|
||||
string F15 = "\033[28~"
|
||||
string F16 = "\033[29~"
|
||||
string F17 = "\033[31~"
|
||||
string F18 = "\033[32~"
|
||||
string F19 = "\033[33~"
|
||||
string F20 = "\033[34~"
|
||||
string Find = "\033[1~"
|
||||
string Insert = "\033[2~"
|
||||
string Remove = "\033[3~"
|
||||
string Select = "\033[4~"
|
||||
string Prior = "\033[5~"
|
||||
string Next = "\033[6~"
|
||||
string Macro = "\033[M"
|
||||
string Pause = "\033[P"
|
||||
compose '`' 'A' to 'À'
|
||||
compose '`' 'a' to 'à'
|
||||
compose '\'' 'A' to 'Á'
|
||||
compose '\'' 'a' to 'á'
|
||||
compose '^' 'A' to 'Â'
|
||||
compose '^' 'a' to 'â'
|
||||
compose '~' 'A' to 'Ã'
|
||||
compose '~' 'a' to 'ã'
|
||||
compose '"' 'A' to 'Ä'
|
||||
compose '"' 'a' to 'ä'
|
||||
compose 'O' 'A' to 'Å'
|
||||
compose 'o' 'a' to 'å'
|
||||
compose '0' 'A' to 'Å'
|
||||
compose '0' 'a' to 'å'
|
||||
compose 'A' 'A' to 'Å'
|
||||
compose 'a' 'a' to 'å'
|
||||
compose 'A' 'E' to 'Æ'
|
||||
compose 'a' 'e' to 'æ'
|
||||
compose ',' 'C' to 'Ç'
|
||||
compose ',' 'c' to 'ç'
|
||||
compose '`' 'E' to 'È'
|
||||
compose '`' 'e' to 'è'
|
||||
compose '\'' 'E' to 'É'
|
||||
compose '\'' 'e' to 'é'
|
||||
compose '^' 'E' to 'Ê'
|
||||
compose '^' 'e' to 'ê'
|
||||
compose '"' 'E' to 'Ë'
|
||||
compose '"' 'e' to 'ë'
|
||||
compose '`' 'I' to 'Ì'
|
||||
compose '`' 'i' to 'ì'
|
||||
compose '\'' 'I' to 'Í'
|
||||
compose '\'' 'i' to 'í'
|
||||
compose '^' 'I' to 'Î'
|
||||
compose '^' 'i' to 'î'
|
||||
compose '"' 'I' to 'Ï'
|
||||
compose '"' 'i' to 'ï'
|
||||
compose '-' 'D' to 'Ð'
|
||||
compose '-' 'd' to 'ð'
|
||||
compose '~' 'N' to 'Ñ'
|
||||
compose '~' 'n' to 'ñ'
|
||||
compose '`' 'O' to 'Ò'
|
||||
compose '`' 'o' to 'ò'
|
||||
compose '\'' 'O' to 'Ó'
|
||||
compose '\'' 'o' to 'ó'
|
||||
compose '^' 'O' to 'Ô'
|
||||
compose '^' 'o' to 'ô'
|
||||
compose '~' 'O' to 'Õ'
|
||||
compose '~' 'o' to 'õ'
|
||||
compose '"' 'O' to 'Ö'
|
||||
compose '"' 'o' to 'ö'
|
||||
compose '/' 'O' to 'Ø'
|
||||
compose '/' 'o' to 'ø'
|
||||
compose '`' 'U' to 'Ù'
|
||||
compose '`' 'u' to 'ù'
|
||||
compose '\'' 'U' to 'Ú'
|
||||
compose '\'' 'u' to 'ú'
|
||||
compose '^' 'U' to 'Û'
|
||||
compose '^' 'u' to 'û'
|
||||
compose '"' 'U' to 'Ü'
|
||||
compose '"' 'u' to 'ü'
|
||||
compose '\'' 'Y' to 'Ý'
|
||||
compose '\'' 'y' to 'ý'
|
||||
compose 'T' 'H' to 'Þ'
|
||||
compose 't' 'h' to 'þ'
|
||||
compose 's' 's' to 'ß'
|
||||
compose '"' 'y' to 'ÿ'
|
||||
compose 's' 'z' to 'ß'
|
||||
compose 'i' 'j' to 'ÿ'
|
||||
Loading…
Reference in a new issue