6 ms·
Rotary Keyboard
- jweissman 4y agothis feels like a serious work of art
- user3939382 4y agoTime to use it with a SIP client :D
- JadoJodo 4y agoPart of me had hoped that this was some sort of insane mechanical keyboard, where every single key was on the rotary.
- bqmjjx0kac 4y agoLet's see, for 104 keys 3/4" wide, the fully-rotary keyboard would have a circumference of 78" and a diameter of ~25". At that size, it should probably be oriented like a steering wheel.
- defanor 4y agoThe holes on my rotary phone are about 1 cm. One can make them nested, since it would have to be custom anyway: starting with the diameter of, say, 3 cm, adding a bit more than 1 cm on each side (3 cm, 4.5 cm, etc), and assuming that at least floor (pi * (1.5 + 2.5 * n - 2) / 1.5) keys fit in the nth such nested ring (1.5 + 2.5 * n is the outer diameter, - 2 is there since the holes won't be on the outer diameter, / 1.5 cm is to leave some space around them; that's not meant to be optimal, just a quick estimate), that'd yield 101 holes/keys with 6 rings, with the outer diameter of 1.5 + 2.5 * 6 = 16.5 cm for the last one. That's a rather small keyboard. Edit: nested rings would also work for modifier keys. Edit 2: fixed the formula.
- bqmjjx0kac 4y agoIf there are nested rings of keys, how would the keyboard know which key you "pressed"? Maybe I need to RTFM.
- defanor 4y agoI think the most straightforward way is to have a separate usual mechanism for each ring, stacked vertically, passing the rotation from each ring through the inner ones without rotating them. But likely something nicer (more optimal) can be designed: either purely mechanical (to end up with just a single combined rotation on the output) or relying on more modern technologies (plenty of options on reading dial positions then).
- defanor 4y agoOr the holes can just be staggered (so that each hole is at an unique angle): then the rings won't have to rotate separately, though the reading would have to be more precise/higher-frequency then, and it may be tricky to rotate the dial with a finger as precisely (with 6 rings and 15 mm per hole, that would be a 15 / 6 = 2.5 mm margin, roughly).
- Someone 4y agoNo, just use https://en.wikipedia.org/wiki/Multi-tap https://en.wikipedia.org/wiki/Multi-tap. To type an ‘S’, for example, simply dial ‘7’ four times in a row.
- layer8 4y agoIt doesn’t make sense for the modifier keys to be on the rotary dial, but the rest you code encode by a pair of dials (for 10x10 keys). Labeling would be a challenge. I wonder which of Emacs and Vim would have the advantage here.
- benj111 4y agoA modifier dial would be cool. You could have capslock for X number of seconds. Vim could have a mode dial. Which mode should be the default is possibly the thing that flame wars are made of though.
- tdeck 4y agoThere were a bunch of cheap typewriters that worked this way, collectively called index typewriters. Here's an example, the simplex: https://site.xavier.edu/polt/typewriters/simplex.html https://site.xavier.edu/polt/typewriters/simplex.html
- axiolite 4y agoThat's been done: https://www.youtube.com/watch?v=9BnLbv6QYcA https://www.youtube.com/watch?v=9BnLbv6QYcA
- leetrout 4y ago"Everything is just a few hundred clicks away" I am glad you shared the video because it was exactly what I thought of when I read the parent comment.
- veganjay 4y agoThis is so cool, especially for those of us who've used rotary phones. I'd like to see a video of a google voice or other call made using the rotary number pad :)
- melling 4y agoWe had a rotary phone when I was young. What would be really cool is to see some version of “Minority Report” actually work in my lifetime. https://youtu.be/PJqbivkm0Ms https://youtu.be/PJqbivkm0Ms Sort of like people who lived during the invention of the airplane and got to see humans land on the moon
- nordsieck 4y ago> What would be really cool is to see some version of “Minority Report” actually work in my lifetime. I suspect that that will come swiftly once VR headsets get good[1] enough to be used as a replacement for a laptop/monitor setup. I don't personally have a device, but people who do have told me that the resolution and weight just aren't there yet.
- kmoser 4y agoJust use a rotary cell phone: https://skysedge.com/unsmartphones/RUSP/index.html https://skysedge.com/unsmartphones/RUSP/index.html
- ChrisMarshallNY 4y agoThat's a fun hack!
- memling 4y agoThe friction stir weld!
- ChewFarceSkunk 4y agoNice, but not hardcore enough! Here's the real deal: https://www.youtube.com/watch?v=9BnLbv6QYcA https://www.youtube.com/watch?v=9BnLbv6QYcA
- PopAlongKid 4y ago"everything is just a few hundred clicks away" - unintentionally hilarious!
- chris_st 4y agoNothing on The Onion is unintentional.
- Mister_Snuggles 4y agoThe best part of that is that they actually made a bit of a wheel-centric UI just for this gag.
- greenbit 4y agoAn interesting twist on numeric entry, for sure.
- kevin_thibedeau 4y ago> While one could use a pin-change interrupt, the timescale is so large that busy-waiting is acceptable. You should never use interrupts for this sort of input with lots of inherent switching noise. At best you could wait for one interrupt then disable it while polling in a debounce routine. Interrupts are a red flag that someone hasn't investigated what the switching is doing to their micro.
- HALtheWise 4y agoNice project! > Due to debouncing troubles, it seems to be double-reading each pulse. At some point I should throw a scope on it to confirm what the problem is, but it works quite adequately as-is. (My first try only had a 10ms delay, which empirically resulted in septuple-reading each pulse…) Needless to say, this is not the canonical way to count pulses. A more typical and accurate loop would look like if digitalRead(pin): count +=1 # register the pulse sleep(0.01) # debouncing delay while digitalRead(pin): # wait for end of pulse pass sleep(0.01) # debouncing delay
- deleted 4y ago[deleted]
- zamadatix 4y agoI’m more used to “while pin hot in the last devounceDelay consider held” approach. This double sleep method has a larger minimum for a given debounce delay and triggers multiple presses if you get any contact drops at all during a long hold. Not sure if there are other upsides I’m missing though.
- dahfizz 4y agoI'm curious, why the first sleep? Why not go into the while loop right away?
- __david__ 4y agoThe while condition is reading the pin. The first delay lets the pin stabilize before waiting for the pin to go false.
- 0xmarcin 4y agoRotary phones where used with https://en.wikipedia.org/wiki/Strowger_switch https://en.wikipedia.org/wiki/Strowger_switch - so they have very simple interface - just generate the number of pulses that is either N or 10-N (I don't remember exactly which one is right). There is also a nice back-story about how it was invented. This is a nice DIY project, but its practicality is questionable. Choosing a number on rotary phones is very slow, as you need to wait til the wheel returns to its start position.
- stavros 4y agoIt's N, from what I recall from my rotary mobile: https://www.stavros.io/posts/irotary-saga/ https://www.stavros.io/posts/irotary-saga/
- tdeck 4y agoIn New Zealand it was 10-N!
- ismokedoinks 4y agoNot sure practicality is the goal--Being inconvenient might actually be the intent.
- ComputerGuru 4y agoYou could redesign the rotary dial to return to zero much, much faster with shorter pulses and smaller intervals between them given advances in high frequency signal counting.
- nikau 4y agoI remember adjusting my phone when I was a kid to spin back as fast as possible, if set too fast and the number wouldn't dial. There was a little speed governor inside which could be adjusted for more or less resistance, i think it had weighted arms that could be adjusted outwards to slow it down.
- trinsic2 4y agoLOL. That is a crazy project, but I smiled al the way through reading about it. Its going to be slow going doing numeric key input though. :-)
- layer8 4y agoIt might motivate someone to implement an IME for Roman number input.
- college_physics 4y agoThe slowness of the rotary dial might be actually a strength in certain use cases, like when its critical to get the number right the first time around. Consider attaching it to a Bloomberg terminal to eliminate the "fat finger" problem.
- euroderf 4y agoNo more mistaken multi-billion-dollar bank transfers and stock trades !
- hjkl0 4y agoI was going to comment that I remember it being the opposite: it was _so_ slow that I would find myself losing my place in the number I was trying to dial and having to hang up and start over. But then again, maybe that does mean I was less likely to end up dialing the wrong number. That said, the phenomenon of dialing the wrong number was already well known when everyone was still using rotary dials, so maybe it’s not such a strength after all.
- blamazon 4y agoHad a chuckle at "the rotary dial is mightier than the number keys"
- paulkrush 4y agoTest it on kids: https://www.youtube.com/watch?v=1OADXNGnJok https://www.youtube.com/watch?v=1OADXNGnJok
- TedDoesntTalk 4y agoThis is insane. Fun to watch them.
- fbdab103 4y agoA gentle reminder that nothing is intuitive.
- benj111 4y agoNo. I recently noticed on my local canal the mile markers show how many miles you are from the place youre traveling from. This is the Leeds Liverpool canal. So as you travel to Leeds it says Liverpool with increasing miles. From the pov of the Liverpool side of the sign being the Liverpool side this makes sense, and on a barge it's easy to look back to see how many miles to Leeds. But to modern eyes it's completely backwards. Even traffic signs are 'intuitive'!
- lencastre 4y agoClick wheel FTW
- anyfactor 4y agoI NEED a rotary dial as a fidget toy.
- bilekas 4y agoDefinitely a fun project and great read! I only worry it may catch on with the hipsters and we'll be hearing the rotary bells in cafes soon.
- rgoulter 4y agoWhat an impressive project. One thing this design demonstrates about the standard keyboard design: - In order to disallow using the number row, a giant 10U keycap is placed over the number keys. This deliberately restricts usage. It's funny because it's unexpected. - 3 rows down, you've got a giant 6U keycap. But, most keyboards just look like this, even though it's as impractical as this joke keycap above.
- darkhorn 4y agoApple had wheel keyboard https://youtu.be/9BnLbv6QYcA https://youtu.be/9BnLbv6QYcA
- oritsnile 4y agoThe most interesting for is the USB 3.0 connection, on the hub. Didn't know the lanes are totally independent.
- nikau 4y agoYep - same for usb-c spec, there's always a usb-2 bus available. This makes some cheap hubs actually quite good for office work, they use all four lanes for the display and can also do usb-2 and power delivery for around 20 bucks.
- pedrovhb 4y agoThat's awesome. Given the effort that went into it, it's kind of a shame to use a cheap $10 board as a base. I think it'd be worthwhile to spend a bit more and get a keyboard running QMK, which also saves the headache of jerry-rigging an Arduino to control the thing and the complications that come with it (USB, custom logic in the firmware, etc).
- jacquesm 4y agoThat's a very neat hack, the level of dedication on display is amazing as are the writing skills.