StickJock Posted February 7, 2021 Share Posted February 7, 2021 That looks great! Clever of you to include the XL/XE Help key, as well as the 1200XL's Function key. There was a post a while back about someone's experiments with using a laser engraver to fuse toner onto key caps. They had pretty good results, but that was with black toner on light keys. White toner does exist, though. 1 Quote Link to comment Share on other sites More sharing options...
Krenath Posted February 9, 2021 Author Share Posted February 9, 2021 On 2/7/2021 at 9:36 AM, StickJock said: That looks great! Clever of you to include the XL/XE Help key, as well as the 1200XL's Function key. There was a post a while back about someone's experiments with using a laser engraver to fuse toner onto key caps. They had pretty good results, but that was with black toner on light keys. White toner does exist, though. Thanks! It seems that finding a 9-key-wide spacebar for a Cherry-style keyboard is impossible these days. SO I figured I'd try to size it down a bit and use the additional space to sneak in additional keys. This means I have to source a 4-key-wide spacebar, but that's not nearly as difficult to find. And it's not any less comfortable to type on. Most people seem to use their right thumb to hit somewhere below the B, N, or M keys, it seems, so anything much wider is a waste and requires extra hardware to keep the spacebar level when being pressed. My brother has a GlowForge laser in his workshop. I'm going to see if he can set it up to be able to do the engraving for me. Rather than printing color on the surface, I may see if we can etch it deep enough to fill with light-colored epoxy. I figure we can use some scrap acrylic he has laying about to make a precise holder for individual keys, then we can slot them all into the holder and engrave them once we have all the details dialed in. 2 Quote Link to comment Share on other sites More sharing options...
StickJock Posted February 9, 2021 Share Posted February 9, 2021 Here's the video of the guy doing the laser printing on the key caps. 2 Quote Link to comment Share on other sites More sharing options...
Krenath Posted February 23, 2021 Author Share Posted February 23, 2021 (edited) Been a while since I posted about this, but I decided to take a second of my keyboard PCBs and solder it up. This time with diodes. The first keyboard, I installed jumpers in each of the diode positions because a stock Atari keyboard doesn't use diodes. Everything worked perfectly normally, and the Help and F1 through F4 keys were easily detected when the machine was booted up in XL/XE mode in Incognito. The only strange thing was that Ctrl+F2 seems to lock up the machine in XL/XE mode but not in A800 mode. This second keyboard with the diodes in it has some interesting benefits: If you look up information on the Atari keyboard matrix (such as from here: https://www.atariarchives.org/c3ba/page004.php), you'll be told that 16 control-shift-key combinations cannot be detected. The following keys share row lines with either control or shift and if you're holding both control AND shift, cause connections in the key matrix that the 4051 chips can't figure out: J K L ; + * Z X C V B F1 F2 F3 F4 Help Not only that, but there are some combinations you can hit that will be misinterpreted as other keys. For example, Ctrl+L+9 is misread as the Break key. With the diodes installed instead of jumpers in my second keyboard, ALL possible keycodes can be detected. Even the ones that were previously not working. You could write a program that used Ctrl+Shift+L and nothing at all would conflict with it because no preexisting software could possibly have expected it. The diodes also stop the false key detection (something often called 'ghosting' in modern keyboards). The diodes prevent current from going the wrong way and being detected as a different key when you hold three or more keys down. Ctrl There's also nothing stopping anyone from adding additional keys for the keycodes that currently do not exist. They can be detected by software that knows to check for it, and there are 6 slots in the key matrix for unused keys. With control and shift combinations, that makes another 24 functions that could be added to a keyboard. Not to mention you can use Ctrl+Shift+Help and Ctrl+Shift+F1 through Ctrl+Shift+F4 now. Once you have a diode-equipped keyboard, all you need to do to test that itr can detect the new keys and key combinations is write a small basic program like: 10 PRINT PEEK(764) : GOTO 10 And you'll be able to see the value change for the new keys on a modified keyboard where it won't on an unmodified 400/800/XL/XE. It does make me wonder exactly what Ctrl-F2 is doing to XL/XEs though... Edit: This pdf (http://mixinc.net/atari/books/XL-OS_Full_Searchable.pdf) says "CTRL-F2 controls the Screen Enable/Disable Direct Memory Access (DMA). It produces no ATASCII code. This key combination affects the operating system handling at the display function This key combination is not reassignable." Edited February 23, 2021 by Krenath 2 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted February 23, 2021 Share Posted February 23, 2021 (edited) um the shift control letter and numbers sequences are used by MyIDE, MyBIOS, AVG carts and the like... it may depend on the OS you use and whatever keyboard you're into using. Using the diodes erstwhile may be changing resistance and voltage levels as well and may have brought you're circuits into the proper levels so you can see the combinations... so if you your diodes give that functionality back I'd say it's a winner. Edited February 23, 2021 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
Krenath Posted February 23, 2021 Author Share Posted February 23, 2021 (edited) 1 hour ago, _The Doctor__ said: it may depend on the OS you use and whatever keyboard you're into using. Using the diodes erstwhile may be changing resistance and voltage levels as well and may have brought you're circuits into the proper levels so you can see the combinations... so if you your diodes give that functionality back I'd say it's a winner. Many of the shift control letter and number combinations do work, but a small number of them, the ones I listed above, do not. The only way they'd be detectable would be with an aftermarket keyboard. Something like a TK-II or other PC-to-Atari adapter might be able to send those codes. Because the PC keyboards have the diodes in them by default. It's not so much voltage levels, but the voltage path through the keyboard matrix while the 4051 chips are trying to decode the key matrix. The diodes just stop current from flowing the wrong way through cross-connections cause by holding down multiple keys. In doing so, it stops the 4051s from being confused by multiple keypresses, allows some of the key combinations the 4051s are capable of detecting but the keyboard hardware was previously incapable of sending, and stops 'ghost' keypresses like Ctrl+L+9 from being misread as other keys like Break. For those that aren't following along, (Not @_The Doctor__ I know he gets it. But someone else may want to know about this later) holding Ctrl+L+9 connects pins 1, 5, 9, and 13 all together. The system sees that pin 1 is (indirectly) connected to pin 9 through the green and red path and decided the Break key was pressed. Pseudocode for what the key matrix polling does: for row = 1 to 8 enable row pin for col = 10 to 17 // 9 is a special case connected to the POKEY chip directly. enable col pin is row connected to col? //register a keypress. disable col pin next col disable row pin next row (there are more things that key polling does, like once it sees a valid keypress, waiting for the key to be released, but that's not important right now) With diodes in place, current could not flow along the red line because it cannot flow backwards through the diodes in the Ctrl and L keys there, so it cannot detect the ghost Break key. Instead, it can tell which of Ctrl or L or 9 was pressed first and react correctly, ignoring the extra key(s). Pin 1 is connected to pin 13 so we could detect a 9 key. Pin 5 is connected to pin 9 so we could detect a Ctrl key (well, POKEY could) Pin 5 is connected to pin 13 so we could detect an L key. But pin 1 is not connected to pin 9, so we can't accidentally detect a Break key Edited February 23, 2021 by Krenath Quote Link to comment Share on other sites More sharing options...
Krenath Posted February 23, 2021 Author Share Posted February 23, 2021 (By the way, the above post is not intended to be strictly accurate. It's more of a generalization to get the idea across.) Quote Link to comment Share on other sites More sharing options...
Bob Langelius Posted March 4, 2021 Share Posted March 4, 2021 Krenath, Would you be willing to sell one of you PCB's? I'd like to try and make this work with the original keycaps. Bob Quote Link to comment Share on other sites More sharing options...
Multifarious Industries Posted March 10, 2021 Share Posted March 10, 2021 Bob, I embarked on a similar project and also opted to use the original keys. I've made a post with the details and the files needed to make your own. 2 Quote Link to comment Share on other sites More sharing options...
Bob Langelius Posted March 11, 2021 Share Posted March 11, 2021 Multifarious, Nice work! looks great in the machine. I have a couple of questions: A- Krenath's experiments seemed to favor using diodes even though they are not on the original 800 system. What do you think? also I'm a bit of a newb to things electronic, but looking at the Cherry MX datasheets it seems to me the switches can be had with diodes internal to the switch? true? https://www.cherrymx.de/_Resources/Persistent/1e6d4479ea3c692473ae8dd3f0b825bd568ecadb/EN_CHERRY_MX_CLEAR.pdf B- I noticed some of the adapters you made for the 2U and 1.5U keycaps seem to be offset? couldn't you move the switch on the pcb instead to keep the keycap centered on the switch? C- how did the overall finished height of the keyboard assembly compare to the original keyboard? I thought i might have to cut about .200" off the keycap stems. D- what software did you use to layout the PCB? See newb here... E- what do you think about mounting the switches to a plate to keep things sturdy? is that needed? Thanks, Sorry if these are newb q's Bob Quote Link to comment Share on other sites More sharing options...
Krenath Posted March 11, 2021 Author Share Posted March 11, 2021 (edited) 8 minutes ago, Bob Langelius said: it seems to me the switches can be had with diodes internal to the switch? true? I wish I had noticed that beforehand. It would have saved me a good pit of soldering. But it did let me test with and without diodes. Both seem to work fine for normal usage. It is, however, fun to write code that can detect keycodes that everything else says can't be detected. Quote C- how did the overall finished height of the keyboard assembly compare to the original keyboard? I thought i might have to cut about .200" off the keycap stems. I'm thinking about creating a new board layout where everything is mounted on a backplate with standoffs so the height of the keys can be adjusted. Soldering the switches directly to the same board as is screwed to the case doesn't leave a lot of room for adjustment. Quote D- what software did you use to layout the PCB? See newb here... I used EasyEDA after watching some tutorials from a youtube channel by a guy named Ruthsarian. Quote E- what do you think about mounting the switches to a plate to keep things sturdy? is that needed? I'm beginning to think it's required. the PCB alone wiggles quite a lot. There needs to be a strong support to keep the center of the keyboard from flexing and there really ought to be a place to snap the switches into to keep them aligned properly. I was thinking of a triple layer of switch mounting plate, PCB, then support plate, but with some creative metalwork, it might be possible to use the mounting plate for the switches as the backplate and give it mounting ears to screw into the Atari case. Edited March 11, 2021 by Krenath Quote Link to comment Share on other sites More sharing options...
ivop Posted March 11, 2021 Share Posted March 11, 2021 What do the keycaps look like at the underside? I created stackpole-to-cherry adapters for 3D printing. It also brings the keys up! I could share the design. Quote Link to comment Share on other sites More sharing options...
Krenath Posted March 11, 2021 Author Share Posted March 11, 2021 I've seen two kinds of Stackpole keys so far. Sometimes both on the same keyboard. They're interchangeable on the Stackpole plungers but might affect how the 3D printed adaptor holds them. Quote Link to comment Share on other sites More sharing options...
Bob Langelius Posted March 11, 2021 Share Posted March 11, 2021 Here are some photos of my first go-round at 3d printing an adapter. 1 Quote Link to comment Share on other sites More sharing options...
ivop Posted March 11, 2021 Share Posted March 11, 2021 Here's how I did it. Not sure if it would fit on the alternate stackpole keys. This should be the last revision I printed 100-fold kcadapt2-stackpole-v4.obj Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.