Index: [thread] [date] [subject] [author]
  From: Marcus Sundberg <mackan@stacken.kth.se>
  To  : ggi-develop@eskimo.com
  Date: Fri, 21 May 1999 22:03:50 +0000

Re: Independent Multihead

John Weismiller wrote:
> 
> Hello all,
> 
> I'm trying to chase the independent multi-head thing and although I do not
> have it set up yet, I have 2 matrox millenium cards.
> 
> I also have a bunch of old DEC LK401 keyboards, that I have been hacking
> away at.  So far I have figured out that they run at 4800-8N1, RS423, with
> the Black being the keyboards TX, Yellow as RX, Green as GND and Red as
> +12V.  I have found a good site describing it in better detail at:
> http://www.mit.edu/%7Emcmahill/NetBSD/pmax/LK201/lk201.html
> 
> So far I have tried to run XGGI unsuccessfully with matroxfb on kernel
> v2.2.2.  All that I get is either a blank screen, or a screen that only
> has the blue colour, and lots of other weirdness.  Do I have to upgrade
> stuffs?  Is there a FAQ that covers this?  The card is an original
> millenium I with 2M of video ram.

To run XGGI (and most other apps) on fbdev or SVGAlib targets without
problems you need at least LibGGI 2.0beta2.1.

> What I think I would like to do is create in input driver for GII, and run
> XGGI on the second matrox with the lk401 as the keyboard.
> 
> So, my first real question is this:  Where do I need to do to create an
> input driver and make it compile, etc?  I presume that the easiest
> approach would be to take something like the file input driver and modify
> it to read from the serial port instead?

No, input-file is the last thing you should use as a start for such a
driver.
input-mouse is what I'd use as a first place to look. Basicly you just
have
to replace the parsing and event construction functions.
Also input-linux-mouse is a good place to see how to set up serial
parameters.

> What background info do I need to know to make a successful keyboard driver? 
> I guess I just need to fill out the inp-> structure as in the initialization
> routines?  (I will play around with this some more)

Yep, it's quite simple. If you take input-mouse or input-linux-kbd and
remove all the parsing code you'll see that there really is not much 
code required to write a basic input driver.

I'd start by only filling in the "label" and "button" field of the key 
vents, as those two fields are always the same for any given physical
key.
Then when you have that working you'll need add code to correctly encode
the "modifiers" and "sym" fields.

Also, after a quick look at the URL you provided it seems that you need
to puy all keys in LK_UPDOWN, as that seems to be the only way to get
info about when a key is released.

> Next, what about the GGI part?  I have been looking through the GGI
> source for the fbdev and it seems to want to open the tty that is
> associated with the frame buffer, as well as do a bunch of VT switching
> stuffs.  I don't think that all this would  be wanted if all that I want
> is to run X on a second display.
> 
> Last, who else has been doing stuff with independent multi-head?  Is there
> a FAQ for it?  What web resources, if any, exist?  Should I (try) to set
> up a web site for it?

Actually I don't think anyone has even thought about a userspace-only
independent multihead solution. I'm currently hacking on multihead
support
for the fbdev target, and now I've also tested some independent
multihead.

Unfortunately there seems to be more or less impossible to get
neither of them working in a reliable way. fbcon is simply way
to broken, and it's not even broken in a consistent way...
I'll keep on hacking though, and at least it will be possible to
use one fbcon visual and one SVGAlib visual, with both independent
and normal multihead.

But for really working multihead it seems like we'll have to wait
for KGI 0.9.

//Marcus
-- 
-------------------------------+------------------------------------
        Marcus Sundberg        | http://www.stacken.kth.se/~mackan/
 Royal Institute of Technology |       Phone: +46 707 295404
       Stockholm, Sweden       |   E-Mail: mackan@stacken.kth.se

Index: [thread] [date] [subject] [author]