Shop OBEX P1 Docs P2 Docs Learn Events
Almost free keyboard for portable prop? - Page 2 — Parallax Forums

Almost free keyboard for portable prop?

24

Comments

  • BeanBean Posts: 8,129
    edited 2008-01-24 02:20
    Yeah I took one of mine apart too.

    I think the only way to fit a propeller inside is to create new PCB with all the key connections on the back side and the prop on the top.

    I don't know how to get power for it though... No way of fitting even AAA batteries inside. Hmmmmm.

    Bean.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    www.iElectronicDesigns.com

    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2008-01-24 02:30
    The front side is just the fingered contacts for the switches, I didn't peel it off all the way because I didn't want to get it misaligned, but there is a slight lip to the rubber so you hould be able to reapply. And yes, I picked up a 10 pack.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-01-24 03:34
    Got it talking under PropCOMM/(Full Duplex Serial) with the following:

    ser.start(serRecv,serXmit,1,9600)

    Who's getting the job of writing an object for this?

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Getting started with the Protoboard? - Propeller Cookbook
    Got an SD card? - PropDOS
    A Living Propeller FAQ - The Propeller Wiki
    (Got the Knowledge? Got a Moment? Add something today!)

  • HarleyHarley Posts: 997
    edited 2008-01-24 07:30
    Oldbitcollector said...

    Who's getting the job of writing an object for this?

    Well, who'se doling it out?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Harley Shanko
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-01-24 13:45
    I'll start re-engineering "Full Duplex Serial" tonight and see if I can get a working drop-in replacement for "keyboard"

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Getting started with the Protoboard? - Propeller Cookbook
    Got an SD card? - PropDOS
    A Living Propeller FAQ - The Propeller Wiki
    (Got the Knowledge? Got a Moment? Add something today!)

  • BeanBean Posts: 8,129
    edited 2008-01-24 15:07
    OBC,
    I LOVE your avatar. But where is the disclaimer "Professional Stuntman, do not attempt" [noparse];)[/noparse]

    What we need is an easy way of making connection to the pins. Any ideas ?

    Bean.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    www.iElectronicDesigns.com

    ·
  • RaymanRayman Posts: 14,885
    edited 2008-01-24 15:59
    I'm thinking about RJ11 or DB9...
    But, maybe I'll just solder a 3-pin header to the circuit board...

    Post Edited (Rayman) : 1/24/2008 4:21:25 PM GMT
  • RaymanRayman Posts: 14,885
    edited 2008-01-24 16:37
    I've decompiled some of the PRC driver...· Here's one thing I just found:
    Key Functions Definition
    Application keys The Date/Apps, Phone/Menu, ToDo/Calc and Memo/Find keys are preprogrammed shortcut keys on the lower side of the keyboard.
    Button shortcuts
    Fn-Q 1 Fn-F -
    Fn-W 2 Fn-G =
    Fn-E 3 Fn-H :
    Fn-R 4 Fn-J '
    Fn-T 5 Fn-K "
    Fn-Y 6 Fn-L @
    Fn-U 7 Fn-Z $
    Fn-I 8 Fn-X (
    Fn-O 9 Fn-C )
    Fn-P 0 Fn-V ?
    Fn-A * Fn-B !
    Fn-S / Fn-N ,
    Fn-D + Fn-M .
    *Fn+Space --> A letter can be a capital letter. (Caps Lock)
    
    

    Maybe not terribly helpful..
  • RaymanRayman Posts: 14,885
    edited 2008-01-24 18:17
    I've disassembled the Palm driver and found the important section (attached).

    Here's some translation...

    First, subtract 16 ($10 in hex) from the code.
    If ==0 then goto L762· (the "Q" button pushed !)
    subtract 1
    if ==0 then goto L780

    ....

    L762:
    Is·function is active?·
    · Yes:· move 49 (Ascii code for "1") into D3· and jump to L792
    · No:· Is cap lock active?
    ····· No:· move 81 (Ascii code for "Q") into D3 and jump to L792
    ····· Yes:· move 113 (ascii code for "q") into D3 and jump to L792

    ....

    L792:
    · send key code·to system
  • HarleyHarley Posts: 997
    edited 2008-01-24 20:55
    FYI,

    The serial stream idles at 0v. Therefore FDS mode s/b '0001' for 'invert rx'.

    Even though I'd been scoping it, "Could have had a V8" time (slaps forehead).

    ProtoBoard now displaying (TV) codes per Mike Cook list. yeah.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Harley Shanko
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-01-24 22:19
    @Bean: Thanks: Title added...

    I've found what I think is a decent way to connect it. I'm a PC tech by day, so I've got lots
    of PC junk laying around. (just ask Wizard, he also works in my shop) so I figured
    I'll put a female CDROM header on my protoboard. (liberated from a dead soundcard)
    and use a CD audio cable (three small wires with the proper end) to link my keyboard
    to my protoboard. (say pin 6) and it will give me a quick disconnect when I don't want
    to use it.

    Spiffy?

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Getting started with the Protoboard? - Propeller Cookbook
    Got an SD card? - PropDOS
    A Living Propeller FAQ - The Propeller Wiki
    (Got the Knowledge? Got a Moment? Add something today!)

  • John AbshierJohn Abshier Posts: 1,116
    edited 2008-01-25 01:47
    The larger table of keycodes pasted on 1/19/2008 8:36 AM (GMT -8) has RT and LF reversed.
  • John AbshierJohn Abshier Posts: 1,116
    edited 2008-01-25 02:54
    I have a start at reading the keyboard.· I am interested in people's opinion on the use of the Fn and Caps.· Are they sticky.· The code below uses the Fn key to swith to the blue characters until the Fn key is pressed again.· Fn followed by Space gives capital letters until the Fn key is pressed

    [noparse][[/noparse]code]

    Con
    · DATA· = 7
    · _clkmode = xtal1 + pll16x
    · _xinfreq = 5_000_000
    · #0, lc, fn, caps
    OBJ
    · tv· : "TV_Text"
    · sio : "FullDuplexSerial"
    VAR
    · long char, junk1, junk2, state, idx, outchar
    PUB Main·
    · tv.start(12)
    · sio.start(DATA, -1, 1, 9600)
    · state := lc
    · repeat
    ··· tv.out($00)
    ··· tv.str(string("Type a char", 13))
    ··· case state
    ····· lc:
    ······· ReadChars
    ······· if char == $1
    ········· state := fn
    ······· else
    ········· idx := lookdown(char: $10, $11, $12, $13, $6B)
    ········· outchar := lookup(idx: "qwert")
    ····· fn:
    ······· ReadChars
    ······· if char == $19
    ········· state := caps
    ······· elseif char == $01
    ········· state := lc
    ······· else
    ········· idx :=· lookdown(char: $10, $11, $12, $13, $6B)
    ········· outchar := lookup(idx: "12345" )
    ····· caps:
    ······· ReadChars
    ······· if char == $1
    ········· state := lc
    ······· else
    ········· idx := lookdown(char: $10, $11, $12, $13, $6B)
    ········· outchar := lookup(idx: "QWERT")······
    ··· tv.str(string("the character is:· "))
    ··· tv.out(outchar)···
    ··· waitcnt(CLKFREQ· + cnt)

    Pri ReadChars
    ··· char := sio.rx
    ··· junk1 := sio.rx
    ··· junk2 := sio.rx
    ··· tv.hex(char, 2)
    ··· tv.out(13)
    ··· tv.hex(junk1, 2)
    ··· tv.out(13)
    ··· tv.hex(junk2, 2)
    ··· tv.out(13)
    ··· return
    [noparse][[/noparse]/code]
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-01-25 03:37
    Here's my own implementation of this, also using FullDuplexSerial

    I like your code better, but I'd love to see it placed inside the a modified
    serial driver. (like I've done) so that we can create a drop-in replacement
    for "Keyboard"

    My version has working UPPERS/lowers, carriage return, space, delete
    I didn't like the idea of a CAPS lock, so my Fn/Caps only works once each
    time it's pressed.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Getting started with the Protoboard? - Propeller Cookbook
    Got an SD card? - PropDOS
    A Living Propeller FAQ - The Propeller Wiki
    (Got the Knowledge? Got a Moment? Add something today!)


  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-01-25 04:16
    I just dropped this Keyboard driver into PropDOS and immediately discovered that I wanted forward and backslashes.. [noparse]:)[/noparse] How about Phone/Todo double as \ & /

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Getting started with the Protoboard? - Propeller Cookbook
    Got an SD card? - PropDOS
    A Living Propeller FAQ - The Propeller Wiki
    (Got the Knowledge? Got a Moment? Add something today!)

  • Paul BakerPaul Baker Posts: 6,351
    edited 2008-01-25 06:20
    John, the way I would expect the Fn key to work is two-fold:

    press and hold - all secondary keypresses are the blue characters until the Fn break is received
    press and release - the next keypress is blue character but subsequent keypreses are normal, if next character is Fn, Fn state is canceled.

    But this is just me.

    Caps would be sticky.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Paul Baker
    Propeller Applications Engineer

    Parallax, Inc.

    Post Edited (Paul Baker (Parallax)) : 1/25/2008 6:32:17 AM GMT
  • Ym2413aYm2413a Posts: 630
    edited 2008-01-25 09:42
    You guys cleaned them out, There aren't anymore keyboards left. *lol*

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Share the knowledge: propeller.wikispaces.com
    Lets make some music: www.andrewarsenault.com/hss

  • rjo_rjo_ Posts: 1,825
    edited 2008-01-25 13:56
    YM

    There are plenty available but they are in safe hands[noparse]:)[/noparse])

    The price went up by 10x from that supplier[noparse]:)[/noparse]

    EBay has some secondary sources but they want an outrageous $3[noparse]:)[/noparse]

    These guys created a futures market in micro keyboards.

    Let them loose on Wall Street and they would be dangerous[noparse]:)[/noparse]

    Rich
  • RaymanRayman Posts: 14,885
    edited 2008-01-25 13:57
    I agree with Paul, but would just add a way to enter a "numlock" mode. I would make pressing the "Fn" twice engage/dissengage numlock, basically inverting the meaning of the Fn button.
  • RaymanRayman Posts: 14,885
    edited 2008-01-25 15:47
    Here's the codes I get from the Palm driver:
  • RaymanRayman Posts: 14,885
    edited 2008-01-25 16:27
    Here's my first draft of a driver for the keypad:
  • John AbshierJohn Abshier Posts: 1,116
    edited 2008-01-25 17:26
    Rayman, looks very good.
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2008-01-25 19:33
    Oldbitcollector said...
    Yup, just got mine today too, opened and getting ready to remove the additional screws that hold the keyboard in..

    I don't think we've got a prayer at getting a prop to fit in here.. pretty tight!
    First thing to go will be the palm connector.

    OBC

    I think extending the case is straight forward. Use two matched strips·of hobby plastic to create your own side panels. 1/32"·thick is probably·good enough for the keyboard half and a strip of 1/16" with an inside strip of 1/32" for the top half. By using two strips you can duplicate the interleaved fillets of the clamshells, and bending 1/32 to fit can be done by hand. Once the strips are laminated together, they should easily hold the clamshell's curves.

    Left to the reader: what to do with the screws.
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-01-25 19:40
    For some reason I'm having trouble visualizing that...
    (Not good with fabrication outside of computers and basic electronics)

    If you do this, please take some pics. [noparse]:)[/noparse]

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Getting started with the Protoboard? - Propeller Cookbook
    Got an SD card? - PropDOS
    A Living Propeller FAQ - The Propeller Wiki
    (Got the Knowledge? Got a Moment? Add something today!)

  • Fred HawkinsFred Hawkins Posts: 997
    edited 2008-01-25 22:53
    lol, I am having trouble doing it. I find I need eleven fingers and four hands. Plus an air feed to save my liver from styrene glue.

    I am now leaning towards tracing the bottom clamshell onto a plank of wood, cutting to the outline, routing the guides and then removing whatever is needed for ciricuits and batteries. Add shellac from a nice retro finish. 3/4 inch too fat? Use thinner wood.
  • MikeKMikeK Posts: 118
    edited 2008-01-25 23:35
    The links at the bottom of this page may be useful
    http://home.att.net/~jacksonharbor/palm.htm

    There's a link to a document that explains the palm keyboard hardware interface.

    Mike
  • Graham StablerGraham Stabler Posts: 2,510
    edited 2008-01-26 10:09
    I've a friend with a laser cutter itching to do some cutting, I'll ask him if he would be prepared to make a cut out for the keyboard, one which could then be mounted into any box one wanted. Then you don't have to worry about connectors etc and you can have plenty of room for the flip up oled etc [noparse]:)[/noparse]

    Mine are in the air at the moment.

    Graham
  • BeanBean Posts: 8,129
    edited 2008-01-26 14:13
    My goal is to make a very small device that can be programmed in femtobasic.

    Any ideas how to get coordinates of the buttons from the existing PCB ?

    I though about scanning it but I don't know of any programs that will show the X,Y coordinates on the screen. And I don't know how accurate a scanner is ? I mean is 300 DPI REALLY 300 pixels per inch ?

    Let me know if you have any ideas. I'm make the keyboard layout public when I get it made.

    Bean

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    www.iElectronicDesigns.com

    ·
  • Oldbitcollector (Jeff)Oldbitcollector (Jeff) Posts: 8,091
    edited 2008-01-26 18:01
    You should be able to get really close, as long as you don't use the Microsoft scanner wizard. It tends to make things slightly larger. Try the software that comes with your scanner first.

    OBC

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    New to the Propeller?

    Getting started with the Protoboard? - Propeller Cookbook
    Got an SD card? - PropDOS
    A Living Propeller FAQ - The Propeller Wiki
    (Got the Knowledge? Got a Moment? Add something today!)

  • RaymanRayman Posts: 14,885
    edited 2008-01-26 18:28
    I often scan things alongside a clear plastic ruler to ensure accurate measurements...
Sign In or Register to comment.