Need reality check

Perhaps what you want is to modify your keyboard layout rather than make a new keyboard. With linux it's a simple matter to make a new keyboard layout - most distros already have a range of keyboard layout files, and it would be a simple matter to take an existing one and modify it. I don't know about Windows keyboard layouts, but I'm sure you could find information or sample code on the 'net.

Reply to
David Brown
Loading thread data ...

I have read the thread and I think I understand what you want to do, but I think you see some parts as hard that may not be so difficult and other parts are being glossed over. This may be because you have more ability in some areas than others that I don't know about.

The software I see as trivial. I don't see the electrical part as hard. I see the mechanical part as hard. If you have never used embedded processors before, then you might think that is the difficult part. Even though there may be some learning, it should not be too hard.

I don't see how you can expect to buy keys and assemble them into a decent keyboard. Maybe you have more tolerance for key height variations that I would. But assuming that you have the mechanicals under control, adding a new processor to perform the interface functions should be very easy. I would suggest that you reverse engineer an existing keyboard to see how they construct the interface to the PC. I have never done this, but I see keyboards that can be switched from the old dedicated keyboard interface to PS2 to USB with very simple dongles that I suspect are only mechanical converters. If you take one of these apart I think you will find that the keyboard to PC interface is actually very simple.

A lot of what you want to do can be done by using a standard keyboard and building an interface adapter. This can give you the non-volatile memory you want, it can perform all the keymapping you wish and will give you a good legup on the interface to the PC. If you start with a keyboard that uses PS2, you can use either PS2 or USB to the PC. The only part missing will be the extra keys on the keyboard. All of this can be done without building a PCB. You can use an MCU eval board to perform this intermediate step.

As to choice of MCU, I would recommend an ARM chip. There are any number of them out there and many have USB ports built in. Some have data flash internal so that you can use that for your configuration storage or you can add an SPI or I2C serial flash. Many like the Atmel and Philips (NXP) parts. You can get a summary of features at

formatting link
by clicking to the Resources page and then selecting the ARM Device Comparison link.

BTW, standard keyboards scan the keys and typically support N key rollover. The modifier keys are not part of the scanning, IIRC. They are read directly. But there is nothing to say you can't read all the keys separately into your MCU so that you can use any key as a modifier key! Not many MCUs will support that many keys directly, but you can add I/O pins using I2C or SPI in increments of 16 I/Os using inexpensive I/O expander chips.

Reply to
rickman

Yes, this is not a complex task, and no, sorry, I am not up to date with small boards with USB interface. When choosing one, I would stress support: what is your neighbor / cousin / etc. using?

That suggests a chording keyboard, that you already rejected. You may consider to use chords with modifiers only.

I only gave that as an example of a keyboard having built-in programmability. I wouldn't gut mine either, the dam thing is too expensive. As suggested by another poster, you can add programmability with something sitting between the keyboard and the computer.

Roberto Waltman

[ Please reply to the group, return address is invalid ]
Reply to
Roberto Waltman

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.