Author Topic: Model F hacks  (Read 25859 times)

0 Members and 1 Guest are viewing this topic.

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #50 on: Thu, 30 December 2010, 22:21:25 »
Imustsay,evenafteronlytypingonthisthingforafewminutes,myModelMseemssquishyandnastyandsluggishincomparison.

TheFisthebestestkeyboardevar!!!

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #51 on: Thu, 30 December 2010, 22:23:12 »
Ok, back to the M until I get this spacebar sorted. :3

Edit: Grumble, it's midnight here and I have an on-site service scheduled for 7, so....  I'll have to finish this tomorrow. D:=

The verdict so far:  Absolute success, other than not getting the spacebar hammer back in right.
« Last Edit: Thu, 30 December 2010, 22:35:27 by bladamson »

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #52 on: Fri, 31 December 2010, 19:02:04 »
Annnnnd the hacking re-commences.  I haz fishing line nao. :3

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #53 on: Fri, 31 December 2010, 19:22:02 »
And now I have a spacebar, woot.

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #54 on: Fri, 31 December 2010, 19:37:36 »
well done! this is great :D

we now know that the sensor/detector circuits can handle a fair amount of stray capacitance (here in the form of added wires :)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
All done!
« Reply #55 on: Sat, 01 January 2011, 00:32:05 »
Phew!  Most of the time since the last post was spent sorting out my model M caps lol.  But at least now I can sort of find what I am looking for.

All done.  I had to transplant an F and J with pips from the stash of Model M loot.  I decided not to do anything with the two extra pads under the spacebar, as I didn't want to jerry-rig an M spacebar into it and then have my glued-in guides break while I'm in the middle of working.



ANSI Backspace, Pipe, and Enter.  The pipe pad was moved in hardware, so I can plug this thing into someone else's computer and it'll just work.



Cursor control group.  These are all remapped in X11, so when it's plugged into someone else's computer, it acts like a normal numpad.  The PgDn key produces an F11 scancode without any hackery.  The LeftArrow key produces scancode 7c, which I've mapped to F12 in the kernel keyboard driver.  Everything else is done with xmodmap, so when numlock is on, it acts like the usual numpad.  There's some way that I can supposedly make shift+numpad produce numpad cursor control scancodes when numlock is on, but I haven't gotten that far yet (and probably won't fool with it until I need to for some reason or another).



Misc control group.  The 4 keys in the center (along with Pause) are used to control my debugger: Resume, Step, Toggle Breakpoint, and an unused key that I haven't found anything to do with yet.  I'll need to figure where to get some blank keycaps and how to print on them....  I might just slap some from a Model M terminal board in there, if I can get hold of some.



All in all, this keyboard totally rocks.  It feels 10x better than my M.  I feel like I am typing faster already, but it might just be all the noise. XD  The springs sing when I am typing on it, and the whole keyboard hums very faintly for just a moment when I let off the keys, as if my keyboard drawer is acting like a resonator.  It's very interesting.  I've been wanting one of these for years, and I'm happy that I finally splurged on one.

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #56 on: Sat, 01 January 2011, 00:42:33 »
Quote from: msiegel;271390
we now know that the sensor/detector circuits can handle a fair amount of stray capacitance (here in the form of added wires :)


I ran that long wire as close to the plate (chassis ground) as I could everywhere on purpose, hoping that it would help deaden any extraneous noise that it produced.

Though I doubt that a keyboard is as susceptible to cross-talk as higher frequency circuits.

Offline msiegel

  • Posts: 1230
awesome
« Reply #57 on: Sat, 01 January 2011, 00:44:12 »
Quote from: bladamson;271464
this keyboard totally rocks


:D

« Last Edit: Sat, 01 January 2011, 01:00:29 by msiegel »

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #58 on: Sat, 01 January 2011, 00:57:34 »
Broken image!  ;_;

Edit:  I seeee it now! \o/
« Last Edit: Sat, 01 January 2011, 11:40:59 by bladamson »

Offline Soarer

  • * Elevated Elder
  • Posts: 1918
  • Location: UK
Model F hacks
« Reply #59 on: Sat, 01 January 2011, 03:58:32 »
Sweet! I approve of the 2x4 nav block ;-)

Offline Daniel Beaver

  • Posts: 504
Model F hacks
« Reply #60 on: Sat, 01 January 2011, 11:26:57 »
Good to see that you appreciate the King of Keyboards.

Home: Topre Realforce 87W45  /  Mionix Naos 3200
Work: Topre Realforce 87B  /  Microsoft Intellimouse Explorer 3.0

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #61 on: Sat, 01 January 2011, 13:26:31 »
Quote from: ripster;271618
Model M Mini is the King


maybe the Prince ;)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #62 on: Sat, 01 January 2011, 16:23:23 »
It's good to be a^Hthe Queen. :P

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #63 on: Sat, 01 January 2011, 18:08:41 »
Matt, would you be willing to share your capacitance-sensing circuitry so far?  Maybe two heads are better than one. :P

I'm assuming that, at least for a single key, it may be possible to set it up like an rc circuit such that the change in capacitance swings the output voltage above or below TTL threshold, so that it registers as a 1 or 0 at the receiving end.

However, I'm not sure if it would go all wonky if multiple keys in the same row or column were held down. :3

And I don't have the proper equipment to measure the change in capacitance between open and closed key states on the PC/F. :3

Mayhaps the easiest way to experiment might be to rig up an rc circuit with a trimpot with wide variance and feed it into a TTL buffer driving an LED.  Then you could twiddle the resistor until pecking the key turned the LED on and off, back and forth until you were in the middle of the range somewhere, then remove the resistor and measure it with an ohmmeter. :3

This -has- to be how they were doing it.  In 1980, ADCs were huge and expensive, so I don't think there's any way that's what the model F uC is doing.  They've -got- to be generating 1s and 0s with an RC circuit some way, right?
« Last Edit: Sat, 01 January 2011, 18:25:55 by bladamson »

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #64 on: Sat, 01 January 2011, 18:34:48 »
here's the circuit i've been working on.

given a 0.5us pulse at the input end, a nice 3.6V signal comes out the output if the switch is closed (>= 3pF capacitance).

but... i was just fooling around with it, and it looks like with that pulse width the signal coming straight out of the switch is >= 2.5V!

so maybe it's possible to pulse and read the switches directly from digital i/o pins of an avr :D ??

OOPS - CORRECTION: i left D1 in the loop as well. but it's still super simple :)

« Last Edit: Sat, 01 January 2011, 18:46:34 by msiegel »

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #65 on: Sat, 01 January 2011, 18:52:56 »
Quote from: bladamson;271756
In 1980, ADCs were huge and expensive, so I don't think there's any way that's what the model F uC is doing.  They've -got- to be generating 1s and 0s with an RC circuit some way, right?


maybe *not*! :O

the capacitive BS patent doesn't mention an RC oscillator, iirc...

i'm beginning to think that square silver mystery component on the controller pcb is not an oscillator at all, but is actually a custom chip comprised of 1) a 5-way analog switch used to select each row, and 2) a high speed comparator with latching output.

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #66 on: Sat, 01 January 2011, 19:12:20 »
Keep in mind that I don't have -any- clue what I am doing.  Analog makes my brain melt.  But I was thinking something like this, where you asserted low on some row to scan it, waited ~20ms, and read all the columns, taking advantage of the wide tolerances of what a TTL chip will detect as a 1, and feed it through a buffer so that the uC gets a more solid signal. :3  Then you'd fiddle with the resistor values until it was behaving.

Surely it's not this easy though, or the F wouldn't have all that extra junk on it. :P



On second thought, I think you might need to move the columns to the other side of the caps and move the resistors to between the C? and ground. >_>  Yea, I think so....  Aaaaa I dunno!

But....  Yea, I dunno what I am doing. D:=  I had these classes like 10 years ago and haven't used it since and have forgotten everything. :3

Nevermind.  Lol.

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #67 on: Sat, 01 January 2011, 19:24:13 »
Quote from: msiegel;271772
maybe *not*! :O

the capacitive BS patent doesn't mention an RC oscillator, iirc...

i'm beginning to think that square silver mystery component on the controller pcb is not an oscillator at all, but is actually a custom chip comprised of 1) a 5-way analog switch used to select each row, and 2) a high speed comparator with latching output.


Yea, I think this ought to be doable with a DC circuit rather than a uh.....  whatchacallit, sinusoidal steady-state RC circuit?

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #68 on: Sat, 01 January 2011, 19:26:00 »

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #69 on: Sat, 01 January 2011, 19:30:17 »
i think half the junk (ICs) on that pcb is column selection logic. rather than let a column float if it's not selected, it's pulled down to ground to suppress noise.

in the next couple of days i'm planning to start hardware experiments. the simulator is really great, in that i've only killed off half my teensy's analog input pins so far XD

but it's about time for the rubber to meet the road.

i don't have an o-scope, so i like those testing ideas. keep em coming! :D

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #70 on: Sat, 01 January 2011, 19:32:39 »
Quote from: bladamson;271778
Aha, like so:

http://en.wikipedia.org/wiki/RC_circuit#Series_circuit

Gurglemath. >_>


gah! D:

yeah, dc-like approach ftw XD

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #71 on: Sat, 01 January 2011, 19:42:53 »
Quote from: msiegel;271780
i think half the junk (ICs) on that pcb is column selection logic. rather than let a column float if it's not selected, it's pulled down to ground to suppress noise.


But if you pull it to ground, won't it provide a second ground path and change the voltage at C# when a key in another row is pressed in the diagram above?  Or do you think it's not enough to matter?

Hmmmmmmmmmmmmmmmmmm...


Quote from: msiegel;271780
in the next couple of days i'm planning to start hardware experiments. the simulator is really great, in that i've only killed off half my teensy's analog input pins so far XD

but it's about time for the rubber to meet the road.

i don't have an o-scope, so i like those testing ideas. keep em coming! :D


Hmm, I have an old all-analog 40MHz B&K o-scope that I bought at a hamfest many years ago for $30. >_>  No probes for it though, and the shipping to san fran for you to borrow it would be pretty excessive.  It's like 40 lb.  <_<

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #72 on: Sat, 01 January 2011, 19:55:38 »
Quote from: msiegel;271772
i'm beginning to think that square silver mystery component on the controller pcb is not an oscillator at all, but is actually a custom chip comprised of 1) a 5-way analog switch used to select each row, and 2) a high speed comparator with latching output.


The PC board only has like...  6 lines going from the uC to the silver thingy.  So there must be a decoder in there.  I bet the uC has a counter in it and sends a binary digit to the silver thing and it decodes it and maybe does some tri-stating and uh, stuff, maybe?  And then it looks like there is a uhm...  A silver barrel thingy with one end hooked to the ground plane and the other end hooked to one of the pins on the silver thing.  Aha, it's a 6 uF capacitor, must just be a filter cap or something.

Surely in 1980, if the thing was using an oscillator, there'd be an external crystal instead of some special something built into the silver thing.

Edit:  But wait, there -has- to be an oscillator on this thing somewhere.  These things generate their own clock at the connector...

Ok, I see where there is a clock signal coming out of the silver thing and going to the connector.
« Last Edit: Sat, 01 January 2011, 19:59:43 by bladamson »

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #73 on: Sat, 01 January 2011, 19:56:28 »
haha, that's the problem with old o-scopes XD

i'mma try onboard adc and digital inputs and see what i can find out :)

the key to ibm's design seems to be capacitive coupling.

rather than measuring the *capacitance* and seeing how much there is, like in a topre... we just drive a column and try to read that signal back from each row. within the driven column, the signal will couple strongly to each row's pad that a flyplate is near.

it's brilliantly simple, but may need amplifiers or sensitive comparators in the detector. or not. :eyebrows: we'll see... :D

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #74 on: Sat, 01 January 2011, 19:59:41 »
Quote from: bladamson;271796
The PC board only has like...  6 lines going from the uC to the silver thingy.  So there must be a decoder in there.  I bet the uC has a counter in it and sends a binary digit to the silver thing and it decodes it and maybe does some tri-stating and uh, stuff, maybe?  And then it looks like there is a uhm...  A silver barrel thingy with one end hooked to the ground plane and the other end hooked to one of the pins on the silver thing.  Aha, it's a 6 uF capacitor, must just be a filter cap or something.

Surely in 1980, if the thing was using an oscillator, there'd be an external crystal instead of some special something built into the silver thing.


oops, ninja'd :)

yes, no crystal! it's quite a mystery :D

there's a partial schematic of the pcb somewhere... where did i see that...

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #75 on: Sat, 01 January 2011, 20:01:17 »
Quote from: msiegel;271800
oops, ninja'd :)

yes, no crystal! it's quite a mystery :D

there's a partial schematic of the pcb somewhere... where did i see that...


This PC board only has 20 components on it (no LEDs to mess with, I guess).  I can try to draw one for you if you want.

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #76 on: Sat, 01 January 2011, 20:02:31 »
no, thanks; i'm sure we can find it :)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #77 on: Sat, 01 January 2011, 20:04:53 »
Mmm, Ima draw one anyway. :P  Maybe it will help me grok. :P

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #78 on: Sat, 01 January 2011, 20:05:49 »
ok. i can't find it! but kishy will know :)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #79 on: Sat, 01 January 2011, 20:29:45 »
The silver thing has an orange thing marked "123" "8527" hooked to it, in parallel with what looks like a mylar capacitor.  If you look at the silver thing with the writing right-side-up, they're connected to the 2nd pin on the right from the bottom.  Does yours have this?  What the heck is that orange thing?  A potted inductor? Precision resistor?  Crystal maybe even?  Part of an oscillator circuit?  O_o

Many pins on the right-hand side of the uC are not connected to anything.  Very strange...

Surely it is asserting the rows and reading the columns....  Yea, it would have to be with the way things are set up.  And the columns are hitting that uC directly, there's no pull-up resistor pack or anything.  The board -must- be producing something close enough to logic levels for the uC to read...

Edit: Could the silver thing be asserting a square-wave DC pulse on the rows, and then the uC clocks up with the silver thing's crystal, and the low capacitance of the keys when they are up act like a low-pass filter or something and block the pulse from reaching the uC?
« Last Edit: Sat, 01 January 2011, 20:32:15 by bladamson »

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #80 on: Sat, 01 January 2011, 20:43:24 »
Herpderp!

I'm not smart enough for this hahaha.

I think I will just concentrate on making an XT protocol converter with a Teensy. :3

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #81 on: Sat, 01 January 2011, 20:44:16 »
XD
Sam found us the schematics:

http://kbdbabel.org/schematic/

this stuff is very educational :D

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #82 on: Sat, 01 January 2011, 20:49:41 »
Aha, so the silver thing is just a decoder?

Why the heck didn't they just build that into the uC? O_o

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #83 on: Sat, 01 January 2011, 20:51:52 »
yes, pin G looks like a strobe to input a new row selection on D0-D2 :)

it might have comparators or amplifiers in it.

also, what do you make of those two capacitors hanging off of it... maybe the thing contains an oscillator after all?

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #84 on: Sat, 01 January 2011, 20:53:36 »
Oh, it's ultra speshul. =:O

IBM octal capacitive keyboard matrix receiver with 8-to-1 multiplexer (ibm-8273565.sym)

Aaaaa!

It's from this page: http://www.gedasymbols.org/user/alexander_kurz/

From the sound of that, it must be asserting columns and reading rows. :3

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #85 on: Sat, 01 January 2011, 20:56:10 »
hmm, the matrix is clearly 16x8.

seeing as the 16 are attached to gate outputs, it looks like columns are driven and rows do the sensing.

which makes that silver thing the detector :)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #86 on: Sat, 01 January 2011, 20:57:36 »
Quote from: bladamson;271834
Oh, it's ultra speshul. =:O

IBM octal capacitive keyboard matrix receiver with 8-to-1 multiplexer (ibm-8273565.sym)


from the page:

Quote
documentation: best guess


:lol:

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #87 on: Sat, 01 January 2011, 21:02:45 »
But but but but!!!  Wtf!

With that multiplexer hoochadoowhatsie, that severely limits its ability to detect multiple held keys. D:=

Edit: So....  How much do ya want to bet that there are a bunch of comparators inside the silver thing, and those two weirdo capacitors are reference capacitors for key up and key down capacitance or something.
« Last Edit: Sat, 01 January 2011, 21:06:13 by bladamson »

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #88 on: Sat, 01 January 2011, 21:06:13 »
during the scan cycle, imagine each pad getting its own pulse. i'm pretty sure the pads can all be sensed independently.

the multiplexer just selects one row at a time to look at :)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #89 on: Sat, 01 January 2011, 21:06:48 »
Quote from: msiegel;271839
during the scan cycle, imagine each pad getting its own pulse. i'm pretty sure the pads can all be sensed independently.

the multiplexer just selects one row at a time to look at :)


Ahhhhhhhhhhhh ok that makes sense.

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #90 on: Sat, 01 January 2011, 21:06:51 »
Quote from: bladamson;271838
reference capacitors


aha! good idea :D

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #91 on: Sat, 01 January 2011, 21:07:38 »
Lol.  We should use IRC or google chat or something.

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #92 on: Sat, 01 January 2011, 21:08:44 »
better documentation this way XD

i'm heading out of here to do some work... later :)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #93 on: Sat, 01 January 2011, 21:14:06 »
So like....  Possibly the uC is like "Ohai silver thing, I wanna read row 3", and it gets decoded inside and row 3 is routed into a comparator.  Then the UC pulses a column and the comparator is like "Ohai, I'm done (put a bit on OUT and assert G)"?

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #94 on: Sat, 01 January 2011, 21:16:40 »
Quote from: msiegel;271843
i'm heading out of here to do some work... later :)


Ah right, I should write some code anyway. :P

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #95 on: Sat, 01 January 2011, 21:38:06 »
Quote from: bladamson;271844
So like....  Possibly the uC is like "Ohai silver thing, I wanna read row 3", and it gets decoded inside and row 3 is routed into a comparator.  Then the UC pulses a column and the comparator is like "Ohai, I'm done (put a bit on OUT and assert G)"?


yeah, something like this seems likely :)

and now back to our regularly scheduled programming... :washing:

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline bladamson

  • Thread Starter
  • Posts: 161
Model F hacks
« Reply #96 on: Sun, 02 January 2011, 19:42:35 »
Moved this reply over here to avoid filling that guy's thread with geekspam. :P

Quote from: msiegel;272150
on the ATmega32U4 that's used for teensy, the analog input pins go through a multiplexer to a single adc.


Drat, I thought that might be the case. :P

Quote from: msiegel;272150
however, docs claim the adc can do 15ksps... which might just be fast enough :D


Hmmm 156 scans per second I guess, with an 8x12 matrix.  Maybe guess-rounded down to 100 to account for setup time.  I bet that would work.  Surely the switch is held closed for >10ms.

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #97 on: Sun, 02 January 2011, 19:57:18 »
another consideration is "transposition" errors: if the scan cycle is too slow, then two keys pressed in rapid succession (as when "rolling" during fast typing) might register in the wrong order.

the scan cycle will have to be several times the maximum rate of key "roll" to ensure keys register in the right order... 100-500 cycles/sec? hmm, how fast is key roll? :)

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #98 on: Sun, 02 January 2011, 20:09:24 »
same as "credit card" test! :D

let's say you're typing at a rate of 1 character per second, using a "roll". here's what typing "hi" looks like:

second: keys-depressed
0:
1: h
2: h i
3: i
4:

if the scan rate is one cycle every *two seconds*, then it's too slow!

0: no keys are depressed
2: h and i were pressed, but in what order?
4: no keys are depressed

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller

Offline msiegel

  • Posts: 1230
Model F hacks
« Reply #99 on: Sun, 02 January 2011, 20:23:10 »
we should figure out a good minimum scan rate.

200 wpm is about 20 characters per second.

at 5x oversampling, minimum scan rate needs to be 100 cycles per second.

isn't that what model m uses? XD

Filco Zero (Fukka) AEKII sliders and keycaps * Filco Tenkeyless MX brown * IBM F/AT parts: modding
Model F Mod Log * Open Source Generic keyboard controller