You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
(235) |
Apr
(30) |
May
(32) |
Jun
(86) |
Jul
(81) |
Aug
(108) |
Sep
(27) |
Oct
(22) |
Nov
(34) |
Dec
(10) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(78) |
Feb
(10) |
Mar
(81) |
Apr
(27) |
May
(13) |
Jun
(105) |
Jul
(78) |
Aug
(52) |
Sep
(59) |
Oct
(90) |
Nov
(127) |
Dec
(49) |
2002 |
Jan
(102) |
Feb
(72) |
Mar
(54) |
Apr
(98) |
May
(25) |
Jun
(23) |
Jul
(123) |
Aug
(14) |
Sep
(52) |
Oct
(65) |
Nov
(48) |
Dec
(48) |
2003 |
Jan
(22) |
Feb
(25) |
Mar
(29) |
Apr
(12) |
May
(16) |
Jun
(11) |
Jul
(20) |
Aug
(20) |
Sep
(43) |
Oct
(84) |
Nov
(98) |
Dec
(56) |
2004 |
Jan
(28) |
Feb
(39) |
Mar
(41) |
Apr
(28) |
May
(88) |
Jun
(17) |
Jul
(43) |
Aug
(57) |
Sep
(54) |
Oct
(42) |
Nov
(32) |
Dec
(58) |
2005 |
Jan
(80) |
Feb
(31) |
Mar
(65) |
Apr
(41) |
May
(20) |
Jun
(34) |
Jul
(62) |
Aug
(73) |
Sep
(81) |
Oct
(48) |
Nov
(57) |
Dec
(57) |
2006 |
Jan
(63) |
Feb
(24) |
Mar
(18) |
Apr
(9) |
May
(22) |
Jun
(29) |
Jul
(47) |
Aug
(11) |
Sep
|
Oct
|
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Aivils S. <Aiv...@un...> - 2002-02-25 13:24:58
|
Hi May be You can run two XFree servers with new James's vt-manager. You should configure VGA console Framebuffer console and Virtual framebuffer under ruby. If two keyboards is plugged in, one is binnded with VGA and second is binded with Virtual fb. So /dev/tty1 - /dev/tty15 work with first keyboard /dev/tty16 - /dev/tty32 work with second keyboard You should run 1-st X server : $startx -- :0 -xf86config 1-stXF86Config vt07 2-nd server: $startx -- :1 -xf86config 2-ndXF86Config vt17 1-st server grab vt07 binded with 1-st keyboard. 2-nd server grab vt17 binded with 2-nd keyboard. Current, in my end, I could choose XFree keyboard with simple vtxx command, but my nvidia TNT2 (AGP) and 3DFX Voodoo3 (PCI) will not run simultaneous 2 X servers. I hope solve this with right X configuration. I use X 4.1.0 without any patch, because ruby vt-manager allow bind several keyboards with sevral /dev/tty's. Aivils Stoss |
From: svetljo <ga...@st...> - 2002-02-24 00:22:12
|
> > >>>>I'm having 2 local XFree users (see >>>>http://cambuca.ldhs.cetuc.puc-rio.br/multiuser ) >>>>and i wanted to try the dj-tree and later ruby >>>>these days i'm trying to merge 2.5.5-dj1 in linux-2.5.5-xfs-cvs (when >>>>i#m ready i'll try to add ruby ) , >>>>i have some little glitches but it already boots, but i can not get my >>>>PS2 keyboard working >>>>i have 2 mices ( PS2 and USB) and 2 keyboards (PS2 and USB), the second >>>>keyboard (USB) must not generate scancodes to the console so i have to >>>>turn input_keybdev off, >>>>it appears to me that in dj ( and may be ruby too) input_keybdev is >>>>needed for PS2 keyboard support >>>>so my questions are: >>>> >>>>do i have to enable input_keybdev for PS2 keyboard >>>> >>>If you want it connected to the console - yes. >>> >>is it not possible in some other way, >>smth like in linux-2.4.x >> > >No. But you can modify it to accept only one of the keyboards if you >need that. > keybdev.c ? do you have some hints > >>>>in case i do , how can i get the second keyboard not to generate >>>>scancodes to the normal console >>>> >>>>and as i have SiS6326(PCI) and MatroxG550DH (AGP) , are dese cards >>>>ported to the new framebuffer API >>>>can i use them with ruby >>>> |
From: svetljo <ga...@st...> - 2002-02-24 00:05:22
|
Vojtech Pavlik wrote: >On Sat, Feb 23, 2002 at 12:41:15PM +0100, svetljo wrote: > >>so where to start ? >> >>I'm having 2 local XFree users (see >>http://cambuca.ldhs.cetuc.puc-rio.br/multiuser ) >>and i wanted to try the dj-tree and later ruby >>these days i'm trying to merge 2.5.5-dj1 in linux-2.5.5-xfs-cvs (when >>i#m ready i'll try to add ruby ) , >> i have some little glitches but it already boots, but i can not get my >>PS2 keyboard working >>i have 2 mices ( PS2 and USB) and 2 keyboards (PS2 and USB), the second >>keyboard (USB) must not generate scancodes to the console so i have to >>turn input_keybdev off, >>it appears to me that in dj ( and may be ruby too) input_keybdev is >>needed for PS2 keyboard support >>so my questions are: >> >>do i have to enable input_keybdev for PS2 keyboard >> > >If you want it connected to the console - yes. > is it not possible in some other way, smth like in linux-2.4.x > >>in case i do , how can i get the second keyboard not to generate >>scancodes to the normal console >> >>and as i have SiS6326(PCI) and MatroxG550DH (AGP) , are dese cards >>ported to the new framebuffer API >>can i use them with ruby >> >>thanks a lot for any advice >> >> >>kind regards >> >>svetljo >> >> >>my .config >> >># >># Input device support >># >>CONFIG_INPUT=y >>#CONFIG_INPUT_KEYBDEV is not set >>CONFIG_INPUT_MOUSEDEV=m >>CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 >>CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 >># CONFIG_INPUT_JOYDEV is not set >># CONFIG_INPUT_TSDEV is not set >>CONFIG_INPUT_EVDEV=m >># CONFIG_INPUT_EVBUG is not set >># CONFIG_GAMEPORT is not set >>CONFIG_SOUND_GAMEPORT=y >>CONFIG_SERIO=y >>CONFIG_SERIO_I8042=y >>CONFIG_I8042_REG_BASE=60 >>CONFIG_I8042_KBD_IRQ=1 >>CONFIG_I8042_AUX_IRQ=12 >>CONFIG_SERIO_SERPORT=m >># CONFIG_SERIO_CT82C710 is not set >>CONFIG_SERIO_PARKBD=m >>CONFIG_INPUT_KEYBOARD=y >>CONFIG_KEYBOARD_ATKBD=y >># CONFIG_KEYBOARD_SUNKBD is not set >>CONFIG_KEYBOARD_PS2SERKBD=m >>CONFIG_KEYBOARD_XTKBD=m >>CONFIG_INPUT_MOUSE=y >>CONFIG_MOUSE_PS2=m >>CONFIG_MOUSE_SERIAL=m >># CONFIG_MOUSE_GUNZE is not set >># CONFIG_MOUSE_INPORT is not set >># CONFIG_MOUSE_LOGIBM is not set >># CONFIG_MOUSE_PC110PAD is not set >># CONFIG_INPUT_JOYSTICK is not set >> >> >># >># USB Human Interface Devices (HID) >># >>CONFIG_USB_HID=m >>CONFIG_USB_HIDDEV=y >>CONFIG_USB_KBD=m >>CONFIG_USB_MOUSE=m >>CONFIG_USB_WACOM=m >># CONFIG_USB_POWERMATE is not set >> >> >> >>_______________________________________________ >>Linuxconsole-dev mailing list >>Lin...@li... >>https://lists.sourceforge.net/lists/listinfo/linuxconsole-dev >> > |
From: Vojtech P. <vo...@su...> - 2002-02-24 00:03:52
|
On Sun, Feb 24, 2002 at 01:02:35AM +0100, svetljo wrote: > Vojtech Pavlik wrote: > > >On Sat, Feb 23, 2002 at 12:41:15PM +0100, svetljo wrote: > > > >>so where to start ? > >> > >>I'm having 2 local XFree users (see > >>http://cambuca.ldhs.cetuc.puc-rio.br/multiuser ) > >>and i wanted to try the dj-tree and later ruby > >>these days i'm trying to merge 2.5.5-dj1 in linux-2.5.5-xfs-cvs (when > >>i#m ready i'll try to add ruby ) , > >> i have some little glitches but it already boots, but i can not get my > >>PS2 keyboard working > >>i have 2 mices ( PS2 and USB) and 2 keyboards (PS2 and USB), the second > >>keyboard (USB) must not generate scancodes to the console so i have to > >>turn input_keybdev off, > >>it appears to me that in dj ( and may be ruby too) input_keybdev is > >>needed for PS2 keyboard support > >>so my questions are: > >> > >>do i have to enable input_keybdev for PS2 keyboard > >> > > > >If you want it connected to the console - yes. > > > is it not possible in some other way, > smth like in linux-2.4.x No. But you can modify it to accept only one of the keyboards if you need that. > >>in case i do , how can i get the second keyboard not to generate > >>scancodes to the normal console > >> > >>and as i have SiS6326(PCI) and MatroxG550DH (AGP) , are dese cards > >>ported to the new framebuffer API > >>can i use them with ruby > >> > >>thanks a lot for any advice > >> > >> > >>kind regards > >> > >>svetljo > >> > >> > >>my .config > >> > >># > >># Input device support > >># > >>CONFIG_INPUT=y > >>#CONFIG_INPUT_KEYBDEV is not set > >>CONFIG_INPUT_MOUSEDEV=m > >>CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 > >>CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 > >># CONFIG_INPUT_JOYDEV is not set > >># CONFIG_INPUT_TSDEV is not set > >>CONFIG_INPUT_EVDEV=m > >># CONFIG_INPUT_EVBUG is not set > >># CONFIG_GAMEPORT is not set > >>CONFIG_SOUND_GAMEPORT=y > >>CONFIG_SERIO=y > >>CONFIG_SERIO_I8042=y > >>CONFIG_I8042_REG_BASE=60 > >>CONFIG_I8042_KBD_IRQ=1 > >>CONFIG_I8042_AUX_IRQ=12 > >>CONFIG_SERIO_SERPORT=m > >># CONFIG_SERIO_CT82C710 is not set > >>CONFIG_SERIO_PARKBD=m > >>CONFIG_INPUT_KEYBOARD=y > >>CONFIG_KEYBOARD_ATKBD=y > >># CONFIG_KEYBOARD_SUNKBD is not set > >>CONFIG_KEYBOARD_PS2SERKBD=m > >>CONFIG_KEYBOARD_XTKBD=m > >>CONFIG_INPUT_MOUSE=y > >>CONFIG_MOUSE_PS2=m > >>CONFIG_MOUSE_SERIAL=m > >># CONFIG_MOUSE_GUNZE is not set > >># CONFIG_MOUSE_INPORT is not set > >># CONFIG_MOUSE_LOGIBM is not set > >># CONFIG_MOUSE_PC110PAD is not set > >># CONFIG_INPUT_JOYSTICK is not set > >> > >> > >># > >># USB Human Interface Devices (HID) > >># > >>CONFIG_USB_HID=m > >>CONFIG_USB_HIDDEV=y > >>CONFIG_USB_KBD=m > >>CONFIG_USB_MOUSE=m > >>CONFIG_USB_WACOM=m > >># CONFIG_USB_POWERMATE is not set > >> > >> > >> > >>_______________________________________________ > >>Linuxconsole-dev mailing list > >>Lin...@li... > >>https://lists.sourceforge.net/lists/listinfo/linuxconsole-dev > >> > > > -- Vojtech Pavlik SuSE Labs |
From: Vojtech P. <vo...@su...> - 2002-02-23 22:57:55
|
On Sat, Feb 23, 2002 at 11:40:51PM +0100, Johann Deneux wrote: > Hi, > > Today I bought two Logitech devices: the wingman force 3d and the > cordless rumblepad. > > Good news: after a few hours hacking, I think I managed to figure out > most of the protocol used by thess devices. I haven't yet written any > piece of code, so it's far from finished, but I am enthusiastic about my > findings. > > These two devices share the same principle: The cpu of the PC does most > of the work. Thus periodic effects are simulated using constant effects, > not unlike ffcfstress works. The joystick does have special packets for > springs, though. > > The rumble pad has two unmatched motors. That is, they are different. > The left one seems to be able to produce large low-freq oscillations, > the right one generates hi-freq small vibrations. Better, I noticed a > packet my first attempt with alexander failed to reveal. > > I hope I can get some piece of code to run this week end. Good work! Congratulations! -- Vojtech Pavlik SuSE Labs |
From: Vojtech P. <vo...@su...> - 2002-02-23 22:56:53
|
On Sat, Feb 23, 2002 at 12:41:15PM +0100, svetljo wrote: > so where to start ? > > I'm having 2 local XFree users (see > http://cambuca.ldhs.cetuc.puc-rio.br/multiuser ) > and i wanted to try the dj-tree and later ruby > these days i'm trying to merge 2.5.5-dj1 in linux-2.5.5-xfs-cvs (when > i#m ready i'll try to add ruby ) , > i have some little glitches but it already boots, but i can not get my > PS2 keyboard working > i have 2 mices ( PS2 and USB) and 2 keyboards (PS2 and USB), the second > keyboard (USB) must not generate scancodes to the console so i have to > turn input_keybdev off, > it appears to me that in dj ( and may be ruby too) input_keybdev is > needed for PS2 keyboard support > so my questions are: > > do i have to enable input_keybdev for PS2 keyboard If you want it connected to the console - yes. > > in case i do , how can i get the second keyboard not to generate > scancodes to the normal console > > and as i have SiS6326(PCI) and MatroxG550DH (AGP) , are dese cards > ported to the new framebuffer API > can i use them with ruby > > thanks a lot for any advice > > > kind regards > > svetljo > > > my .config > > # > # Input device support > # > CONFIG_INPUT=y > #CONFIG_INPUT_KEYBDEV is not set > CONFIG_INPUT_MOUSEDEV=m > CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 > CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 > # CONFIG_INPUT_JOYDEV is not set > # CONFIG_INPUT_TSDEV is not set > CONFIG_INPUT_EVDEV=m > # CONFIG_INPUT_EVBUG is not set > # CONFIG_GAMEPORT is not set > CONFIG_SOUND_GAMEPORT=y > CONFIG_SERIO=y > CONFIG_SERIO_I8042=y > CONFIG_I8042_REG_BASE=60 > CONFIG_I8042_KBD_IRQ=1 > CONFIG_I8042_AUX_IRQ=12 > CONFIG_SERIO_SERPORT=m > # CONFIG_SERIO_CT82C710 is not set > CONFIG_SERIO_PARKBD=m > CONFIG_INPUT_KEYBOARD=y > CONFIG_KEYBOARD_ATKBD=y > # CONFIG_KEYBOARD_SUNKBD is not set > CONFIG_KEYBOARD_PS2SERKBD=m > CONFIG_KEYBOARD_XTKBD=m > CONFIG_INPUT_MOUSE=y > CONFIG_MOUSE_PS2=m > CONFIG_MOUSE_SERIAL=m > # CONFIG_MOUSE_GUNZE is not set > # CONFIG_MOUSE_INPORT is not set > # CONFIG_MOUSE_LOGIBM is not set > # CONFIG_MOUSE_PC110PAD is not set > # CONFIG_INPUT_JOYSTICK is not set > > > # > # USB Human Interface Devices (HID) > # > CONFIG_USB_HID=m > CONFIG_USB_HIDDEV=y > CONFIG_USB_KBD=m > CONFIG_USB_MOUSE=m > CONFIG_USB_WACOM=m > # CONFIG_USB_POWERMATE is not set > > > > _______________________________________________ > Linuxconsole-dev mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linuxconsole-dev -- Vojtech Pavlik SuSE Labs |
From: Johann D. <de...@if...> - 2002-02-23 22:37:47
|
Hi, Today I bought two Logitech devices: the wingman force 3d and the cordless rumblepad. Good news: after a few hours hacking, I think I managed to figure out most of the protocol used by thess devices. I haven't yet written any piece of code, so it's far from finished, but I am enthusiastic about my findings. These two devices share the same principle: The cpu of the PC does most of the work. Thus periodic effects are simulated using constant effects, not unlike ffcfstress works. The joystick does have special packets for springs, though. The rumble pad has two unmatched motors. That is, they are different. The left one seems to be able to produce large low-freq oscillations, the right one generates hi-freq small vibrations. Better, I noticed a packet my first attempt with alexander failed to reveal. I hope I can get some piece of code to run this week end. -- Johann Deneux ______________________________________________________________________________ ifrance.com, l'email gratuit le plus complet de l'Internet ! vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP... http://www.ifrance.com/_reloc/email.emailif |
From: Ian D. <ia...@or...> - 2002-02-23 16:49:30
|
From: "Johann Deneux" <de...@if...> To: "Ian Dichkovsky" <ia...@or...> Cc: <lin...@li...> Sent: Saturday, February 23, 2002 5:28 PM Subject: Re: ymfpci and Logitech Wingman Extreme Digital 3D > > According to Documentation/input/joystick.txt in the kernel sources, it > seems you also need ns558. > I am not quite sure, as I don't have a gameport joystick myself, but I > hope it helps... > > -- > Johann Deneux As I see, ns588 is targeted to ISA souncards. I have Yamaha 724, which is PCI. But, I've tryed ns588, it fails to insert with alsa driver, and doesn't works with ymfpci from kernel. Best regards, Ian Dichkovsky, mailto:ia...@or..., ICQ 83146271 |
From: Johann D. <de...@if...> - 2002-02-23 15:25:04
|
Ian Dichkovsky wrote: > > I've trying a different combination of modprobing (adi, joydev, input, > gameport, etc) > lsmod - writes adi is unused. > It does'nt work. > I've looked at the source of kernel ymfpci, and found that it doesn't > support > joysticks. > I've download and install latest alsa-driver-0.9.0beta11.tar.bz2 > (17 February 2002) > It have autodectection and support of joystick > (it's written in source > alsa-driver-0.9.0beta11/alsa-kernel/pci/ymfpci/ymfpci.c, ymfpci_main.c) > According to Documentation/input/joystick.txt in the kernel sources, it seems you also need ns558. I am not quite sure, as I don't have a gameport joystick myself, but I hope it helps... -- Johann Deneux ______________________________________________________________________________ ifrance.com, l'email gratuit le plus complet de l'Internet ! vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP... http://www.ifrance.com/_reloc/email.emailif |
From: svetljo <ga...@st...> - 2002-02-23 11:43:57
|
so where to start ? I'm having 2 local XFree users (see http://cambuca.ldhs.cetuc.puc-rio.br/multiuser ) and i wanted to try the dj-tree and later ruby these days i'm trying to merge 2.5.5-dj1 in linux-2.5.5-xfs-cvs (when i#m ready i'll try to add ruby ) , i have some little glitches but it already boots, but i can not get my PS2 keyboard working i have 2 mices ( PS2 and USB) and 2 keyboards (PS2 and USB), the second keyboard (USB) must not generate scancodes to the console so i have to turn input_keybdev off, it appears to me that in dj ( and may be ruby too) input_keybdev is needed for PS2 keyboard support so my questions are: do i have to enable input_keybdev for PS2 keyboard in case i do , how can i get the second keyboard not to generate scancodes to the normal console and as i have SiS6326(PCI) and MatroxG550DH (AGP) , are dese cards ported to the new framebuffer API can i use them with ruby thanks a lot for any advice kind regards svetljo my .config # # Input device support # CONFIG_INPUT=y #CONFIG_INPUT_KEYBDEV is not set CONFIG_INPUT_MOUSEDEV=m CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set # CONFIG_INPUT_TSDEV is not set CONFIG_INPUT_EVDEV=m # CONFIG_INPUT_EVBUG is not set # CONFIG_GAMEPORT is not set CONFIG_SOUND_GAMEPORT=y CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_I8042_REG_BASE=60 CONFIG_I8042_KBD_IRQ=1 CONFIG_I8042_AUX_IRQ=12 CONFIG_SERIO_SERPORT=m # CONFIG_SERIO_CT82C710 is not set CONFIG_SERIO_PARKBD=m CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_SUNKBD is not set CONFIG_KEYBOARD_PS2SERKBD=m CONFIG_KEYBOARD_XTKBD=m CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=m CONFIG_MOUSE_SERIAL=m # CONFIG_MOUSE_GUNZE is not set # CONFIG_MOUSE_INPORT is not set # CONFIG_MOUSE_LOGIBM is not set # CONFIG_MOUSE_PC110PAD is not set # CONFIG_INPUT_JOYSTICK is not set # # USB Human Interface Devices (HID) # CONFIG_USB_HID=m CONFIG_USB_HIDDEV=y CONFIG_USB_KBD=m CONFIG_USB_MOUSE=m CONFIG_USB_WACOM=m # CONFIG_USB_POWERMATE is not set |
From: Ian D. <ia...@or...> - 2002-02-23 11:42:49
|
Hi ! So, first of all, sorry for my poor English, it's not my native. Please, read this letter to the end, and may be you could help me. I'm trying to run my joystick 2 days. I sit up to the 3:00 at night. :-) I have Yamaha724 soundcard and Logitech Wingman Extreme Digital 3D joystick. Kernel - 2.4.17-k6 from the Debian. So, I want to use joystick under linux. I've made js0, js1 devices in /dev/input and link /dev/js0, /dev/js1 to them. Also i've made input devices. I've trying a different combination of modprobing (adi, joydev, input, gameport, etc) lsmod - writes adi is unused. It does'nt work. I've looked at the source of kernel ymfpci, and found that it doesn't support joysticks. I've download and install latest alsa-driver-0.9.0beta11.tar.bz2 (17 February 2002) It have autodectection and support of joystick (it's written in source alsa-driver-0.9.0beta11/alsa-kernel/pci/ymfpci/ymfpci.c, ymfpci_main.c) I've configured alsa and sound works. Here is my fragment of my modules.conf ---------------------------------------------------------- post-install snd-ymfpci modprobe snd-pcm-oss alias char-major-116 snd alias char-major-14 soundcore alias snd-card-0 snd-ymfpci alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss ---------------------------------------------------------- I've trying again all modprobing for joystick, but it doesn't work. What parameters I must write in modules.conf to use my joystick ? Please, help me. I'll be very, very thankful. Best regards, Ian Dichkovsky, mailto:ia...@or..., ICQ 83146271 PS. http://linuxconsole.sourceforge.net/joystick.html 404 not found |
From: Vojtech P. <vo...@su...> - 2002-02-21 15:11:00
|
On Wed, Feb 20, 2002 at 10:01:48AM -0800, James Simmons wrote: > > >Sorry about the delay. Actually please add it. I need it for various > > >embedded devices. > > > > OK, fine. I only urged a bit cause I'll be on vacation next week and the > > users kept bitching on me :-). Now if only could get Vojtech to update > > utils/scancodes.h... :-)) > > I added those keycodes. As for scancodes.h what do you need? > > P.S > > Vojtech we are going to run out of space for key defines. What are we > going to do? Well, since we can't move the button defines anymore, we'll have to continue above 0x200. -- Vojtech Pavlik SuSE Labs |
From: Johann D. <jo...@do...> - 2002-02-21 09:35:45
|
Adrian McMenamin wrote: > On Wednesday 20 Feb 2002 10:33 pm, Adrian McMenamin wrote: > >>On Wednesday 20 Feb 2002 11:21 pm, Johann Deneux wrote: >> >>>It looks quite nice. Only one remark: why did you include your own input >>>handler ? evdev could have done the work, couldn't it ? >>> >>Hmmm... let me come back to you on that. >> >>Adrian >> >> > Johann, > > You need to explain this further to me. I know most of the handler code is > empty or could really be replaced/relocated but I do need to specify a fops > to handle the writing to the device. > > How would an alternative mechanism work? > Have a look at ruby/linux/drivers/input/evdev.c in our CVS. This implements an input handler accepting force feedback events and ioctls. You really don't need to do much to use it. Evdev registers its own fops, which do what your handler does, plus other things. You have to provide a few callbacks two support force feedback. See ruby/linux/include/input.h Interesting parts are input_dev::{event, upload_effect, erase_effect} When a write to /dev/input/eventXX is done, evdev_write is called, which generates an event caught by your input_dev::event callback. This is used to stop/start effects playback. When a ioctls is performed, evdev_ioctl is called, which in turns will call your upload_effect or erase_effect callback. The maximal number of effects that can be played at once is stored in input_dev::ff_effects_max. The supported effects are stored in the bit array called input_dev::ff_bit. Buttons that can trigger effects and axis that can render force effects are also listed here. For an example of how to initialize the input_dev structure, you can look at iforce_init in ruby/linux/drivers/input/joysticks/iforce/iforce-main.c I hope I did not forget anything. Don't hesitate to ask if necessary. -- Johann Deneux |
From: Adrian M. <ad...@mc...> - 2002-02-20 23:55:35
|
On Wednesday 20 Feb 2002 10:33 pm, Adrian McMenamin wrote: > On Wednesday 20 Feb 2002 11:21 pm, Johann Deneux wrote: > > It looks quite nice. Only one remark: why did you include your own input > > handler ? evdev could have done the work, couldn't it ? > > Hmmm... let me come back to you on that. > > Adrian > Johann, You need to explain this further to me. I know most of the handler code is empty or could really be replaced/relocated but I do need to specify a fops to handle the writing to the device. How would an alternative mechanism work? Adrian |
From: Adrian M. <ad...@mc...> - 2002-02-20 22:33:32
|
On Wednesday 20 Feb 2002 11:21 pm, Johann Deneux wrote: > > It looks quite nice. Only one remark: why did you include your own input > handler ? evdev could have done the work, couldn't it ? Hmmm... let me come back to you on that. Adrian |
From: Johann D. <de...@if...> - 2002-02-20 22:07:39
|
Adrian McMenamin wrote: > On Tuesday 19 Feb 2002 9:02 am, Johann Deneux wrote: > >>On Mon, 18 Feb 2002, Adrian McMenamin wrote: >> >>>Don't know whether it's appropriate to post code to this list - and >>>anyway this is a bit specialised - but have just released for testing the >>>code for a force feedback "Puru Puru" (rumble) Pack driver for Linux on >>>the SEGA Dreamcast. >>> >>>Anybody want to see it? Email me - or I can post it to the list if people >>>*really* want it. >>> >>Sure, adding support for a device is allways nice. >> > > Wll, I hope you meant send it to the list - so here it is - as MR Brown has > said, it will go on to the linuxdc cvs. > It looks quite nice. Only one remark: why did you include your own input handler ? evdev could have done the work, couldn't it ? -- Johann Deneux ______________________________________________________________________________ ifrance.com, l'email gratuit le plus complet de l'Internet ! vos emails depuis un navigateur, en POP3, sur Minitel, sur le WAP... http://www.ifrance.com/_reloc/email.emailif |
From: Adrian M. <ad...@mc...> - 2002-02-20 19:00:29
|
On Tuesday 19 Feb 2002 9:02 am, Johann Deneux wrote: > On Mon, 18 Feb 2002, Adrian McMenamin wrote: > > Don't know whether it's appropriate to post code to this list - and > > anyway this is a bit specialised - but have just released for testing the > > code for a force feedback "Puru Puru" (rumble) Pack driver for Linux on > > the SEGA Dreamcast. > > > > Anybody want to see it? Email me - or I can post it to the list if people > > *really* want it. > > Sure, adding support for a device is allways nice. Wll, I hope you meant send it to the list - so here it is - as MR Brown has said, it will go on to the linuxdc cvs. /* * Purupuru driver * for SEGA Dreamcast * Copyright (c) Adrian McMenamin, 2002 * * Licenced under the terms * of the Free Software Foundation * General Public Licence * Version 2 * See http://www.gnu.org * * Based on pre-existing Maple device coding * Copyright MR Brown, YAEGASHI Takeshi and others * * */ /* * First posted 18 Feburary 2002 * */ #include <linux/kernel.h> #include <linux/slab.h> #include <linux/input.h> #include <linux/module.h> #include <linux/init.h> #include <linux/timer.h> #include <linux/maple.h> #include <linux/list.h> #include <asm/uaccess.h> #include <linux/mm.h> #include <asm/atomic.h> #define PURU_MINOR_BASE 64 #define PPP_VERSION 1 #define _DEBUG_ #ifdef _DEBUG_ #define DEBGM(fmt, args...) (printk(KERN_ERR fmt, ##args)) #else #define DEBGM(fmt, args...) ((void) 0) #endif #define CHECKFUNC EVIOCGBIT(EV_FF, 16) static int last_minor; static unsigned long last_jiffies = -1; /* one list shared through all devices */ LIST_HEAD(effects_list); /* may be more than one puru puru attached */ LIST_HEAD(devices_list); struct dc_puru_effect { int length_of_time; u16 sid; struct list_head list; }; struct dc_purupuru { struct input_dev dev; struct maple_driver_data *data; struct list_head list; int minor; atomic_t active; int timeleft; }; static struct input_handle *purupuru_connect(struct input_handler *handler, struct input_dev *dev); static struct input_handler purupuru_handler; static int dc_puru_open(struct input_dev *dev) { return 0; } static void dc_puru_close(struct input_dev *dev) { } static int dc_purupuru_connect(struct maple_driver_data *d) { /*unsigned long data = d->function_data; */ struct dc_purupuru *puru; if (!(puru = kmalloc(sizeof(struct dc_purupuru), GFP_KERNEL))) { DEBGM("Memory allocation failure\n"); return -ENOMEM; } memset(puru, 0, sizeof(struct dc_purupuru)); puru->data = d; d->private_data = puru; puru->dev.private = puru; puru->dev.open = dc_puru_open; puru->dev.close = dc_puru_close; puru->dev.name = d->dev->product_name; puru->dev.event = NULL; puru->dev.idbus = BUS_MAPLE; input_register_device(&puru->dev); input_register_handler(&purupuru_handler); puru->minor = ((puru->dev.handle)->handler)->minor; /* Add this device to the list */ list_add_tail(&puru->list, &devices_list); return 0; } static void dc_purupuru_disconnect(struct maple_driver_data *d) { struct dc_purupuru *puru = d->private_data; input_unregister_device(&puru->dev); /* Remove this device from list */ list_del(&puru->list); kfree(puru); } /* static void dc_purupuru_callback(struct maple_driver_data *data) */ /* { */ /* struct mapleq *mq = &data->mq; */ /* int res = mq->recvbuf[0]; */ /* printk */ /* ("Maple reply (%d, %d) cmd=%d => %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d\n", */ /* mq->port, mq->unit, mq->command, res, mq->recvbuf[1], */ /* mq->recvbuf[2], mq->recvbuf[3], mq->recvbuf[4], */ /* mq->recvbuf[5], mq->recvbuf[6], mq->recvbuf[7], */ /* mq->recvbuf[8], mq->recvbuf[9], mq->recvbuf[10], */ /* mq->recvbuf[11]); */ /* } */ static int effect_number = 0; static int puru_ioctl(struct inode *inode, struct file *filip, unsigned int cmd, unsigned long arg) { struct ff_effect *ff_upload; struct ff_replay ff_time; struct dc_puru_effect *new_effect, *entry; struct list_head *ptr; switch (cmd) { case EVIOCGVERSION: return put_user(PPP_VERSION, (int *) arg); case CHECKFUNC: return put_user(FF_RUMBLE | FF_CONSTANT, (int *) arg); case EVIOCGEFFECTS: return put_user(1, (int *) arg); /* Save a FF effect */ case EVIOCSFF: /* * Currently * only supports: * length * */ ff_upload = kmalloc(sizeof(struct ff_effect), GFP_KERNEL); if (ff_upload == NULL) return -ENOMEM; copy_from_user(ff_upload, (void *) arg, sizeof(struct ff_effect)); /* Now get the length */ ff_time = ff_upload->replay; new_effect = kmalloc(sizeof(struct dc_puru_effect), GFP_KERNEL); if (new_effect == NULL) { kfree(ff_upload); return -ENOMEM; } new_effect->length_of_time = ff_time.length; new_effect->sid = effect_number++; list_add_tail(&new_effect->list, &effects_list); /* report the effect number back to the caller */ ff_upload->id = new_effect->sid; copy_to_user(arg, ff_upload, sizeof(struct ff_effect)); kfree(ff_upload); return 0; case EVIOCRMFF: if (list_empty(&effects_list)) return -EINVAL; /* walk through the list */ u16 find_id = (u16) arg; for (ptr = effects_list.next; ptr != &effects_list; ptr = ptr->next) { entry = list_entry(ptr, struct dc_puru_effect, list); if (entry->sid == find_id) { list_del(&entry->list); kfree(entry); return 0; } } return -EINVAL; default: return -1; } } static int puru_open(struct inode *inode, struct file *file) { file->private_data = MINOR(inode->i_rdev); return 0; } static void halt_puru(struct dc_purupuru *puru) { /* Halt the puru device immediately */ struct mapleq *halt = &(puru->data->mq); halt->command = 14; halt->length = 2; ((unsigned long *) (halt->recvbuf))[0] = cpu_to_be32(MAPLE_FUNC_PURUPURU); ((unsigned long *) (halt->recvbuf))[1] = 0x00; halt->sendbuf = halt->recvbuf; if (maple_add_packet(halt) != 0) DEBGM("Could not add packet\n"); } static void play_puru(struct dc_purupuru *puru) { /* Halt the puru device immediately */ struct mapleq *play = &(puru->data->mq); play->command = 14; play->length = 2; ((unsigned long *) (play->recvbuf))[0] = cpu_to_be32(MAPLE_FUNC_PURUPURU); ((unsigned long *) (play->recvbuf))[1] = 0x0000ffff; play->sendbuf = play->recvbuf; if (maple_add_packet(play) != 0) DEBGM("Could not add packet\n"); } /* 'Write' routine to play effects */ static ssize_t puru_play(struct file *file, const char *buffer, size_t count, loff_t * pos) { last_minor = file->private_data; /* buffer is a pointer to an input event */ struct input_event *play = kmalloc(sizeof(struct input_event), GFP_KERNEL); if (play == NULL) return -ENOMEM; memset(play, 0, sizeof(struct input_event)); copy_from_user(play, buffer, sizeof(struct input_event)); if (play->type != EV_FF) { kfree(play); return -EINVAL; } /* Which purupuru device are we playing with? */ struct dc_purupuru *select_me, *puru = NULL; struct list_head *ptr; for (ptr = devices_list.next; ptr != &devices_list; ptr = ptr->next) { select_me = list_entry(ptr, struct dc_purupuru, list); if (select_me->minor == last_minor) { puru = select_me; break; } } if (puru == NULL) { kfree(play); return -ENODEV; } /* Stop? In which case halt the Puru Puru immediately */ if (play->value == 0) { halt_puru(puru); kfree(play); return 0; } /* Walk through the list looking for the desired effect */ u16 find_id = play->code; struct dc_puru_effect *entry; for (ptr = effects_list.next; ptr != &effects_list; ptr = ptr->next) { entry = list_entry(ptr, struct dc_puru_effect, list); if (entry->sid == find_id) { play_puru(puru); /* Set up the timing measurements */ atomic_set(&puru->active, 1); puru->timeleft = entry->length_of_time; kfree(play); return 0; } } kfree(play); return -EINVAL; } void dc_purupuru_wake(struct maple_driver_data *data) { if (last_jiffies == -1) { last_jiffies = jiffies; return; } int gap; if (time_before(jiffies, last_jiffies)) { gap = ((jiffies + (0xffffffff - last_jiffies)) * 1000) / HZ; } else gap = ((jiffies - last_jiffies) * 1000) / HZ; last_jiffies = jiffies; /* which Puru Puru packs are active? */ struct dc_purupuru *select_me; struct list_head *ptr; for (ptr = devices_list.next; ptr != &devices_list; ptr = ptr->next) { select_me = list_entry(ptr, struct dc_purupuru, list); if (atomic_read(&select_me->active) == 1) { select_me->timeleft -= gap; if (select_me->timeleft <= 0) { atomic_set(&select_me->active, 0); halt_puru(select_me); } } } return; } /* * Link the maple, input and fops * functions of this driver */ static struct maple_driver dc_purupuru_driver = { function:MAPLE_FUNC_PURUPURU, name:"Puru Puru Pack", connect:dc_purupuru_connect, disconnect:dc_purupuru_disconnect, /* reply:dc_purupuru_callback, */ vblank:dc_purupuru_wake, }; static struct file_operations puru_ops = { owner:THIS_MODULE, ioctl:puru_ioctl, write:puru_play, open:puru_open, }; static struct input_handle *purupuru_connect(struct input_handler *handler, struct input_dev *dev) { struct input_handle *handle; /* Is this a Puru Puru device? */ if (dev->open != dc_puru_open) return NULL; if (!(handle = kmalloc(sizeof(struct input_handle), GFP_KERNEL))) return NULL; memset(handle, 0, sizeof(struct input_handle)); handle->dev = dev; handle->handler = handler; input_open_device(handle); printk(KERN_INFO "purupuru.c: adding Puru Puru Pack input%d\n", dev->number); handler->minor = PURU_MINOR_BASE + dev->number; return handle; } static void purupuru_disconnect(struct input_handle *handle) { input_close_device(handle); kfree(handle); } static struct input_handler purupuru_handler = { connect:purupuru_connect, disconnect:purupuru_disconnect, fops:&puru_ops, minor:PURU_MINOR_BASE, }; static int __init dc_purupuru_init(void) { maple_register_driver(&dc_purupuru_driver); printk("Puru Puru Pack driver for Dreamcast Linux version 0.1\n"); return 0; } static void __exit dc_purupuru_exit(void) { struct list_head *ptr = NULL; struct list_head *nxt = NULL; struct dc_puru_effect *effect; maple_unregister_driver(&dc_purupuru_driver); input_unregister_handler(&purupuru_handler); if (!list_empty(&effects_list)) { list_for_each_safe(ptr, nxt, &effects_list) { effect = list_entry(ptr, struct dc_puru_effect, list); if (effect) { list_del(&(effect->list)); kfree(effect); } } } } module_init(dc_purupuru_init); module_exit(dc_purupuru_exit); MODULE_AUTHOR("Adrian McMenamin <ad...@mc...>"); MODULE_DESCRIPTION("SEGA Dreamcast purupuru driver"); |
From: Franz S. <Fra...@la...> - 2002-02-20 18:20:16
|
At 19:01 20.02.2002, James Simmons wrote: > > >Sorry about the delay. Actually please add it. I need it for various > > >embedded devices. > > > > OK, fine. I only urged a bit cause I'll be on vacation next week and the > > users kept bitching on me :-). Now if only could get Vojtech to update > > utils/scancodes.h... :-)) > >I added those keycodes. As for scancodes.h what do you need? Well, my problem is that scancodes.h is supposed to be the reference for the various key translation tables, but if I use gencodes.c to regenerate the tables some differences show up that suggest some tables were hand-modified without updating scancodes.h. So if I blindly regenerate the tables, some mappings might get lost. Franz. |
From: James S. <jsi...@tr...> - 2002-02-20 18:01:56
|
> >Sorry about the delay. Actually please add it. I need it for various > >embedded devices. > > OK, fine. I only urged a bit cause I'll be on vacation next week and the > users kept bitching on me :-). Now if only could get Vojtech to update > utils/scancodes.h... :-)) I added those keycodes. As for scancodes.h what do you need? P.S Vojtech we are going to run out of space for key defines. What are we going to do? |
From: Franz S. <Fra...@la...> - 2002-02-20 17:04:41
|
At 17:47 20.02.2002, James Simmons wrote: > > >Hi, > > > > > >can I add > > > > > >#define KEY_BRIGHTNESSDOWN 224 > > >#define KEY_BRIGHTNESSUP 225 > > > > > >to input.h? > > > > Well, nobody objects, so I'll commit it today evening. > >Sorry about the delay. Actually please add it. I need it for various >embedded devices. OK, fine. I only urged a bit cause I'll be on vacation next week and the users kept bitching on me :-). Now if only could get Vojtech to update utils/scancodes.h... :-)) Franz. |
From: James S. <jsi...@tr...> - 2002-02-20 16:47:20
|
> >Hi, > > > >can I add > > > >#define KEY_BRIGHTNESSDOWN 224 > >#define KEY_BRIGHTNESSUP 225 > > > >to input.h? > > Well, nobody objects, so I'll commit it today evening. Sorry about the delay. Actually please add it. I need it for various embedded devices. |
From: Franz S. <Fra...@la...> - 2002-02-20 11:06:58
|
At 23:26 16.02.2002, Franz Sirl wrote: >Hi, > >can I add > >#define KEY_BRIGHTNESSDOWN 224 >#define KEY_BRIGHTNESSUP 225 > >to input.h? Well, nobody objects, so I'll commit it today evening. Franz. |
From: M. R. B. <mr...@0x...> - 2002-02-19 09:12:04
|
* Johann Deneux <jo...@do...> on Tue, Feb 19, 2002: > On Mon, 18 Feb 2002, Adrian McMenamin wrote: >=20 > > Don't know whether it's appropriate to post code to this list - and any= way=20 > > this is a bit specialised - but have just released for testing the code= for a=20 > > force feedback "Puru Puru" (rumble) Pack driver for Linux on the SEGA= =20 > > Dreamcast. > >=20 > > Anybody want to see it? Email me - or I can post it to the list if peop= le=20 > > *really* want it. >=20 > Sure, adding support for a device is allways nice. >=20 Actually, this will live in the linux-sh-dc tree at http://sf.net/projects/linuxdc for awhile, so it can get proper testing, etc. Then I'll move it into ruby, unless you want to take care of it directly. I haven't been moving any Dreamcast stuff to ruby yet, since our tree still hasn't split for 2.5.x (which is part of the reason why the pvr2fb driver is bit-rotting as we speak ;). Right now, you may want to make sure it's utilizing the 2.4.x FF API correctly. M. R. |
From: Johann D. <jo...@do...> - 2002-02-19 09:02:36
|
On Mon, 18 Feb 2002, Adrian McMenamin wrote: > Don't know whether it's appropriate to post code to this list - and anyway > this is a bit specialised - but have just released for testing the code for a > force feedback "Puru Puru" (rumble) Pack driver for Linux on the SEGA > Dreamcast. > > Anybody want to see it? Email me - or I can post it to the list if people > *really* want it. Sure, adding support for a device is allways nice. -- Johann Deneux |
From: Adrian M. <ad...@mc...> - 2002-02-18 21:25:55
|
Don't know whether it's appropriate to post code to this list - and anyway this is a bit specialised - but have just released for testing the code for a force feedback "Puru Puru" (rumble) Pack driver for Linux on the SEGA Dreamcast. Anybody want to see it? Email me - or I can post it to the list if people *really* want it. Adrian McMenamin ad...@mc... |