You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(135) |
Nov
(123) |
Dec
(83) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(244) |
Feb
(72) |
Mar
(221) |
Apr
(91) |
May
(104) |
Jun
(93) |
Jul
(78) |
Aug
(1) |
Sep
(1) |
Oct
(29) |
Nov
(98) |
Dec
(20) |
2003 |
Jan
|
Feb
(21) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(18) |
Sep
(18) |
Oct
(23) |
Nov
(12) |
Dec
(6) |
2004 |
Jan
(2) |
Feb
(32) |
Mar
|
Apr
(12) |
May
(11) |
Jun
(11) |
Jul
|
Aug
(9) |
Sep
|
Oct
(15) |
Nov
|
Dec
|
2005 |
Jan
|
Feb
(2) |
Mar
(11) |
Apr
(6) |
May
(1) |
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
(2) |
Mar
|
Apr
(25) |
May
(2) |
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(13) |
Oct
|
Nov
(2) |
Dec
(2) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(10) |
May
(1) |
Jun
(6) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
From: James S. <jsi...@us...> - 2002-02-19 17:08:03
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/serio In directory usw-pr-cvs1:/tmp/cvs-serv18415 Modified Files: Config.in Makefile Log Message: Now you can compile and work AT keyboards via Q40 keyboard controllers. Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/serio/Config.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Config.in 23 Jan 2002 06:37:49 -0000 1.2 +++ Config.in 19 Feb 2002 17:02:04 -0000 1.3 @@ -12,6 +12,7 @@ fi dep_tristate ' Serial port line discipline' CONFIG_SERIO_SERPORT $CONFIG_SERIO dep_tristate ' ct82c710 Aux port controller' CONFIG_SERIO_CT82C710 $CONFIG_SERIO $CONFIG_ISA +dep_tristate ' Q40 keyboard controller' CONFIG_SERIO_Q40KBD $CONFIG_SERIO dep_tristate ' Parallel port keyboard adapter' CONFIG_SERIO_PARKBD $CONFIG_SERIO $CONFIG_PARPORT if [ "$CONFIG_ARCH_ACORN" = "y" ]; then Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/serio/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile 23 Jan 2002 05:29:23 -0000 1.1 +++ Makefile 19 Feb 2002 17:02:04 -0000 1.2 @@ -18,6 +18,7 @@ obj-$(CONFIG_SERIO_SERPORT) += serport.o obj-$(CONFIG_SERIO_CT82C710) += ct82c710.o obj-$(CONFIG_SERIO_RPCKBD) += rpckbd.o +obj-$(CONFIG_SERIO_Q40KBD) += q40kbd.o # The global Rules.make. |
From: James S. <jsi...@us...> - 2002-02-15 23:20:52
|
Update of /cvsroot/linuxconsole/ruby/linux/include/linux In directory usw-pr-cvs1:/tmp/cvs-serv4144 Modified Files: kbd_kern.h Log Message: Oops. wait_for_keypress is gone. Index: kbd_kern.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/include/linux/kbd_kern.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- kbd_kern.h 9 Sep 2001 16:36:34 -0000 1.11 +++ kbd_kern.h 15 Feb 2002 23:20:49 -0000 1.12 @@ -139,7 +139,6 @@ struct console; void compute_shiftstate(void); -int keyboard_wait_for_keypress(struct console *); int getkeycode(struct input_handle *handle, unsigned int scancode); int setkeycode(struct input_handle *handle, unsigned int scancode, unsigned int keycode); |
From: johann d. <jd...@us...> - 2002-02-15 20:47:53
|
Update of /cvsroot/linuxconsole/ruby/utils In directory usw-pr-cvs1:/tmp/cvs-serv24643 Modified Files: ffcfstress.c ffmvforce.c Log Message: Small fix. Index: ffcfstress.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/utils/ffcfstress.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- ffcfstress.c 9 Feb 2002 22:30:21 -0000 1.3 +++ ffcfstress.c 15 Feb 2002 20:47:46 -0000 1.4 @@ -20,7 +20,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "../linux/include/linux/input.h" +#include <linux/input.h> #include <sys/ioctl.h> #include <stdio.h> #include <stdlib.h> Index: ffmvforce.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/utils/ffmvforce.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- ffmvforce.c 16 Oct 2001 21:05:57 -0000 1.9 +++ ffmvforce.c 15 Feb 2002 20:47:46 -0000 1.10 @@ -79,10 +79,10 @@ effect.u.constant.level = 0x7fff * max(fabs(nx), fabs(ny)); effect.direction = 0x8000 * (angle + M_PI)/M_PI; printf("level: %04x direction: %04x\n", (unsigned int)effect.u.constant.level, (unsigned int)effect.direction); - effect.u.constant.shape.attack_length = 0; - effect.u.constant.shape.attack_level = 0; - effect.u.constant.shape.fade_length = 0; - effect.u.constant.shape.fade_level = 0; + effect.u.constant.envelope.attack_length = 0; + effect.u.constant.envelope.attack_level = 0; + effect.u.constant.envelope.fade_length = 0; + effect.u.constant.envelope.fade_level = 0; effect.trigger.button = 0; effect.trigger.interval = 0; effect.replay.length = 0xffff; |
From: Vojtech P. <vo...@us...> - 2002-02-15 00:25:28
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/serio In directory usw-pr-cvs1:/tmp/cvs-serv12494 Modified Files: i8042.c Log Message: Better comments for automatic direct mode on some weird hardware. Index: i8042.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/serio/i8042.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- i8042.c 12 Feb 2002 09:34:34 -0000 1.18 +++ i8042.c 15 Feb 2002 00:25:24 -0000 1.19 @@ -483,17 +483,23 @@ } /* - * Set nontranslated mode for the kbd interface. This is vital for a working - * scancode set 2/3 support. After this the kbd interface becomes a simple serial - * in/out, like the aux interface is. If the user doesn't wish this, the driver - * tries to untranslate the values after the i8042 translates them. + * If the chip is configured into nontranslated mode by the BIOS, don't + * bother enabling translating and just use that happily. */ - if (i8042_direct) - i8042_ctr &= ~I8042_CTR_XLATE; - if (~i8042_ctr & I8042_CTR_XLATE) i8042_direct = 1; + +/* + * Set nontranslated mode for the kbd interface if requested by an option. + * This is vital for a working scancode set 3 support. After this the kbd + * interface becomes a simple serial in/out, like the aux interface is. If + * the user doesn't wish this, the driver tries to untranslate the values + * after the i8042 translates them. + */ + + if (i8042_direct) + i8042_ctr &= ~I8042_CTR_XLATE; /* * Write CTR back. |
From: James S. <jsi...@us...> - 2002-02-14 20:27:34
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video In directory usw-pr-cvs1:/tmp/cvs-serv13439 Modified Files: skeletonfb.c Log Message: Small typo. Index: skeletonfb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/skeletonfb.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- skeletonfb.c 1 Feb 2002 00:56:49 -0000 1.15 +++ skeletonfb.c 14 Feb 2002 20:27:28 -0000 1.16 @@ -14,7 +14,7 @@ * of it. * * First the roles of struct fb_info and struct display have changed. Struct - * display will gone away. The way the the new framebuffer console code will + * display will go away. The way the the new framebuffer console code will * work is that it will act to translate data about the tty/console in * struct vc_data to data in a device independent way in struct fb_info. Then * various functions in struct fb_ops will be called to store the device |
From: johann d. <jd...@us...> - 2002-02-13 22:17:26
|
Update of /cvsroot/linuxconsole/ruby/utils In directory usw-pr-cvs1:/tmp/cvs-serv22086 Modified Files: fftest.c Log Message: Fixed lengths of effects. Index: fftest.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/utils/fftest.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- fftest.c 8 Feb 2002 22:53:53 -0000 1.14 +++ fftest.c 13 Feb 2002 22:17:21 -0000 1.15 @@ -113,7 +113,7 @@ effects[1].u.constant.envelope.fade_level = 0; effects[1].trigger.button = 0; effects[1].trigger.interval = 0; - effects[1].replay.length = 0x1400; /* 20 seconds */ + effects[1].replay.length = 20000; /* 20 seconds */ effects[1].replay.delay = 0; if (ioctl(fd, EVIOCSFF, &effects[1]) == -1) { @@ -136,7 +136,7 @@ effects[0].u.periodic.envelope.fade_level = 0; effects[0].trigger.button = 0; effects[0].trigger.interval = 0; - effects[0].replay.length = 0x1400; /* 20 seconds */ + effects[0].replay.length = 20000; /* 20 seconds */ effects[0].replay.delay = 0; if (ioctl(fd, EVIOCSFF, &effects[0]) == -1) { @@ -156,7 +156,7 @@ effects[2].u.condition[1] = effects[2].u.condition[0]; effects[2].trigger.button = 0; effects[2].trigger.interval = 0; - effects[2].replay.length = 0x1400; /* 20 seconds */ + effects[2].replay.length = 20000; /* 20 seconds */ effects[2].replay.delay = 0; if (ioctl(fd, EVIOCSFF, &effects[2]) == -1) { @@ -176,7 +176,7 @@ effects[3].u.condition[1] = effects[3].u.condition[0]; effects[3].trigger.button = 0; effects[3].trigger.interval = 0; - effects[3].replay.length = 0x1400; /* 20 seconds */ + effects[3].replay.length = 20000; /* 20 seconds */ effects[3].replay.delay = 0; if (ioctl(fd, EVIOCSFF, &effects[3]) == -1) { |
From: James S. <jsi...@us...> - 2002-02-13 19:40:26
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/video/tdfx In directory usw-pr-cvs1:/tmp/cvs-serv2053 Modified Files: 3dfxfb.c Log Message: Fixed compile issues due to spinlock changes. Index: 3dfxfb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/video/tdfx/3dfxfb.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- 3dfxfb.c 19 Jan 2002 23:52:37 -0000 1.18 +++ 3dfxfb.c 13 Feb 2002 19:40:20 -0000 1.19 @@ -326,12 +326,12 @@ struct tdfx_par *par = (struct tdfx_par *) ptr; unsigned long flags; - spin_lock_irqsave(par->DAClock, flags); + spin_lock_irqsave(&par->DAClock, flags); banshee_make_room(1); tdfx_outl(VIDPROCCFG, tdfx_inl(VIDPROCCFG) ^ VIDCFG_HWCURSOR_ENABLE ); par->hwcursor.timer.expires=jiffies+HZ/2; add_timer(&par->hwcursor.timer); - spin_unlock_irqrestore(par->DAClock, flags); + spin_unlock_irqrestore(&par->DAClock, flags); } static u32 do_calc_pll(int freq, int* freq_out) @@ -803,11 +803,11 @@ /* If we are going to be changing things we should disable the cursor first */ if (info->cursor.enable) { - spin_lock_irqsave(par->DAClock, flags); + spin_lock_irqsave(&par->DAClock, flags); info->cursor.enable = 0; del_timer(&(par->hwcursor.timer)); tdfx_outl(VIDPROCCFG, par->hwcursor.disable); - spin_unlock_irqrestore(par->DAClock, flags); + spin_unlock_irqrestore(&par->DAClock, flags); } /* Disable the Cursor */ @@ -826,11 +826,11 @@ (cursor->cmap.green[cursor->cmap.start+1] << 8) | (cursor->cmap.blue[cursor->cmap.start+1])); fb_copy_cmap(&cursor->cmap, &info->cursor.cmap, 0); - spin_lock_irqsave(par->DAClock, flags); + spin_lock_irqsave(&par->DAClock, flags); banshee_make_room(2); tdfx_outl(HWCURC0, bg_color); tdfx_outl(HWCURC1, fg_color); - spin_unlock_irqrestore(par->DAClock, flags); + spin_unlock_irqrestore(&par->DAClock, flags); } if (cursor->set && FB_CUR_SETPOS) { @@ -843,10 +843,10 @@ info->cursor.pos.y = y; x += 63; y += 63; - spin_lock_irqsave(par->DAClock, flags); + spin_lock_irqsave(&par->DAClock, flags); banshee_make_room(1); tdfx_outl(HWCURLOC, (y << 16) + x); - spin_unlock_irqrestore(par->DAClock, flags); + spin_unlock_irqrestore(&par->DAClock, flags); } /* Not supported so we fake it */ @@ -910,10 +910,10 @@ cursor->enable = 1; info->cursor = *cursor; mod_timer(&par->hwcursor.timer, jiffies+HZ/2); - spin_lock_irqsave(par->DAClock, flags); + spin_lock_irqsave(&par->DAClock, flags); banshee_make_room(1); tdfx_outl(VIDPROCCFG, par->hwcursor.enable); - spin_unlock_irqrestore(par->DAClock, flags); + spin_unlock_irqrestore(&par->DAClock, flags); return 0; } @@ -1244,7 +1244,7 @@ init_timer(&default_par.hwcursor.timer); default_par.hwcursor.timer.function = do_flashcursor; default_par.hwcursor.timer.data = (unsigned long)(&default_par); - spin_lock_init(default_par->DAClock); + spin_lock_init(&default_par.DAClock); } fb_info.cursor.set = 0; fb_info.cursor.enable = 0; |
From: James S. <jsi...@us...> - 2002-02-13 17:33:48
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv30361 Modified Files: Config.help Config.in Makefile apollokbd.c Log Message: Now you can select the amiga keyboard. Index: Config.help =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard/Config.help,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Config.help 26 Jan 2002 19:20:36 -0000 1.1 +++ Config.help 13 Feb 2002 17:33:44 -0000 1.2 @@ -55,3 +55,12 @@ The module will be called maple_keyb.o. If you want to compile it as a module, say M here and read <file:Documentation/modules.txt>. +CONFIG_KEYBOARD_AMIGA + Say Y here if you are running Linux on a m68k amiga and have a keyboard + attached. + + This driver is also available as a module ( = code which can be + inserted in and removed from the running kernel whenever you want). + The module will be called maple_keyb.o. If you want to compile it as a + module, say M here and read <file:Documentation/modules.txt>. + Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard/Config.in,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Config.in 23 Jan 2002 06:35:30 -0000 1.2 +++ Config.in 13 Feb 2002 17:33:44 -0000 1.3 @@ -8,8 +8,11 @@ dep_tristate ' Sun Type 4 and Type 5 keyboard support' CONFIG_KEYBOARD_SUNKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' PS/2 to Serial converter support' CONFIG_KEYBOARD_PS2SERKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' XT Keyboard support' CONFIG_KEYBOARD_XTKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO -dep_tristate ' Newton Keyboard support' CONFIG_KEYBOARD_NEWTON $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then dep_tristate ' Maple bus keyboard support' CONFIG_KEYBOARD_MAPLE $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_MAPLE +fi + +if [ "$CONFIG_AMIGA" = "y" ]; then + dep_tristate ' Amiga keyboard' CONFIG_KEYBOARD_AMIKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD fi Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile 1 Feb 2002 00:06:12 -0000 1.3 +++ Makefile 13 Feb 2002 17:33:44 -0000 1.4 @@ -13,7 +13,7 @@ obj-$(CONFIG_KEYBOARD_PS2SERKBD) += ps2serkbd.o obj-$(CONFIG_KEYBOARD_SUNKBD) += sunkbd.o obj-$(CONFIG_KEYBOARD_XTKBD) += xtkbd.o -obj-$(CONFIG_KEYBOARD_NEWTON) += newtonkbd.o +obj-$(CONFIG_KEYBOARD_AMIGA) += amikbd.o # The global Rules.make. Index: apollokbd.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard/apollokbd.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- apollokbd.c 24 Jan 2002 19:26:37 -0000 1.1 +++ apollokbd.c 13 Feb 2002 17:33:44 -0000 1.2 @@ -1,3 +1,35 @@ +/* + * $Id$ + * + * Copyright (c) 2001 James Simmons <jsi...@us...> + * + * Based on the work of: + * Peter De Schrijver <p2...@mi...> + */ + +/* + * Apollo input keyboard driver for Linux/m68k + */ + +/* + * 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 program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + * Should you need to contact me, the author, you can do so by + * e-mail - mail your message to <jsi...@us...>. + */ + #include <linux/sched.h> #include <linux/interrupt.h> #include <linux/errno.h> @@ -8,7 +40,6 @@ #include <linux/kernel.h> #include <linux/module.h> #include <linux/poll.h> -#include <linux/miscdevice.h> #include <linux/init.h> #include <asm/setup.h> @@ -16,10 +47,6 @@ #include <asm/apollohw.h> #include <asm/uaccess.h> -#include "busmouse.h" - -/* extern void handle_scancode(unsigned char,int ); */ - #define DNKEY_CAPS 0x7e #define BREAK_FLAG 0x80 #define DNKEY_REPEAT_DELAY 50 @@ -43,258 +70,6 @@ static unsigned int kbd_mode=APOLLO_KBD_MODE_KEYB; -#if 0 -static void debug_keyb_timer_handler(unsigned long ignored); -static u_char debug_buf1[4096],debug_buf2[4096],*debug_buf=&debug_buf1[0]; -static u_char *shadow_buf=&debug_buf2[0]; -static short debug_buf_count=0; -static int debug_buf_overrun=0,debug_timer_running=0; -static unsigned long debug_buffer_updated=0; -static struct timer_list debug_keyb_timer = { NULL, NULL, 0, 0, - debug_keyb_timer_handler }; -#endif - -static u_short dnplain_map[NR_KEYS] __initdata = { -/* ins del del F1 F2 F3 F4 - mark line char */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, -/* F5 F6 F7 F8 F9 F0 Again Read */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, -/* Edit Exit Hold Copy Paste Grow ESC */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf01b, -/* 1 2 3 4 5 6 7 8 */ - 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036, 0xf037, 0xf038, -/* 9 0 - = ` Back |<-- - Space */ - 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf060, 0xf07f, 0xf200, 0xf200, -/* Shell -->| Tab q w e - Cmd */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf009, 0xfb71, 0xfb77, 0xfb65, -/* r t y u i o p [ */ - 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69, 0xfb6f, 0xfb70, 0xf05b, -/* ] Del 7 8 9 + */ - 0xf05d, 0xf200, 0xf200, 0xf200, 0xf307, 0xf308, 0xf300, 0xf30a, -/* [<--] Up [-->] Ctrl a s */ - 0xf200, 0xf600, 0xf200, 0xf702, 0xf200, 0xf200, 0xfb61, 0xfb73, -/* d f g h j k l ; */ - 0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b, -/* ' Return \ 4 5 6 */ - 0xf027, 0xf200, 0xf201, 0xf05c, 0xf200, 0xf304, 0xf305, 0xf306, -/* - <-- Next --> Rept Shift - Window */ - 0xf30b, 0xf601, 0xf200, 0xf602, 0xf200, 0xf200, 0xf700, 0xf200, -/* z x c v b n m , */ - 0xfb7a, 0xfb78, 0xfb63, 0xfb76, 0xfb62, 0xfb6e, 0xfb6d, 0xf02c, -/* . / Shift Pop 1 2 */ - 0xf02e, 0xf02f, 0xf700, 0xf200, 0xf200, 0xf200, 0xf301, 0xf302, -/* 3 PgUp Down PgDn Alt Space Alt */ - 0xf303, 0xf200, 0xf118, 0xf603, 0xf119, 0xf703, 0xf020, 0xf701, -/* 0 . Enter */ - 0xf200, 0xf300, 0xf200, 0xf310, 0xf30e, 0xf200, 0xf700, 0xf200, -}; - -static u_short dnshift_map[NR_KEYS] __initdata = { -/* ins del del F1 F2 F3 F4 - mark line char */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, -/* F5 F6 F7 F8 F9 F0 Again Read */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, -/* Save Abort Help Cut Undo Grow ESC */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf01b, -/* ! @ # $ % ^ & * */ - 0xf021, 0xf040, 0xf023, 0xf024, 0xf025, 0xf05e, 0xf026, 0xf02a, -/* ( ) _ + ~ Back |<-- - Space */ - 0xf028, 0xf029, 0xf05f, 0xf02b, 0xf07e, 0xf07f, 0xf200, 0xf200, -/* Shell -->| Tab Q W E - Cmd */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf009, 0xfb51, 0xfb57, 0xfb45, -/* R T Y U I O P { */ - 0xfb52, 0xfb54, 0xfb59, 0xfb55, 0xfb49, 0xfb4f, 0xfb50, 0xf07b, -/* } Del 7 8 9 + */ - 0xf07d, 0xf200, 0xf200, 0xf200, 0xf307, 0xf308, 0xf300, 0xf30a, -/* [<--] Up [-->] Ctrl A S */ - 0xf200, 0xf600, 0xf200, 0xf702, 0xf200, 0xf200, 0xfb41, 0xfb53, -/* D F G H J K L : */ - 0xfb44, 0xfb46, 0xfb47, 0xfb48, 0xfb4a, 0xfb4b, 0xfb4c, 0xf03a, -/* " Return | 4 5 6 */ - 0xf022, 0xf200, 0xf201, 0xf07c, 0xf200, 0xf304, 0xf305, 0xf306, -/* - <-- Next --> Rept Shift - Window */ - 0xf30b, 0xf601, 0xf200, 0xf602, 0xf200, 0xf200, 0xf700, 0xf200, -/* Z X C V B N M < */ - 0xfb5a, 0xfb58, 0xfb43, 0xfb56, 0xfb42, 0xfb4e, 0xfb4d, 0xf03c, -/* > ? Shift Pop 1 2 */ - 0xf03e, 0xf03f, 0xf700, 0xf200, 0xf200, 0xf200, 0xf301, 0xf302, -/* 3 PgUp Down PgDn Alt Space Alt */ - 0xf303, 0xf200, 0xf118, 0xf603, 0xf119, 0xf703, 0xf020, 0xf701, -/* 0 . Enter */ - 0xf200, 0xf300, 0xf200, 0xf310, 0xf30e, 0xf200, 0xf708, 0xf200, -}; - -static u_short dnctrl_map[NR_KEYS] __initdata = { -/* ins del del F1 F2 F3 F4 - mark line char */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, -/* F5 F6 F7 F8 F9 F0 Again Read */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, -/* Save Abort Help Cut Undo Grow ESC */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf01b, -/* ! @ # $ % ^ & * */ - 0xf200, 0xf000, 0xf01b, 0xf01c, 0xf01d, 0xf01e, 0xf01f, 0xf07f, -/* ( ) _ + ~ Back |<-- - Space */ - 0xf200, 0xf200, 0xf01f, 0xf200, 0xf01c, 0xf200, 0xf200, 0xf200, -/* Shell -->| Tab Q W E - Cmd */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf009, 0xf011, 0xf017, 0xf005, -/* R T Y U I O P { */ - 0xf012, 0xf014, 0xf019, 0xf015, 0xf009, 0xf00f, 0xf010, 0xf01b, -/* } Del 7 8 9 + */ - 0xf01d, 0xf200, 0xf200, 0xf200, 0xf307, 0xf308, 0xf300, 0xf30a, -/* [<--] Up [-->] Ctrl A S */ - 0xf200, 0xf600, 0xf200, 0xf702, 0xf200, 0xf200, 0xfb01, 0xfb53, -/* D F G H J K L : */ - 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200, -/* " Return | 4 5 6 */ - 0xf200, 0xf200, 0xf201, 0xf01c, 0xf200, 0xf304, 0xf305, 0xf306, -/* - <-- Next --> Rept Shift - Window */ - 0xf30b, 0xf601, 0xf200, 0xf602, 0xf200, 0xf200, 0xf704, 0xf200, -/* Z X C V B N M < */ - 0xf01a, 0xf018, 0xf003, 0xf016, 0xf002, 0xf00e, 0xf01d, 0xf03c, -/* > ? Shift Pop 1 2 */ - 0xf03e, 0xf03f, 0xf705, 0xf200, 0xf200, 0xf200, 0xf301, 0xf302, -/* 3 PgUp Down PgDn Alt Space Alt */ - 0xf303, 0xf200, 0xf118, 0xf603, 0xf119, 0xf703, 0xf020, 0xf701, -/* 0 . Enter */ - 0xf200, 0xf300, 0xf200, 0xf310, 0xf30e, 0xf200, 0xf200, 0xf200, -}; - -static u_short dnalt_map[NR_KEYS] __initdata = { -/* ins del del F1 F2 F3 F4 - mark line char */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf500, 0xf501, 0xf502, 0xf503, -/* F5 F6 F7 F8 F9 F0 Again Read */ - 0xf504, 0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf200, 0xf200, -/* Edit Exit Hold Copy Paste Grow ESC */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf01b, -/* 1 2 3 4 5 6 7 8 */ - 0xf831, 0xf832, 0xf833, 0xf834, 0xf835, 0xf836, 0xf837, 0xf838, -/* 9 0 - = ` Back |<-- - Space */ - 0xf839, 0xf830, 0xf82d, 0xf83d, 0xf860, 0xf87f, 0xf200, 0xf200, -/* Shell -->| Tab q w e - Cmd */ - 0xf200, 0xf200, 0xf200, 0xf200, 0xf809, 0xf871, 0xf877, 0xf865, -/* r t y u i o p [ */ - 0xf872, 0xf874, 0xf879, 0xf875, 0xf869, 0xf86f, 0xf870, 0xf85b, -/* ] Del 7 8 9 + */ - 0xf05d, 0xf200, 0xf200, 0xf200, 0xf307, 0xf308, 0xf300, 0xf30a, -/* [<--] Up [-->] Ctrl a s */ - 0xf200, 0xf600, 0xf200, 0xf702, 0xf200, 0xf200, 0xf861, 0xf873, -/* d f g h j k l ; */ - 0xf864, 0xf866, 0xf867, 0xf868, 0xf86a, 0xf86b, 0xf86c, 0xf03b, -/* ' Return \ 4 5 6 */ - 0xf027, 0xf200, 0xf201, 0xf05c, 0xf200, 0xf304, 0xf305, 0xf306, -/* - <-- Next --> Rept Shift - Window */ - 0xf30b, 0xf601, 0xf200, 0xf602, 0xf200, 0xf200, 0xf704, 0xf200, -/* z x c v b n m , */ - 0xf87a, 0xf878, 0xf863, 0xf876, 0xf862, 0xf86e, 0xf86d, 0xf82c, -/* . / Shift Pop 1 2 */ - 0xf82e, 0xf82f, 0xf705, 0xf200, 0xf200, 0xf200, 0xf301, 0xf302, -/* 3 PgUp Down PgDn Alt Space Alt */ - 0xf303, 0xf200, 0xf118, 0xf603, 0xf119, 0xf703, 0xf820, 0xf701, -/* 0 . Enter */ - 0xf200, 0xf300, 0xf200, 0xf310, 0xf30e, 0xf200, 0xf200, 0xf200, -}; - -static u_short dnaltgr_map[NR_KEYS] __initdata = { - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200 -}; - -static u_short dnshift_ctrl_map[NR_KEYS] __initdata = { - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200 -}; - -static u_short dnctrl_alt_map[NR_KEYS] __initdata = { - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, - 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200 -}; - -#if 0 -static void debug_keyb_timer_handler(unsigned long ignored) { - - unsigned long flags; - u_char *swap; - short length,i; - - if (time_after(jiffies, debug_buffer_updated + 100)) { - save_flags(flags); - cli(); - length=debug_buf_count; - swap=debug_buf; - debug_buf=shadow_buf; - shadow_buf=swap; - debug_buf_count=0; - debug_timer_running=0; - restore_flags(flags); - for(i=1;length;length--,i++) - printk("%02x%c",*(swap++), (i % 25) ? ' ' : '\n'); - printk("\n"); - } - else { - debug_keyb_timer.expires=jiffies+10; - add_timer(&debug_keyb_timer); - } -} -#endif - static void dn_keyb_process_key_event(unsigned char scancode) { static unsigned char lastscancode; @@ -374,8 +149,8 @@ } } -static void dn_keyb_int(int irq, void *dummy, struct pt_regs *fp) { - +static void apollokbd_interrupt(int irq, void *dummy, struct pt_regs *fp) +{ unsigned char data; unsigned long flags; int scn2681_ints; @@ -402,7 +177,7 @@ continue; } - if(kbd_mode==APOLLO_KBD_MODE_KEYB) + if (kbd_mode==APOLLO_KBD_MODE_KEYB) dn_keyb_process_key_event(data); else dn_keyb_process_mouse_event(data); @@ -465,46 +240,49 @@ APOLLO_MOUSE_MINOR, "apollomouse", open_mouse, release_mouse,7 }; -int __init dn_keyb_init(void){ +static int __init apollokbd_init(void) +{ + int i; -/* printk("dn_keyb_init\n"); */ + apollokbd_dev.evbit[0] = BIT(EV_KEY) | BIT(EV_REP); + apollokbd_dev.keycode = apollokbd_keycode; - memcpy(key_maps[0], dnplain_map, sizeof(plain_map)); - memcpy(key_maps[1], dnshift_map, sizeof(plain_map)); - memcpy(key_maps[2], dnaltgr_map, sizeof(plain_map)); - memcpy(key_maps[4], dnctrl_map, sizeof(plain_map)); - memcpy(key_maps[5], dnshift_ctrl_map, sizeof(plain_map)); - memcpy(key_maps[8], dnalt_map, sizeof(plain_map)); - memcpy(key_maps[12], dnctrl_alt_map, sizeof(plain_map)); + for (i = 0; i < 0x78; i++) + if (apollokbd_keycode[i]) + set_bit(apollokbd_keycode[i], apollokbd_dev.keybit); + /* program UpDownMode */ + while (!(sio01.sra_csra & 0x4)); + sio01.rhra_thra=0xff; - msedev=register_busmouse(&apollo_mouse); - if (msedev < 0) - printk(KERN_WARNING "Unable to install Apollo mouse driver.\n"); - else - printk(KERN_INFO "Apollo mouse installed.\n"); + while (!(sio01.sra_csra & 0x4)); + sio01.rhra_thra=0x1; - /* program UpDownMode */ + request_irq(1, apollokbd_interrupt, 0, "apollokbd", NULL); - while(!(sio01.sra_csra & 0x4)); - sio01.rhra_thra=0xff; + /* enable receive int on DUART */ + sio01.isr_imr=3; - while(!(sio01.sra_csra & 0x4)); - sio01.rhra_thra=0x1; + apollokbd_dev.name = apollokbd_name; + apollokbd_dev.phys = apollokbd_phys; + apollokbd_dev.idbus = BUS_AMIGA; + apollokbd_dev.idvendor = 0x0001; + apollokbd_dev.idproduct = 0x0001; + apollokbd_dev.idversion = 0x0100; - request_irq(1, dn_keyb_int,0,NULL,NULL); - - /* enable receive int on DUART */ - sio01.isr_imr=3; + input_register_device(&apollokbd_dev); - return 0; + printk(KERN_INFO "input: %s\n", apollokbd_name); + return 0; } -int dn_dummy_kbdrate(struct kbd_repeat *k) { - - printk("dn_dummy_kbdrate\n"); +static void __exit apollokbd_exit(void) +{ + input_unregister_device(&apollokbd_dev); + free_irq(1, apollokbd_interrupt); +} - return 0; +module_init(apollokbd_init); +module_exit(apollokbd_exit); -} |
From: johann d. <jd...@us...> - 2002-02-12 21:54:50
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv4386 Modified Files: iforce-packets.c Log Message: Fixed typo. Index: iforce-packets.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-packets.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- iforce-packets.c 10 Feb 2002 23:41:31 -0000 1.11 +++ iforce-packets.c 12 Feb 2002 21:54:47 -0000 1.12 @@ -111,7 +111,7 @@ case IFORCE_USB: if (iforce->usbdev && empty && - !test_and_set_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flag s)) { + !test_and_set_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)) { iforce_usb_xmit(iforce); } |
From: johann d. <jd...@us...> - 2002-02-12 21:54:01
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv3508 Modified Files: iforce.h Log Message: Fixed TIME_SCALE. input.h says periods are specified in ms, while iforce.h assumed they were expressed in 1/256th of seconds. Index: iforce.h =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- iforce.h 3 Feb 2002 19:37:37 -0000 1.9 +++ iforce.h 12 Feb 2002 21:53:58 -0000 1.10 @@ -162,7 +162,7 @@ #define HIFIX80(a) ((unsigned char)(((a)<0? (a)+255 : (a))>>8)) /* Encode a time value */ -#define TIME_SCALE(a) ((a) == 0xffff ? 0xffff : (a) * 1000 / 256) +#define TIME_SCALE(a) (a) /* Public functions */ |
From: Vojtech P. <vo...@us...> - 2002-02-12 21:29:52
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/usb In directory usw-pr-cvs1:/tmp/cvs-serv28189 Modified Files: hid-core.c Log Message: Free URBs only after they're not needed. Index: hid-core.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/usb/hid-core.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- hid-core.c 28 Jan 2002 16:24:20 -0000 1.43 +++ hid-core.c 12 Feb 2002 21:29:49 -0000 1.44 @@ -1436,22 +1436,22 @@ { struct hid_device *hid = ptr; - dbg("cleanup called"); usb_unlink_urb(hid->urbin); usb_unlink_urb(hid->urbout); usb_unlink_urb(hid->urbctrl); - usb_free_urb(hid->urbin); - usb_free_urb(hid->urbctrl); - if (hid->urbout) - usb_free_urb(hid->urbout); - if (hid->claimed & HID_CLAIMED_INPUT) hidinput_disconnect(hid); #ifdef CONFIG_USB_HIDDEV if (hid->claimed & HID_CLAIMED_HIDDEV) hiddev_disconnect(hid); #endif + + usb_free_urb(hid->urbin); + usb_free_urb(hid->urbctrl); + if (hid->urbout) + usb_free_urb(hid->urbout); + hid_free_device(hid); } |
From: Vojtech P. <vo...@us...> - 2002-02-12 09:34:38
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv14171/keyboard Modified Files: atkbd.c Log Message: Fixes to make more mice and keyboards work ... Index: atkbd.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard/atkbd.c,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- atkbd.c 2 Feb 2002 22:23:35 -0000 1.32 +++ atkbd.c 12 Feb 2002 09:34:34 -0000 1.33 @@ -203,7 +203,7 @@ static int atkbd_sendbyte(struct atkbd *atkbd, unsigned char byte) { - int timeout = 1000; /* 10 msec */ + int timeout = 10000; /* 100 msec */ atkbd->ack = 0; #ifdef ATKBD_DEBUG @@ -222,7 +222,7 @@ static int atkbd_command(struct atkbd *atkbd, unsigned char *param, int command) { - int timeout = 10000; /* 100 msec */ + int timeout = 50000; /* 500 msec */ int send = (command >> 12) & 0xf; int receive = (command >> 8) & 0xf; int i; @@ -258,7 +258,7 @@ struct atkbd *atkbd = dev->private; char param[2]; - if (!serio->write) + if (!atkbd->serio->write) return -1; switch (type) { |
From: Vojtech P. <vo...@us...> - 2002-02-12 09:34:38
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/serio In directory usw-pr-cvs1:/tmp/cvs-serv14171/serio Modified Files: i8042.c Log Message: Fixes to make more mice and keyboards work ... Index: i8042.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/serio/i8042.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- i8042.c 2 Feb 2002 22:26:44 -0000 1.17 +++ i8042.c 12 Feb 2002 09:34:34 -0000 1.18 @@ -492,6 +492,9 @@ if (i8042_direct) i8042_ctr &= ~I8042_CTR_XLATE; + if (~i8042_ctr & I8042_CTR_XLATE) + i8042_direct = 1; + /* * Write CTR back. */ |
From: Vojtech P. <vo...@us...> - 2002-02-12 09:34:37
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/mouse In directory usw-pr-cvs1:/tmp/cvs-serv14171/mouse Modified Files: psmouse.c Log Message: Fixes to make more mice and keyboards work ... Index: psmouse.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/mouse/psmouse.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- psmouse.c 26 Jan 2002 19:20:36 -0000 1.16 +++ psmouse.c 12 Feb 2002 09:34:34 -0000 1.17 @@ -229,7 +229,7 @@ static int psmouse_sendbyte(struct psmouse *psmouse, unsigned char byte) { - int timeout = 1000; /* 10 msec */ + int timeout = 10000; /* 100 msec */ psmouse->ack = 0; psmouse->acking = 1; @@ -246,7 +246,7 @@ static int psmouse_command(struct psmouse *psmouse, unsigned char *param, int command) { - int timeout = 100000; /* 100 msec */ + int timeout = 500000; /* 500 msec */ int send = (command >> 12) & 0xf; int receive = (command >> 8) & 0xf; int i; |
From: johann d. <jd...@us...> - 2002-02-10 23:41:38
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv12155 Modified Files: iforce-main.c iforce-packets.c iforce-usb.c Log Message: Synced with latest USB API changes. Index: iforce-main.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-main.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- iforce-main.c 8 Feb 2002 23:02:34 -0000 1.13 +++ iforce-main.c 10 Feb 2002 23:41:31 -0000 1.14 @@ -227,14 +227,11 @@ { struct iforce *iforce = dev->private; -printk(KERN_DEBUG "In iforce_open\n"); - switch (iforce->bus) { #ifdef IFORCE_USB case IFORCE_USB: -printk(KERN_DEBUG "Submitting irq URB\n"); iforce->irq.dev = iforce->usbdev; - if (usb_submit_urb(&iforce->irq)) + if (usb_submit_urb(&iforce->irq, GFP_KERNEL)) return -EIO; break; #endif @@ -274,15 +271,12 @@ { struct iforce *iforce = dev->private; - printk(KERN_DEBUG "iforce.c: in iforce_release\n"); - /* Disable force feedback playback */ iforce_send_packet(iforce, FF_CMD_ENABLE, "\001"); switch (iforce->bus) { #ifdef IFORCE_USB case IFORCE_USB: -printk(KERN_DEBUG "Unlinking irq URB\n"); usb_unlink_urb(&iforce->irq); /* The device was unplugged before the file @@ -412,6 +406,8 @@ for (i = 0; iforce->type->btn[i] >= 0; i++) { signed short t = iforce->type->btn[i]; set_bit(t, iforce->dev.keybit); + if (t != BTN_DEAD) + set_bit(t, iforce->dev.ffbit); } for (i = 0; iforce->type->abs[i] >= 0; i++) { Index: iforce-packets.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-packets.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- iforce-packets.c 8 Feb 2002 00:35:34 -0000 1.10 +++ iforce-packets.c 10 Feb 2002 23:41:31 -0000 1.11 @@ -243,7 +243,7 @@ set_current_state(TASK_INTERRUPTIBLE); add_wait_queue(&iforce->wait, &wait); - if (usb_submit_urb(&iforce->ctrl)) { + if (usb_submit_urb(&iforce->ctrl, GFP_KERNEL)) { set_current_state(TASK_RUNNING); remove_wait_queue(&iforce->wait, &wait); return -1; Index: iforce-usb.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-usb.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- iforce-usb.c 8 Feb 2002 00:35:34 -0000 1.12 +++ iforce-usb.c 10 Feb 2002 23:41:31 -0000 1.13 @@ -64,8 +64,8 @@ } XMIT_INC(iforce->xmit.tail, n); - if ( (n=usb_submit_urb(&iforce->out)) ) { - printk(KERN_WARNING "iforce.c: iforce_usb_xmit: usb_submit_urb failed %d\n", n); + if ( (n=usb_submit_urb(&iforce->out, GFP_KERNEL)) ) { + printk(KERN_WARNING "iforce-usb.c: iforce_usb_xmit: usb_submit_urb failed %d\n", n); } /* The IFORCE_XMIT_RUNNING bit is not cleared here. That's intended. |
From: johann d. <jd...@us...> - 2002-02-10 23:16:21
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv6908 Modified Files: Config.in Log Message: Fixed a dependancy bug when using serio. Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/Config.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Config.in 30 Jan 2002 00:08:41 -0000 1.1 +++ Config.in 10 Feb 2002 23:16:19 -0000 1.2 @@ -6,5 +6,7 @@ if [ "$CONFIG_JOYSTICK_IFORCE" != "n" ]; then dep_bool ' I-Force USB joysticks and wheels' CONFIG_JOYSTICK_IFORCE_USB $CONFIG_USB - dep_bool ' I-Force Serial joysticks and wheels' CONFIG_JOYSTICK_IFORCE_232 $CONFIG_SERIO + if [ "$CONFIG_INPUT_SERIO" != "n" -a "$CONFIG_INPUT_SERPORT" != "n" ]; then + bool ' I-Force Serial joysticks and wheels' CONFIG_JOYSTICK_IFORCE_232 + fi fi |
From: johann d. <jd...@us...> - 2002-02-10 23:15:41
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv6808 Modified Files: Makefile Log Message: Cleaned up. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/Makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile 8 Feb 2002 23:01:04 -0000 1.4 +++ Makefile 10 Feb 2002 23:15:38 -0000 1.5 @@ -1,27 +1,30 @@ # # Makefile for the I-Force driver # +# By Johann Deneux <de...@if...> +# -O_TARGET := iforce-drv.o +# Goal definition +list-multi := iforce.o +iforce-objs := iforce-ff.o iforce-main.o iforce-packets.o obj-$(CONFIG_JOYSTICK_IFORCE) += iforce.o -include $(TOPDIR)/Rules.make - -IFORCEOBJS = iforce-ff.o iforce-main.o iforce-packets.o - ifeq ($(CONFIG_JOYSTICK_IFORCE_232),y) - IFORCEOBJS += iforce-serio.o + iforce-objs += iforce-serio.o endif ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),y) - IFORCEOBJS += iforce-usb.o + iforce-objs += iforce-usb.o endif -iforce.o: $(IFORCEOBJS) - $(LD) -i $(IFORCEOBJS) -o $@ +EXTRA_CFLAGS = -Werror-implicit-function-declaration # The global Rules.make. include $(TOPDIR)/Rules.make + +# Additional rules +iforce.o: $(iforce-objs) + $(LD) -r -o $@ $(iforce-objs) |
From: johann d. <jd...@us...> - 2002-02-10 23:14:00
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick In directory usw-pr-cvs1:/tmp/cvs-serv5790 Modified Files: Makefile Log Message: Do not include the iforce object file inside the joystick driver. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/Makefile,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile 30 Jan 2002 00:08:41 -0000 1.4 +++ Makefile 10 Feb 2002 23:13:57 -0000 1.5 @@ -33,9 +33,6 @@ obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o -ifeq ($(CONFIG_JOYSTICK_IFORCE),y) - obj-y += iforce/iforcedrv.o -endif subdir-$(CONFIG_JOYSTICK_IFORCE) += iforce # The global Rules.make. |
From: johann d. <jd...@us...> - 2002-02-09 22:30:24
|
Update of /cvsroot/linuxconsole/ruby/utils In directory usw-pr-cvs1:/tmp/cvs-serv25604 Modified Files: ffcfstress.c Log Message: Synced with new API. Index: ffcfstress.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/utils/ffcfstress.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ffcfstress.c 16 Oct 2001 21:05:57 -0000 1.2 +++ ffcfstress.c 9 Feb 2002 22:30:21 -0000 1.3 @@ -79,7 +79,7 @@ l_help: printf("-------- ffcfstress - Force Feedback: Constant Force Stress Test --------\n"); printf("Description:\n"); - printf(" This program is for stress testing constant non-shaped forces on\n"); + printf(" This program is for stress testing constant non-enveloped forces on\n"); printf(" a force feedback device via the event interface. It simulates a\n"); printf(" moving spring force by a frequently updated constant force effect.\n"); printf(" BE CAREFUL IN USAGE, YOUR DEVICE MAY GET DAMAGED BY THE STRESS TEST!\n"); @@ -187,10 +187,10 @@ effect.replay.delay=0; effect.u.constant.level=0; effect.direction=0xC000; - effect.u.constant.shape.attack_length=0; - effect.u.constant.shape.attack_level=0; - effect.u.constant.shape.fade_length=0; - effect.u.constant.shape.fade_level=0; + effect.u.constant.envelope.attack_length=0; + effect.u.constant.envelope.attack_level=0; + effect.u.constant.envelope.fade_length=0; + effect.u.constant.envelope.fade_level=0; /* Upload effect */ if (ioctl(device_handle,EVIOCSFF,&effect)==-1) { @@ -232,8 +232,8 @@ if (force<-1.0) force=1.0; effect.u.constant.level=(short)(force*32767.0); /* only to be safe */ effect.direction=0xC000; - effect.u.constant.shape.attack_level=(short)(force*32767.0); /* this one counts! */ - effect.u.constant.shape.fade_level=(short)(force*32767.0); /* only to be safe */ + effect.u.constant.envelope.attack_level=(short)(force*32767.0); /* this one counts! */ + effect.u.constant.envelope.fade_level=(short)(force*32767.0); /* only to be safe */ /* Upload effect */ if (ioctl(device_handle,EVIOCSFF,&effect)==-1) { |
From: johann d. <jd...@us...> - 2002-02-08 23:18:57
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/input In directory usw-pr-cvs1:/tmp/cvs-serv10255 Modified Files: ff.txt Log Message: Small updates. Index: ff.txt =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/input/ff.txt,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- ff.txt 4 Nov 2001 14:44:32 -0000 1.10 +++ ff.txt 8 Feb 2002 23:18:54 -0000 1.11 @@ -39,13 +39,10 @@ You then need to insert the modules into the following order: % modprobe joydev -% modprobe serport +% modprobe serport # Only for serial % modprobe iforce % modprobe evdev % ./inputattach -ifor $2 & # Only for serial -For convenience, you may use the shell script named "ff" available from -the cvs tree of the Linux Console Project at sourceforge. You can also -retrieve it from http://www.esil.univ-mrs.fr/~jdeneux/projects/ff/. If you are using USB, you don't need the inputattach step. Please check that you have all the /dev/input entries needed: @@ -82,19 +79,21 @@ #include <linux/input.h> #include <sys/ioctl.h> -unsigned long features[4]; +unsigned long features[1 + FF_MAX/sizeof(unsigned long)]; int ioctl(int file_descriptor, int request, unsigned long *features); -"request" must be EVIOCGBIT(EV_FF, sizeof(unsigned long) * 4) +"request" must be EVIOCGBIT(EV_FF, size of features array in bytes ) Returns the features supported by the device. features is a bitfield with the following bits: -- FF_X has an X axis (should allways be the case) -- FF_Y has an Y axis (usually not the case for wheels) +- FF_X has an X axis (usually joysticks) +- FF_Y has an Y axis (usually joysticks) +- FF_WHEEL has a wheel (usually sterring wheels) - FF_CONSTANT can render constant force effects - FF_PERIODIC can render periodic effects (sine, ramp, square...) - FF_SPRING can simulate the presence of a spring -- FF_FRICTION can simulate friction (aka drag, damper effect...) +- FF_FRICTION can simulate friction +- FF_DAMPER can simulate damper effects - FF_RUMBLE rumble effects (normally the only effect supported by rumble pads) |
From: johann d. <jd...@us...> - 2002-02-08 23:10:54
|
Update of /cvsroot/linuxconsole/ruby/linux/Documentation/input In directory usw-pr-cvs1:/tmp/cvs-serv31745 Modified Files: joystick.txt Log Message: Added that force feedback is not supported for all existing I-Force devices. Index: joystick.txt =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/Documentation/input/joystick.txt,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- joystick.txt 25 Sep 2001 09:37:57 -0000 1.10 +++ joystick.txt 8 Feb 2002 23:10:51 -0000 1.11 @@ -508,9 +508,9 @@ * AVB Mag Turbo Force * AVB Top Shot Pegasus * Logitech WingMan Force -* Logitech WingMan Force 3D +* Logitech WingMan Force 3D (no force feedback support) * Logitech WingMan Force Wheel -* Logitech WingMan Strike Force 3D +* Logitech WingMan Strike Force 3D (no force feedback support) * Guillemot Race Leader Force Feedback To use it, you need to attach the serial port to the driver using the @@ -523,7 +523,9 @@ In case you're using the device via the USB port, the inputattach command isn't needed. - The I-Force driver now supports force feedback via the event interface. + The I-Force driver now supports force feedback via the event interface for +*some* of the I-Force devices. The recent Logitech * 3D devices are not +supported. I-Force rumble pads are not supported either. 3.22 Gravis Stinger gamepad ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
From: johann d. <jd...@us...> - 2002-02-08 23:02:36
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv21186 Modified Files: iforce-main.c Log Message: FF_FRICTION effects are not supported, FF_DAMPER are. Do not unlink the out urb upon release. Pending packets must be sent. Index: iforce-main.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/iforce-main.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- iforce-main.c 3 Feb 2002 20:04:39 -0000 1.12 +++ iforce-main.c 8 Feb 2002 23:02:34 -0000 1.13 @@ -44,7 +44,7 @@ static signed short abs_joystick[] = { ABS_X, ABS_Y, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y, -1 }; static signed short abs_joystick2[] = { ABS_X, ABS_Y, ABS_THROTTLE, ABS_RUDDER, ABS_HAT0X, ABS_HAT0Y, -1 }; static signed short abs_wheel[] = { ABS_WHEEL, ABS_GAS, ABS_BRAKE, ABS_HAT0X, ABS_HAT0Y, -1 }; -static signed short ff_iforce[] = { FF_PERIODIC, FF_CONSTANT, FF_SPRING, FF_FRICTION, +static signed short ff_iforce[] = { FF_PERIODIC, FF_CONSTANT, FF_SPRING, FF_DAMPER, FF_SQUARE, FF_TRIANGLE, FF_SINE, FF_SAW_UP, FF_SAW_DOWN, FF_GAIN, FF_AUTOCENTER, -1 }; static struct iforce_device iforce_device[] = { @@ -122,6 +122,10 @@ int ret; int is_update; +/* Check this effect type is supported by this device */ + if (!test_bit(effect->type, iforce->dev.ffbit)) + return -EINVAL; + /* * If we want to create a new effect, get a free id */ @@ -169,7 +173,7 @@ break; case FF_SPRING: - case FF_FRICTION: + case FF_DAMPER: ret = iforce_upload_condition(iforce, effect, is_update); break; @@ -280,7 +284,6 @@ case IFORCE_USB: printk(KERN_DEBUG "Unlinking irq URB\n"); usb_unlink_urb(&iforce->irq); - usb_unlink_urb(&iforce->out); /* The device was unplugged before the file * was released */ |
From: johann d. <jd...@us...> - 2002-02-08 23:01:07
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv20228 Modified Files: Makefile Log Message: Forgot to include Rules.make. I wonder how it worked without ??? Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile 30 Jan 2002 00:08:41 -0000 1.3 +++ Makefile 8 Feb 2002 23:01:04 -0000 1.4 @@ -21,3 +21,7 @@ iforce.o: $(IFORCEOBJS) $(LD) -i $(IFORCEOBJS) -o $@ +# The global Rules.make. + +include $(TOPDIR)/Rules.make + |
From: johann d. <jd...@us...> - 2002-02-08 22:53:56
|
Update of /cvsroot/linuxconsole/ruby/utils In directory usw-pr-cvs1:/tmp/cvs-serv10813 Modified Files: fftest.c Log Message: Fixed FF_DAMPER/FF_FRICTION type for effect 3. Index: fftest.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/utils/fftest.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- fftest.c 8 Feb 2002 18:49:35 -0000 1.13 +++ fftest.c 8 Feb 2002 22:53:53 -0000 1.14 @@ -165,7 +165,7 @@ } /* download an condition damper effect */ - effects[3].type = FF_SPRING; + effects[3].type = FF_DAMPER; effects[3].id = -1; effects[3].u.condition[0].right_saturation = 0x7fff; effects[3].u.condition[0].left_saturation = 0x7fff; |
From: johann d. <jd...@us...> - 2002-02-08 18:49:38
|
Update of /cvsroot/linuxconsole/ruby/utils In directory usw-pr-cvs1:/tmp/cvs-serv6091 Modified Files: fftest.c Log Message: Synced with new API. Index: fftest.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/utils/fftest.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- fftest.c 16 Oct 2001 21:05:57 -0000 1.12 +++ fftest.c 8 Feb 2002 18:49:35 -0000 1.13 @@ -1,6 +1,6 @@ /* * Tests the force feedback driver - * Copyright 2001 Johann Deneux <de...@if...> + * Copyright 2001-2002 Johann Deneux <de...@if...> */ /* @@ -81,8 +81,9 @@ printf("Axes query: "); - if (test_bit(FF_ABS(ABS_X), features)) printf("Axis X "); - if (test_bit(FF_ABS(ABS_Y), features)) printf("Axis Y "); + if (test_bit(ABS_X, features)) printf("Axis X "); + if (test_bit(ABS_Y, features)) printf("Axis Y "); + if (test_bit(ABS_WHEEL, features)) printf("Wheel "); printf("\nEffects: "); @@ -106,10 +107,10 @@ effects[1].id = -1; effects[1].u.constant.level = 0x2000; /* Strength : 25 % */ effects[1].direction = 0x6000; /* 135 degrees */ - effects[1].u.constant.shape.attack_length = 0x100; - effects[1].u.constant.shape.attack_level = 0; - effects[1].u.constant.shape.fade_length = 0x100; - effects[1].u.constant.shape.fade_level = 0; + effects[1].u.constant.envelope.attack_length = 0x100; + effects[1].u.constant.envelope.attack_level = 0; + effects[1].u.constant.envelope.fade_length = 0x100; + effects[1].u.constant.envelope.fade_level = 0; effects[1].trigger.button = 0; effects[1].trigger.interval = 0; effects[1].replay.length = 0x1400; /* 20 seconds */ @@ -129,10 +130,10 @@ effects[0].u.periodic.offset = 0; effects[0].u.periodic.phase = 0; effects[0].direction = 0x4000; /* Along X axis */ - effects[0].u.periodic.shape.attack_length = 0x100; - effects[0].u.periodic.shape.attack_level = 0; - effects[0].u.periodic.shape.fade_length = 0x100; - effects[0].u.periodic.shape.fade_level = 0; + effects[0].u.periodic.envelope.attack_length = 0x100; + effects[0].u.periodic.envelope.attack_level = 0; + effects[0].u.periodic.envelope.fade_length = 0x100; + effects[0].u.periodic.envelope.fade_level = 0; effects[0].trigger.button = 0; effects[0].trigger.interval = 0; effects[0].replay.length = 0x1400; /* 20 seconds */ @@ -143,16 +144,16 @@ exit(1); } - /* download an interactive spring effect */ + /* download an condition spring effect */ effects[2].type = FF_SPRING; effects[2].id = -1; - effects[2].u.interactive.axis = ABS_X; - effects[2].u.interactive.right_saturation = 0x7fff; - effects[2].u.interactive.left_saturation = 0x7fff; - effects[2].u.interactive.right_coeff = 0x2000; - effects[2].u.interactive.left_coeff = 0x2000; - effects[2].u.interactive.deadband = 0x0; - effects[2].u.interactive.center = 0x0; + effects[2].u.condition[0].right_saturation = 0x7fff; + effects[2].u.condition[0].left_saturation = 0x7fff; + effects[2].u.condition[0].right_coeff = 0x2000; + effects[2].u.condition[0].left_coeff = 0x2000; + effects[2].u.condition[0].deadband = 0x0; + effects[2].u.condition[0].center = 0x0; + effects[2].u.condition[1] = effects[2].u.condition[0]; effects[2].trigger.button = 0; effects[2].trigger.interval = 0; effects[2].replay.length = 0x1400; /* 20 seconds */ @@ -163,16 +164,16 @@ exit(1); } - /* download an interactive damper effect */ - effects[3].type = FF_FRICTION; + /* download an condition damper effect */ + effects[3].type = FF_SPRING; effects[3].id = -1; - effects[3].u.interactive.axis = ABS_X; - effects[3].u.interactive.right_saturation = 0x7fff; - effects[3].u.interactive.left_saturation = 0x7fff; - effects[3].u.interactive.right_coeff = 0x2000; - effects[3].u.interactive.left_coeff = 0x2000; - effects[3].u.interactive.deadband = 0x0; - effects[3].u.interactive.center = 0x0; + effects[3].u.condition[0].right_saturation = 0x7fff; + effects[3].u.condition[0].left_saturation = 0x7fff; + effects[3].u.condition[0].right_coeff = 0x2000; + effects[3].u.condition[0].left_coeff = 0x2000; + effects[3].u.condition[0].deadband = 0x0; + effects[3].u.condition[0].center = 0x0; + effects[3].u.condition[1] = effects[3].u.condition[0]; effects[3].trigger.button = 0; effects[3].trigger.interval = 0; effects[3].replay.length = 0x1400; /* 20 seconds */ |