public inbox for speakup@linux-speakup.org
 help / color / mirror / Atom feed
* development questions
@  Chris Peterson
   ` Kirk Reiser
  0 siblings, 1 reply; 15+ messages in thread
From: Chris Peterson @  UTC (permalink / raw)
  To: speakup

[-- Attachment #1: Type: text/plain, Size: 1347 bytes --]

Hello,

I don't even have speakup installed yet, but I've been looking through the sourcecode and documentation to try to understand how this all works.

I've programmed in C, but mostly in dos/windows so I'm not familiar with kernel programming in Linux, but perhaps someone can bring me up to speed and perhaps I can assist with speakup development when I have a better understanding of what is going on.

After looking through the source, I'm unclear as to where the main entry point to speakup actually is.  There must be a process running that controls everything (i.e. speaks when new text is written to video...etc.)  Can someone explain exactly what functions are called where so I can better understand this?

Also, after looking at the keymap for speakup, and reading the man pages for loadkeys, dumpkeys...etc, I have a question that I haven't found the answer to as of yet.  Some of the key definitions for speakup refer to hex addresses which I believe are the addresses of functions to be called when the keys are pressed (such as moving to the previous or next word).  How are those addresses determined?  If one wanted to add more functions that could be bound to keys, how would one determine the addresses of those functions to write them into the keymap?

Thanks and I hope I haven't caused to many headaches,
Chris

[-- Attachment #2: Type: text/html, Size: 2208 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
   development questions Chris Peterson
@  ` Kirk Reiser
     ` Chris Peterson
  0 siblings, 1 reply; 15+ messages in thread
From: Kirk Reiser @  UTC (permalink / raw)
  To: speakup

Well, the best way to start is to install speakup into a kernel and
start using it.  You can find out about the keymap by reading the
keymap tutorial in /usr/src/linux/Documentation/speakup.  Basically
there are hooks into the various portions of the kernel which provide
the input or output to the various components of speakup.  There is no
single entry point so to speak.  Remember, these are kernel patches
and so it does not work as a stand alone program might.

good luck.
  Kirk

-- 

Kirk Reiser				The Computer Braille Facility
e-mail: kirk@braille.uwo.ca		University of Western Ontario
phone: (519) 661-3061


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
   ` Kirk Reiser
@    ` Chris Peterson
       ` rmann
                       ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Chris Peterson @  UTC (permalink / raw)
  To: speakup

----- Original Message -----
From: "Kirk Reiser" <kirk@braille.uwo.ca>
To: <speakup@braille.uwo.ca>
Sent: Saturday, January 26, 2002 5:38 PM
Subject: Re: development questions


> Well, the best way to start is to install speakup into a kernel and
> start using it.  You can find out about the keymap by reading the

I'm waiting for my doubletalk pc to come so I can do that.  Btw, is there
any plan to write a driver for the doubletalk lt?

> keymap tutorial in /usr/src/linux/Documentation/speakup.  Basically

>The following is from that tutorial:
>keycode  72 = 0x0d0a
> altgr keycode 72 = 0x0d20
>#keycode  72 = KP_8
> alt     keycode  72 = Ascii_8
>
>Notice that the only thing which has changed on the first line is the
>function called when the key is struck.  It is a hexadecimal number
>identifying the function called in a look up table.  It is not a
>symbolic representation yet because that means we need to change the
>loadkeys program to understand our symbolic names.  We will do this in
>the future but for now it is more expedient to just use the table
>indices.  You will find a table at the bottom of this document
>listing the review functions and their corresponding hex lookups.


Okay, so where is that lookup table stored?  I can read the one at the botom
of the tutorial, but I want to know where this is actually stored so I can
understand how to add my own functions to it.  Perhaps I didn't phrase my
initial question well or I had to many questions in one message.

Thanks,
Chris




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
     ` Chris Peterson
@      ` rmann
       ` Thomas Ward
                       ` (4 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: rmann @  UTC (permalink / raw)
  To: speakup

Speakup already supports the Doubletalk LT.

On Sat, 26 Jan 2002, Chris Peterson wrote:

>
> ----- Original Message -----
> From: "Kirk Reiser" <kirk@braille.uwo.ca>
> To: <speakup@braille.uwo.ca>
> Sent: Saturday, January 26, 2002 5:38 PM
> Subject: Re: development questions
>
>
> > Well, the best way to start is to install speakup into a kernel and
> > start using it.  You can find out about the keymap by reading the
>
> I'm waiting for my doubletalk pc to come so I can do that.  Btw, is there
> any plan to write a driver for the doubletalk lt?
>
> > keymap tutorial in /usr/src/linux/Documentation/speakup.  Basically
>
> >The following is from that tutorial:
> >keycode  72 = 0x0d0a
> > altgr keycode 72 = 0x0d20
> >#keycode  72 = KP_8
> > alt     keycode  72 = Ascii_8
> >
> >Notice that the only thing which has changed on the first line is the
> >function called when the key is struck.  It is a hexadecimal number
> >identifying the function called in a look up table.  It is not a
> >symbolic representation yet because that means we need to change the
> >loadkeys program to understand our symbolic names.  We will do this in
> >the future but for now it is more expedient to just use the table
> >indices.  You will find a table at the bottom of this document
> >listing the review functions and their corresponding hex lookups.
>
>
> Okay, so where is that lookup table stored?  I can read the one at the botom
> of the tutorial, but I want to know where this is actually stored so I can
> understand how to add my own functions to it.  Perhaps I didn't phrase my
> initial question well or I had to many questions in one message.
>
> Thanks,
> Chris
>
>
>
> _______________________________________________
> Speakup mailing list
> Speakup@braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup
>



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
     ` Chris Peterson
       ` rmann
@      ` Thomas Ward
         ` Chris Peterson
       ` Kirk Reiser
                       ` (3 subsequent siblings)
  5 siblings, 1 reply; 15+ messages in thread
From: Thomas Ward @  UTC (permalink / raw)
  To: speakup

There is a Double Talk LT driver already.

----- Original Message -----
From: Chris Peterson <capeterson@visi.com>
To: <speakup@braille.uwo.ca>
Sent: Saturday, January 26, 2002 8:30 PM
Subject: Re: development questions


>
> ----- Original Message -----
> From: "Kirk Reiser" <kirk@braille.uwo.ca>
> To: <speakup@braille.uwo.ca>
> Sent: Saturday, January 26, 2002 5:38 PM
> Subject: Re: development questions
>
>
> > Well, the best way to start is to install speakup into a kernel and
> > start using it.  You can find out about the keymap by reading the
>
> I'm waiting for my doubletalk pc to come so I can do that.  Btw, is there
> any plan to write a driver for the doubletalk lt?
>
> > keymap tutorial in /usr/src/linux/Documentation/speakup.  Basically
>
> >The following is from that tutorial:
> >keycode  72 = 0x0d0a
> > altgr keycode 72 = 0x0d20
> >#keycode  72 = KP_8
> > alt     keycode  72 = Ascii_8
> >
> >Notice that the only thing which has changed on the first line is the
> >function called when the key is struck.  It is a hexadecimal number
> >identifying the function called in a look up table.  It is not a
> >symbolic representation yet because that means we need to change the
> >loadkeys program to understand our symbolic names.  We will do this in
> >the future but for now it is more expedient to just use the table
> >indices.  You will find a table at the bottom of this document
> >listing the review functions and their corresponding hex lookups.
>
>
> Okay, so where is that lookup table stored?  I can read the one at the
botom
> of the tutorial, but I want to know where this is actually stored so I can
> understand how to add my own functions to it.  Perhaps I didn't phrase my
> initial question well or I had to many questions in one message.
>
> Thanks,
> Chris
>
>
>
> _______________________________________________
> Speakup mailing list
> Speakup@braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup
>



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
     ` Chris Peterson
       ` rmann
       ` Thomas Ward
@      ` Kirk Reiser
         ` Chris Peterson
         ` Angelo Sonnesso
       ` Geoff Shang
                       ` (2 subsequent siblings)
  5 siblings, 2 replies; 15+ messages in thread
From: Kirk Reiser @  UTC (permalink / raw)
  To: speakup

"Chris Peterson" <capeterson@visi.com> writes:

> I'm waiting for my doubletalk pc to come so I can do that.  Btw, is there
> any plan to write a driver for the doubletalk lt?
As another person has pointed out the DoubleTalk lt is already covered
> by the LiteTalk driver speakup_ltlk.c.

> Okay, so where is that lookup table stored?  I can read the one at the botom
> of the tutorial, but I want to know where this is actually stored so I can
> understand how to add my own functions to it.  Perhaps I didn't phrase my
> initial question well or I had to many questions in one message.

That tutorial is quite out of date but it covers the basic issues
still quite well.  We don't use loadspk/dumpspk anymore.  That
functionally is totally handled by the /proc filesystem these days.  I
am pretty sure the tutorial states that the actual declarations are in
speakup.h.  Which is where they are.  There was also an article I
wrote a few years ago about how to write functions to be included but
I don't seem to be able to find it.  What functions do you want added?
How much experience do you have kernel coding?  I am not trying to
discourage you but there are things which will bite you in the ass if
you aren't good and familiar with kernel issues.  We can always use
extra hands though so if you're willin to put in the work it will be
nice having you on board.  I also recommend you get on the reflector
if that is the case.  If you don't know about the reflector, then I
recommend you read the web site at linux-speakup.org.  It would have
told you the lt was covered as well.

  Kirk

-- 

Kirk Reiser				The Computer Braille Facility
e-mail: kirk@braille.uwo.ca		University of Western Ontario
phone: (519) 661-3061


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
     ` Chris Peterson
                       ` (2 preceding siblings ...)
       ` Kirk Reiser
@      ` Geoff Shang
       ` Buddy Brannan
       ` Kirk Wood
  5 siblings, 0 replies; 15+ messages in thread
From: Geoff Shang @  UTC (permalink / raw)
  To: speakup

On Sat, 26 Jan 2002, Chris Peterson wrote:

> I'm waiting for my doubletalk pc to come so I can do that.  Btw, is there
> any plan to write a driver for the doubletalk lt?

The doubletalk lt was about the 3rd synth ever supported.  The doubletalk
lt and litetalk use the same driver, keyword ltlk.

Geoff.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
       ` Thomas Ward
@        ` Chris Peterson
  0 siblings, 0 replies; 15+ messages in thread
From: Chris Peterson @  UTC (permalink / raw)
  To: speakup

Yeah, I found it...  I might see if I can still change my order...

Chris



----- Original Message -----
From: "Thomas Ward" <tward@bright.net>
To: <speakup@braille.uwo.ca>
Sent: Saturday, January 26, 2002 8:23 PM
Subject: Re: development questions


> There is a Double Talk LT driver already.
>
> ----- Original Message -----
> From: Chris Peterson <capeterson@visi.com>
> To: <speakup@braille.uwo.ca>
> Sent: Saturday, January 26, 2002 8:30 PM
> Subject: Re: development questions
>
>
> >
> > ----- Original Message -----
> > From: "Kirk Reiser" <kirk@braille.uwo.ca>
> > To: <speakup@braille.uwo.ca>
> > Sent: Saturday, January 26, 2002 5:38 PM
> > Subject: Re: development questions
> >
> >
> > > Well, the best way to start is to install speakup into a kernel and
> > > start using it.  You can find out about the keymap by reading the
> >
> > I'm waiting for my doubletalk pc to come so I can do that.  Btw, is
there
> > any plan to write a driver for the doubletalk lt?
> >
> > > keymap tutorial in /usr/src/linux/Documentation/speakup.  Basically
> >
> > >The following is from that tutorial:
> > >keycode  72 = 0x0d0a
> > > altgr keycode 72 = 0x0d20
> > >#keycode  72 = KP_8
> > > alt     keycode  72 = Ascii_8
> > >
> > >Notice that the only thing which has changed on the first line is the
> > >function called when the key is struck.  It is a hexadecimal number
> > >identifying the function called in a look up table.  It is not a
> > >symbolic representation yet because that means we need to change the
> > >loadkeys program to understand our symbolic names.  We will do this in
> > >the future but for now it is more expedient to just use the table
> > >indices.  You will find a table at the bottom of this document
> > >listing the review functions and their corresponding hex lookups.
> >
> >
> > Okay, so where is that lookup table stored?  I can read the one at the
> botom
> > of the tutorial, but I want to know where this is actually stored so I
can
> > understand how to add my own functions to it.  Perhaps I didn't phrase
my
> > initial question well or I had to many questions in one message.
> >
> > Thanks,
> > Chris
> >
> >
> >
> > _______________________________________________
> > Speakup mailing list
> > Speakup@braille.uwo.ca
> > http://speech.braille.uwo.ca/mailman/listinfo/speakup
> >
>
>
> _______________________________________________
> Speakup mailing list
> Speakup@braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup
>
>




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
       ` Kirk Reiser
@        ` Chris Peterson
         ` Angelo Sonnesso
  1 sibling, 0 replies; 15+ messages in thread
From: Chris Peterson @  UTC (permalink / raw)
  To: speakup

> That tutorial is quite out of date but it covers the basic issues
> still quite well.  We don't use loadspk/dumpspk anymore.  That
> functionally is totally handled by the /proc filesystem these days.  I
> am pretty sure the tutorial states that the actual declarations are in
> speakup.h.  Which is where they are.  There was also an article I

I'll go back through it and look, but I didn't see it the two or three times
I read that over.

> wrote a few years ago about how to write functions to be included but
> I don't seem to be able to find it.  What functions do you want added?

I'm not sure what I want added, if anything...  I was just curious to know
how it worked.  I have no experience with kernel coding, but this seemed
like as good a reason to learn as anything.

> How much experience do you have kernel coding?  I am not trying to
> discourage you but there are things which will bite you in the ass if
> you aren't good and familiar with kernel issues.  We can always use

I don't doubt that, but it is good to learn these things...  I'm in my last
semester of a computer science degree and, while I'm in the habit of
studying, I figured I might as well learn about some of this stuff.

> extra hands though so if you're willin to put in the work it will be
> nice having you on board.  I also recommend you get on the reflector
> if that is the case.  If you don't know about the reflector, then I

I know about the reflecter, and I'm pleased to know about others using
SpeakFreely.  Some friends and I run a reflecter on fox.sector14.net:2074
for our own enjoyment.  Its a great tool, but the university just put in nat
to the dorms so I've been cut off from SpeakFreely until I can set up a VPN
to the outside or something else.  I tried using SSH port forwarding, but
that didn't work so now I'm going to try a pptp connection to a friends box
to get a clear shot out the firewall.  I just have to wait for him to set up
his machine to do it.

Thanks again and I'm sure that after I've learned a little more about how
the kernel is put together, I'll probably be able to be of some help to you.

Chris





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
     ` Chris Peterson
                       ` (3 preceding siblings ...)
       ` Geoff Shang
@      ` Buddy Brannan
         ` Thomas Ward
       ` Kirk Wood
  5 siblings, 1 reply; 15+ messages in thread
From: Buddy Brannan @  UTC (permalink / raw)
  To: speakup

The Doubletalk LT already works with Speakup.

Sorry, can't help you with how the kernel patch works, but the keypad
is easy to redefine...I have one that uses two sections of the
keyboard with the right alt key for use with my laptop. 
-- 
Buddy Brannan, KB5ELV/3  | I choose you to take up all of my time.
Email: davros@ycardz.com | I choose you because you're funny and kind
                         | I want easy people from now on.
                         | --the Nields


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
     ` Chris Peterson
                       ` (4 preceding siblings ...)
       ` Buddy Brannan
@      ` Kirk Wood
  5 siblings, 0 replies; 15+ messages in thread
From: Kirk Wood @  UTC (permalink / raw)
  To: speakup

> I'm waiting for my doubletalk pc to come so I can do that.  Btw, is there
> any plan to write a driver for the doubletalk lt?

Already done, many are in use.

=======
Kirk Wood
Cpt.Kirk@1tree.net

Nowlan's Theory:
        He who hesitates is not only lost, but several miles from
        the next freeway exit.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
       ` Kirk Reiser
         ` Chris Peterson
@        ` Angelo Sonnesso
           ` Geoff Shang
           ` Gregory Nowak
  1 sibling, 2 replies; 15+ messages in thread
From: Angelo Sonnesso @  UTC (permalink / raw)
  To: speakup

Is there any documentation explaining how to change speakup speech
parameters?

 We don't use loadspk/dumpspk anymore.  That
> functionally is totally handled by the /proc filesystem these days.  I
> am pretty sure the tutorial states that the actual declarations are in
> speakup.h.  Which is where they are.  There was also an article I
> wrote a few years ago about how to write functions to be included but
> I don't seem to be able to find it.  What functions do you want added?
> How much experience do you have kernel coding?  I am not trying to
> discourage you but there are things which will bite you in the ass if
> you aren't good and familiar with kernel issues.  We can always use
> extra hands though so if you're willin to put in the work it will be
> nice having you on board.  I also recommend you get on the reflector
> if that is the case.  If you don't know about the reflector, then I
> recommend you read the web site at linux-speakup.org.  It would have
> told you the lt was covered as well.
>
>   Kirk
>
> --
>
> Kirk Reiser The Computer Braille Facility
> e-mail: kirk@braille.uwo.ca University of Western Ontario
> phone: (519) 661-3061
>
> _______________________________________________
> Speakup mailing list
> Speakup@braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup
>



^ permalink raw reply	[flat|nested] 15+ messages in thread

* development questions
       ` Buddy Brannan
@        ` Thomas Ward
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Ward @  UTC (permalink / raw)
  To: speakup

You wrote:

but the keypad
is easy to redefine...I have one that uses two sections of the
keyboard with the right alt key for use with my laptop.
--

Hi, could anyone explain this in simple terms? The keymap howto on the
Speakup site is totally unusible. If anyone would be willing to work with
me, and explain step by step how to creat my own personal keymap I would be
quite thankful.







^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
         ` Angelo Sonnesso
@          ` Geoff Shang
           ` Gregory Nowak
  1 sibling, 0 replies; 15+ messages in thread
From: Geoff Shang @  UTC (permalink / raw)
  To: speakup

On Sun, 27 Jan 2002, Angelo Sonnesso wrote:

> Is there any documentation explaining how to change speakup speech
> parameters?

Not that I know of, but it's generally pretty self explanatory.   Go into
/proc/speakup and you'll find a whole bunch of files.   Some contain
parameters, some contain strings to be sent to the synth, and some contain
values that control speakup directly.  Particularly be carefull with
messing with anything in the synth specific directory as you can seriously
lock up your machine if you fiddle with settings such as jiffy_delta.

These files act just like normal files.  To read a value, cat the file or
view it in a pager like more.  To change a value, write to the file (e.g.
echo 5 >/proc/speakup/pitch ).  Speakup should cope OK if you give it
values that are out of range.

Geoff.




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: development questions
         ` Angelo Sonnesso
           ` Geoff Shang
@          ` Gregory Nowak
  1 sibling, 0 replies; 15+ messages in thread
From: Gregory Nowak @  UTC (permalink / raw)
  To: speakup

Look at /proc/speakup, and play with the files there. It should give you an idea of how it works.

For example, to find out what your volume setting is, do the following without the quotes:
"cat /proc/speakup/volume"

To change the volume, say to 4, do:
"echo 4 >/proc/speakup/volume"
. Hth.
Greg


On Sun, Jan 27, 2002 at 07:09:50AM -0500, Angelo Sonnesso wrote:
> Is there any documentation explaining how to change speakup speech
> parameters?
> 
>  We don't use loadspk/dumpspk anymore.  That
> > functionally is totally handled by the /proc filesystem these days.  I
> > am pretty sure the tutorial states that the actual declarations are in
> > speakup.h.  Which is where they are.  There was also an article I
> > wrote a few years ago about how to write functions to be included but
> > I don't seem to be able to find it.  What functions do you want added?
> > How much experience do you have kernel coding?  I am not trying to
> > discourage you but there are things which will bite you in the ass if
> > you aren't good and familiar with kernel issues.  We can always use
> > extra hands though so if you're willin to put in the work it will be
> > nice having you on board.  I also recommend you get on the reflector
> > if that is the case.  If you don't know about the reflector, then I
> > recommend you read the web site at linux-speakup.org.  It would have
> > told you the lt was covered as well.
> >
> >   Kirk
> >
> > --
> >
> > Kirk Reiser The Computer Braille Facility
> > e-mail: kirk@braille.uwo.ca University of Western Ontario
> > phone: (519) 661-3061
> >
> > _______________________________________________
> > Speakup mailing list
> > Speakup@braille.uwo.ca
> > http://speech.braille.uwo.ca/mailman/listinfo/speakup
> >
> 
> 
> _______________________________________________
> Speakup mailing list
> Speakup@braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~ UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
 development questions Chris Peterson
 ` Kirk Reiser
   ` Chris Peterson
     ` rmann
     ` Thomas Ward
       ` Chris Peterson
     ` Kirk Reiser
       ` Chris Peterson
       ` Angelo Sonnesso
         ` Geoff Shang
         ` Gregory Nowak
     ` Geoff Shang
     ` Buddy Brannan
       ` Thomas Ward
     ` Kirk Wood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).