Author Topic: Televideo Terminal Keyboard - Hardwired Version  (Read 5788 times)

0 Members and 1 Guest are viewing this topic.

Offline Tarzan_

  • Thread Starter
  • Posts: 28
Televideo Terminal Keyboard - Hardwired Version
« on: Wed, 16 October 2013, 09:03:03 »
Thread to document the process of modifying a Televideo terminal keyboard to use a Teensy controller - AKA the lowpoly method.  The Televideo keyboard I'm using as a project foundation uses complicated linear Futuba switches and SS-profile keycaps. 
39419-0
(http://en.wikipedia.org/wiki/TeleVideo)

Progress to date:
a. Desoldered switches/removed stock PCB
39421-1

b. Painted stock plate
39423-2

c. Lubed and replaced switches
39425-3

d. Retr0brited case
e. Wired rows with diodes
39427-439429-5
39431-639433-7

f. Wired columns
39435-839437-9
« Last Edit: Wed, 16 October 2013, 11:28:01 by Tarzan »

Offline SpAmRaY

  • NOT a Moderator
  • * Certified Spammer
  • Posts: 14667
  • Location: ¯\(°_o)/¯
  • because reasons.......
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #1 on: Wed, 16 October 2013, 09:14:45 »
http://geekhack.org/index.php?topic=49503.0

^^ you guys should get together!!

Offline Tarzan_

  • Thread Starter
  • Posts: 28
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #2 on: Wed, 16 October 2013, 09:49:04 »
http://geekhack.org/index.php?topic=49503.0

^^ you guys should get together!!

I had a request to split the thread - the Keyboards forum will have the specifications information for Televideo, and the Making Stuff Together will have the hardwiring mod, painting, etc.

Offline Tarzan_

  • Thread Starter
  • Posts: 28
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #3 on: Wed, 16 October 2013, 11:37:54 »
I think I've spotted one error already; I have a total of 25 rows+columns with this wiring layout.  However, the Teensy 2.0 controllers I have only have 19 (?) usable pins.

I'm going to have to resolder some of the columns, see if I can get the number of columns down to 10 or so.  Perhaps I can put all the number pad into one column, then combine pairs of columns into one with 10 switches per...  That would give me 9 columns/6 rows.

Offline Tarzan_

  • Thread Starter
  • Posts: 28
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #4 on: Thu, 17 October 2013, 07:30:42 »
A pic to show how grubby the cases were when I got them...

39595-0

And how it looks after a peroxide bath

39597-1

Okay, that's not completely accurate.  ;D  These are two different cases, the one shown in the first picture is still a little beige along the front edge, which is why I chose one of the other two as the case for the Teensy modded keyboard.  The case in the second picture is one of the two from the OP, as you can see it's cleaned up very nicely. 

The keycaps also cleaned up very well, the ones in the second pic are the original ones shown on the really sun-damaged case.

Edit: I realized the pictures I was referring to, in the original post, are actually in a different thread.  My bad.  This is the case shown above (cleaned version) as I got it from Ebay:
39599-2
« Last Edit: Thu, 17 October 2013, 07:34:19 by Tarzan »

Offline Tarzan_

  • Thread Starter
  • Posts: 28
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #5 on: Thu, 17 October 2013, 07:47:20 »
I wired up the Teensy controller last night, using one of the GH breakout boards.  I realized after I finished that I could have just used the Teensy as-is, since I don't plan to drill into the case to mount the mini PCB.  However, it was fun to see how it went together, nice bit of soldering practice.  (Flux everywhere, even after scrubbing with alcohol...)

39601-0
39603-1

There is plenty of room inside the case, as the back of the case is quite tall.  Ignore the sloppy wiring, still figuring out how to best line everything up. 
39605-2

One idea I've been considering is to mount the Teensy upside down over the old speaker grill, enabling the reset button to be accessed with a thin screwdriver.  The top case is completely separate from the lower case/keyboard assembly, the keyboard works fine with the top removed, so I may just use a dab or two of hot glue to hold the Teensy and skip the remote access idea.

Work in progress...

Offline Tarzan_

  • Thread Starter
  • Posts: 28
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #6 on: Thu, 17 October 2013, 08:09:16 »
Couple of notes, for anyone thinking of using Futuba switches or Televideo keyboards:

1. The switch pins/lugs/screws transmit heat really well.  I found this out the hard way - when I'd finished soldering the top row of switches, half of them wouldn't depress fully, switch stems were binding and sticking.  Taking a switch apart I found out why - the inside plastic of the case was partially melted, warping the channel for the stem slider.  Damage doesn't show from the outside, the pin conducted the heat from the soldering inside the switch case.  Sure glad I bought some extras... 

2. Whoever designed the Return key is an idiot.   Notice that little "ear" that sticks up from the keycap, to bridge the gap between Line Feed and Clear Space?  Yeah, that's just for show.  If you actually try to depress the switch and your fingertip is on that section of the keycap, it doesn't work, the key just binds.  Don't even get me started on the fact that this keycap is a different profile from the rest of the row...   :mad:
39607-0

Offline Tarzan_

  • Thread Starter
  • Posts: 28
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #7 on: Thu, 17 October 2013, 22:14:40 »
No nifty graphics for this update, just a wall of text.  Got the Teensy to work, using the test LED applet, and downloaded a bunch of utilities - not really sure what I'll end up using.

Started with the tmk_keyboard GH60 config file, currently stuck on defining the pins for rows and columns.  Mapped all the keys to rows/columns and pins on the Teensy in an Excel file, now I need to figure out what values to edit in the GH60 files to create a Televideo-specific hex file for the Teensy bootloader....

Gah.  Too tired to focus.  Enough for one day.

Offline Photoelectric

  • * Administrator
  • Posts: 6766
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #8 on: Thu, 17 October 2013, 22:17:01 »
This is one classy keyboard! (well, two). Good luck with the programming.
- Keyboards: LZ-GH (Jailhouse Blues)M65-a, MIRA SE, E8-V1, MOON TKL, CA66
- Keyboard Case Painting Tips -
- Join Mechanical Keyboards photography group on Flickr -

Offline Dubsgalore

  • Banned
  • Posts: 2849
  • Location: 75% You have received a warning for attempting to circumvent the classifieds rules
    • Dubs - Sneakers, Keyboards, and Life
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #9 on: Thu, 17 October 2013, 22:40:03 »
Those caps are really awesome....

Great work, nice use of the teensy!

Offline rowdy

  • HHKB Hapster
  • * Erudite Elder
  • Posts: 21175
  • Location: melbourne.vic.au
  • Missed another sale.
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #10 on: Thu, 17 October 2013, 22:48:57 »
That Return really looks like it doesn't belong there, but given the shape, it is probably unique and is the only one that would fit!
"Because keyboards are accessories to PC makers, they focus on minimizing the manufacturing costs. But that’s incorrect. It’s in HHKB’s slogan, but when America’s cowboys were in the middle of a trip and their horse died, they would leave the horse there. But even if they were in the middle of a desert, they would take their saddle with them. The horse was a consumable good, but the saddle was an interface that their bodies had gotten used to. In the same vein, PCs are consumable goods, while keyboards are important interfaces." - Eiiti Wada

NEC APC-H4100E | Ducky DK9008 Shine MX blue LED red | Ducky DK9008 Shine MX blue LED green | Link 900243-08 | CM QFR MX black | KeyCool 87 white MX reds | HHKB 2 Pro | Model M 02-Mar-1993 | Model M 29-Nov-1995 | CM Trigger (broken) | CM QFS MX green | Ducky DK9087 Shine 3 TKL Yellow Edition MX black | Lexmark SSK 21-Apr-1994 | IBM SSK 13-Oct-1987 | CODE TKL MX clear | Model M 122 01-Jun-1988

Ị̸͚̯̲́ͤ̃͑̇̑ͯ̊̂͟ͅs̞͚̩͉̝̪̲͗͊ͪ̽̚̚ ̭̦͖͕̑́͌ͬͩ͟t̷̻͔̙̑͟h̹̠̼͋ͤ͋i̤̜̣̦̱̫͈͔̞ͭ͑ͥ̌̔s̬͔͎̍̈ͥͫ̐̾ͣ̔̇͘ͅ ̩̘̼͆̐̕e̞̰͓̲̺̎͐̏ͬ̓̅̾͠͝ͅv̶̰͕̱̞̥̍ͣ̄̕e͕͙͖̬̜͓͎̤̊ͭ͐͝ṇ̰͎̱̤̟̭ͫ͌̌͢͠ͅ ̳̥̦ͮ̐ͤ̎̊ͣ͡͡n̤̜̙̺̪̒͜e̶̻̦̿ͮ̂̀c̝̘̝͖̠̖͐ͨͪ̈̐͌ͩ̀e̷̥͇̋ͦs̢̡̤ͤͤͯ͜s͈̠̉̑͘a̱͕̗͖̳̥̺ͬͦͧ͆̌̑͡r̶̟̖̈͘ỷ̮̦̩͙͔ͫ̾ͬ̔ͬͮ̌?̵̘͇͔͙ͥͪ͞ͅ

Offline Tarzan_

  • Thread Starter
  • Posts: 28
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #11 on: Fri, 18 October 2013, 14:07:26 »
Edited the keymap.c file:

Code: [Select]
/* Layer 0: Default Layer
     * ,------------------------------------------------------------------------------------------------------------------.
     * |SCKLOCK| F1| F2| F3| F4| F5| F6| F7| F8| F9| F10| F11| INSERT| DELETE| INSERT| DELETE| CLEAR| CLEAR_AGAIN| EXECUTE|
     * |------------------------------------------------------------------------------------------------------------------|
     * |ESC|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  MINUS|  EQUAL|  GRAVE|  BSLASH|  BSPACE|   KP_7|   KP_8|   KP_9|    |
     * |------------------------------------------------------------------------------------------------------------------|
* |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  LBRACKET| SEPARATOR| CLEAR|  KP_4|  KP_5|  KP_6|                  |
     * |------------------------------------------------------------------------------------------------------------------|
     * |CAPSLOCK|   A|  S|  D|  F|  G|  H|  J|  K|  L| RCTRL| SCOLON| QUOTE| RETURN| RETURN| STOP|  KP_1|  KP_2|  KP_3|   |
     * |------------------------------------------------------------------------------------------------------------------|
     * |LSHIFT  |  Z|  X|  C|  V|  B|  N|  M|  COMMA| PRIOR| DOT| SLASH| RSHIFT | RBRACKET| DELETE| KP_DOT| KP_0| KP_COMMA|
     * |------------------------------------------------------------------------------------------------------------------|
     * |PSCREEN | LALT|                     SPACE|                     HOME| DOWN| UP| LEFT| RIGHT|                       |
     * `------------------------------------------------------------------------------------------------------------------'
     */
KEYMAP(SCKLOCK, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, INSERT, DELETE, INSERT, DELETE, CLEAR, CLEAR_AGAIN, EXECUTE, \
ESC,  1,  2,  3,  4,  5,  6,  7,  8,  9,  0,  MINUS,  EQUAL,  GRAVE,  BSLASH,  BSPACE,   KP_7,   KP_8,   KP_9,  \
Tab,  Q,  W,  E,  R,  T,  Y,  U,  I,  O,  P,  LBRACKET, SEPARATOR, CLEAR,  KP_4,  KP_5,  KP_6, \                 
CAPSLOCK, A,  S,  D,  F,  G,  H,  J,  K,  L,  RCTRL,  SCOLON, QUOTE, RETURN, RETURN, STOP,  KP_1,  KP_2,  KP_3,  \
LSHIFT,   Z,  X,  C,  V,  B,  N,  M,  COMMA,  PRIOR,  DOT, SLASH, RSHIFT , RBRACKET, DELETE, KP_DOT, KP_0, KP_COMMA,  \
PSCREEN,  LALT,                     SPACE,                     HOME, DOWN, UP, LEFT, RIGHT),

Anyone know if this is how the keys are supposed to be defined?  Or do I need to edit the upper section of the file;

Code: [Select]
#define KEYMAP( \
    K11, K10, K20, K30, K40, K41, K51, K50, K60, K70, K80, K81, K61, K02, \
    K12, K13, K23, K33, K43, K42, K52, K53, K63, K73, K83, K82, K62, K01, \
    K15, K14, K24, K34, K44, K45, K55, K54, K64, K74, K84, K85, K06, \
    K67, K16, K26, K36, K46, K47, K57, K56, K66, K76, K87, K32, K35, \
    K75, K22, K00, K07, K21, K04, K37, K27, K17 \
) { \
    { KC_##K00, KC_##K01, KC_##K02, KC_NO,    KC_##K04, KC_NO,    KC_##K06, KC_##K07 }, \
    { KC_##K10, KC_##K11, KC_##K12, KC_##K13, KC_##K14, KC_##K15, KC_##K16, KC_##K17 }, \
    { KC_##K20, KC_##K21, KC_##K22, KC_##K23, KC_##K24, KC_NO,    KC_##K26, KC_##K27 }, \
    { KC_##K30, KC_NO,    KC_##K32, KC_##K33, KC_##K34, KC_##K35, KC_##K36, KC_##K37 }, \
    { KC_##K40, KC_##K41, KC_##K42, KC_##K43, KC_##K44, KC_##K45, KC_##K46, KC_##K47 }, \
    { KC_##K50, KC_##K51, KC_##K52, KC_##K53, KC_##K54, KC_##K55, KC_##K56, KC_##K57 }, \
    { KC_##K60, KC_##K61, KC_##K62, KC_##K63, KC_##K64, KC_NO,    KC_##K66, KC_##K67 }, \
    { KC_##K70, KC_NO,    KC_NO,    KC_##K73, KC_##K74, KC_##K75, KC_##K76, KC_NO    }, \
    { KC_##K80, KC_##K81, KC_##K82, KC_##K83, KC_##K84, KC_##K85, KC_NO,    KC_##K87 } \
}

#define KEYCODE(layer, row, col) (pgm_read_byte(&keymaps[(layer)][(row)][(col)]))

I'm using the tmk_keyboard macway files as a template. 

https://github.com/tmk/tmk_keyboard/tree/master/keyboard/macway

Offline Tarzan_

  • Thread Starter
  • Posts: 28
Re: Televideo Terminal Keyboard - Hardwired Version
« Reply #12 on: Fri, 18 October 2013, 19:35:11 »
Closing out this thread.