[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:
Yoichi Yuasa 2006-10-02 23:19:00 +09:00 • committed by Ralf Baechle
commit af8b128719
48 changed files with 2 additions and 8726 deletions

View file

@ -1,3 +1,2 @@
consolemap_deftbl.c
defkeymap.c
qtronixmap.c

View file

@ -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

View file

@ -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

View file

@ -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");

View file

@ -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;

View file

@ -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 'ÿ'