[tutorial] programming Access-IS keypads

davkol

24 Jul 2014, 01:01

I've happened to get an Access-IS keypad, but couldn't find much info on remapping the keys, programming macros, you name it. All the threads were about Tipro instead. Therefore, a brief overview/tutorial here. Beware, it's work in progress.

What do I have/need to get started?
  • An Access-IS keypad. Mine is Access-IS AKE120807/1/M. It has 15×8 keys with plate-mounted Cherry MX Black switches and a set of relegendable keycaps (including some 2x caps). It's PS/2 (with passthrough).
  • A desktop with 32bit MS Windows XP and a native PS/2 port. This might be different in case of USB keypads.
  • The SoftProg application, my installer is Setup_Softprog_4_06.msi. SoftProg templates may be useful in some cases, but not mine.
  • Patience, because SoftProg is full of annoying bugs.
How to get started? It's completely straightforward. No messing with custom drivers or anything close to that. Just connect the keypad, keep clicking "Next" in the installer, maybe restart—I actually can't remember it, but it's MS Windows, what would you expect?—and run SoftProg.

Start a new layout. Pick a template accordingly to the model of your keypad. Look at protocols first, then pick your layout. Check the thumbnail on the right. (TODO screenshot) A window with the layout opens inside the SoftProg window. Once you configure the layout to your liking, hit the keyboard button on the right. (TODO shortcut)

Play with the editor first. It's a PITA to use, because of minor, but nasty bugs. For example, you have to remap a key, configure it's legend and so on in certain order, because SoftProg won't apply changes otherwise or may even map some rubbish to the key, instead of doing what you want. (TODO list necessary steps, incl. layers)

How to use double or bigger keys instead of single 1x keys? Make a "drag'n'drop" box with your pointing device. The edges of selected keys ought to turn blue. Invoke context menu and select the kind of key you want. (TODO screenshot) Using bigger keys actually disables the switch to the right/bottom. I've given up on doing this, because keys spread over more MX Black switches are too stiff anyway, modding the keyboard to turn switches into stabilizers or even add stabilizers would be too much work, and I think it's better to use 1x keycaps of different profiles instead.

Bad news, only standard ~105 keys (and macros consisting of them) are supported. No multimedia keys or F13+. T_T Menu is called WinApp.

The keypad supports two layers, which means you can map two things to each key. In theory, you can use up to two keys to switch between these two layers, either can be a modifier or a toggle. In practice, there's a bug in SoftProg, that makes it possible to use more keys for switching layers. (TODO steps to reproduce the bug) Any of the keypad's three leds can be configured to indicate, whether the extra layer is active, or not. (TODO screenshot)

Save often. Saved layouts are just text files (.spf extension) that look like C headers. (TODO investigate the format) When you load a saved layout, SoftProg probably won't remember autorepeat settings for any key. I don't think it matters. IME it's okay to simply enable autorepeat in keyboard settings, and then ignore each key's autorepeat checkbox.

You can export your layout into a different kind of text file (.spt extension). It's contains one hexcode per line. I have no idea how is this useful.

Okay, that's all for now. Updates coming soon, hopefully.

This is my "ergo" board:
Image
Image

User avatar
Muirium
µ

30 Nov 2014, 23:23

Anyone know how to import the keyboard's current layout into SoftProg? I'm using one of these liitle guys:

Image

But I haven't an old Windows box with a PS/2 port any more, so I'd like to simply assign a code to every switch on the keyboard as a one shot deal, and do all my own customisation with Soarer's Converter instead. By default, these AKEOCTI models have a few unassigned keys which I need to alter, along with the 00 key. And my experiments with SoftProg at a friend's didn't get anywhere. We couldn't even send a new map to the keyboard, as trying would crash the app. Windows 8 a no go?

User avatar
elecplus

30 Nov 2014, 23:42

I have plenty of old machines with XP and PS/2 ports, but unfortunately we are not in close proximity :-)
Maybe a friend has an old XP laptop with a PS/2 connector on the back?

User avatar
Muirium
µ

30 Nov 2014, 23:56

The software is just as bad as Davkol says. (Real bad. Tipro bad!) Ideally, I'd like to program these without it entirely. We've mastered PS/2 already, and much more arcane things besides. Anyone interested in meeting the internal remap challenge? Help us access our Access-IS boards, and type on our Tipros!

User avatar
Muirium
µ

01 Dec 2014, 16:50

Good news.
IMG_4997.JPG
IMG_4997.JPG (585.23 KiB) Viewed 1886 times
That looks like a nice naked matrix to me! Naturally, I intend to swap out the controller and run my own instead. Phew!

andrewjoy

01 Dec 2014, 18:11

i may do that too :). But i always keep an old PC around you never know when you may need a real serial, parallel or PS/2 port. I have an compaq deskpro EN SFF upgraded to the max with a 1.3 P3 ( had to use an adaptor for the socket :P ahh the good old days) maxed out ram and HDD would not touch any of that P4 rubbish.

i am guessing once programmed you can blue cube it up ?

if you do a controller swap post pictures

User avatar
Muirium
µ

01 Dec 2014, 18:16

I'll start a picture thread since I shot a bunch more than that one. Might even pick up a few tips that way if people notice it. The ribbon cable is soldered on both ends and I'm wondering what the best way is to jack into it when I ditch the controller board.

Besides that, my plan is simply Soarer's Controller (which I'm already comfortable with) on a Teensy 2++ so I have the pins for the matrix. There's diodes on every switch, so Access made a very nice little modular NKRO board for us to play with! Without that god awful software of theirs.

andrewjoy

01 Dec 2014, 18:40

i think there is a larger version of the pro micro you can use right ? teensy 2++ is quite expensive in the UK

i don't mind programming it on the PS2 for now for what i need its a program once and go kind of job as it will just emulate the standard gamer wasd 123 shift alt and so on

guessing its plate mounted ?

User avatar
Muirium
µ

01 Dec 2014, 18:57

Plate mount, aye.

15 columns plus 6 rows is just 21 pins, actually, so you could cram it all on a regular Teensy 2. But then again that ribbon cable is 32 pins wide! Could be a lot of blank ones in there, I guess. The matrix needs exploring with a continuity meter sometime. But right now I've got the board back together on PS/2, as I'm typing on it.

Should I run a little EU Teensy GB again? The last time with Wcass was great, and I've some luggage I could utilise anyway. Always short of the buggers!

User avatar
Nuum

01 Dec 2014, 19:11

Yes, Teensy GB!

andrewjoy

01 Dec 2014, 20:10

you know when you will be able to ship the rest of the baords ? Could you put a copy of the software on floppy disk for me ? he he only kidding . my usb floppy drive did die recently and now i am sad .

User avatar
dorkvader

03 Dec 2014, 23:13

davkol wrote: I've happened to get an Access-IS keypad, but couldn't find much info on remapping the keys, programming macros, you name it. All the threads were about Tipro instead. Therefore, a brief overview/tutorial here. Beware, it's work in progress.
That's 'cause my writeup (and for a while: definitive guide) from 2012 was on GH, not DT (and so the images were lost in the rootwyrm).
https://geekhack.org/index.php?topic=38365.0

Gotta remember to check at GH for good info.

I'll read over your guide and see if anything needs adding.

Note #1
softprog32 will run on just about any computer but you need a wndows XP 32 to do the flashing of the firmware. I recommend coming up with a firmware file first and then using your old slow junk computer only for the flashing.

note #2
You don't need windows XP 32 specifically, any windows 32 bit of that generation can be used. For example, I successfully did it with windows FLP (fundamentals for legacy PCs), presumably the server version of XP would work too. XP professional 64 bit will not work.

@muirium: one reason I love love love access-IS is that just about all their KBs come with a seperate controller. Unfortunately, some of the newer ones (like yours) are a close-pitch connector that will be a pain to solder to. Best of luck.
https://www.flickr.com/photos/dork_vade ... 196279627/
^pictures of my old ones (recently sold). Note the huge pin header between the controller and matrix PCB: very easy to solder to.

User avatar
Bob

19 Jun 2016, 03:20

Thanks for starting this topic - I hope that you'll come back and keep working on your guide because Access-IS really do make great keypads/boards; they just need more support topics.

I bought a 15x8 matrix layout board from UKKeycaps (model: AKEOCTD300/2) and I’m loving it so far. I’ve mostly programmed everything I want into it, apart from a few macros, and it seems to work well for gaming via PS/2, though it’s not the most comfortable thing to type on right now, but I’m guessing it’s just a matter of getting used to the matrix layout and, more importantly, getting a uniform profile keyset (my board is a bit of a mess of different heights at the moment).
davkol wrote: Bad news, only standard ~105 keys (and macros consisting of them) are supported. No multimedia keys or F13+.
Actually, it seems so long as your Access-IS keypad supports entering scancodes you can program more than just the standard keys. According to Access-IS “this is option is only available on PS/2 keyboards and USB HID devices, which use a custom interface. It cannot be implemented with standard USB keyboard functionality”. If you want to check if your device, or one you are considering purchasing, can take scancodes: just install Softprog, load up the template for the board you want to use, and when you edit a key see if you have the option for hex codes.

I've been able to get standard media functions working with my board by using set 2 “make” codes (there’s nowhere to enter “break” codes, but they don’t seem to be required). The only media function I’ve been having trouble with is eject, but then it’s not exactly a standard media key. I think setting an eject key should be possible with the right code as there are keyboards that can do it, but the eject scancodes I've tried so far haven't worked for me – if I find one that does it I’ll post it here.

To program media keys, select “Hex Codes” from the “key data” tab when editing a key, and select "Scan Set 2 Codes". Then all you need to do is type in the alphanumerics and Softprog will automatically put in the comma and space for you. The scancodes I used for my media keys are listed below:

Play: E0, 34
Stop: E0, 3B
Next: E0, 4D
Prev: E0, 15
Vol+: E0, 32
Vol-: E0, 21
Mute: E0, 23

The bad news is: these set 2 scancodes will not work if you run the board through a USB adapter. USB devices have different scancodes, and your computer would most likely be recognising the keyboard as a USB device when you run it through an adapter. I have seen USB scancodes for mute (7F), vol+ (80), and vol- (81), though not any of the other media functions. I’m not keen on investigating these scancodes further as I have found that while my keyboard seems to have n-key rollover via PS/2, it only appears to have 4-key rollover via USB adaptor (I used Surgeon Simulator to test this and could only get 4 out of 5 fingers to grip at any one time while using the USB adaptor).

Media keys didn't seem like a hassle for me; the biggest problem I had with programming my board was getting the capslock key to work normally. I thought it would be a great idea to set the capslock and numlock states to off in the keyboard system parameters so that it would always be off when I booted my PC, but didn’t realise this would essentially disable capslock/numlock. In the end it just needed “don’t care” for the keyboard system parameters, and “default capslock/numlock state” for each key… so basically just don’t change any settings regarding capslock. I’m guessing these options may be useful in a POS environment, but the template is set up for standard keyboard functionality by default. I also ran into a problem where the caps key kept turning into a layer shift key, but clearing the key and re-entering the function seemed to do the trick. [edit: This issue where capslock would turn into a layer shift key seems to only happen when using Softprog on a laptop running Windows 8.1 (for planning the layout only). The problem doesn't seem to affect my Win7 64bit PC, or the old XP 32bit machine that I use for actually loading the file onto the keyboard.]

I hope this helps someone out there, and would be happy to answer any questions.

User avatar
deacon

25 Aug 2019, 06:18

The software now isn't available on the site but it's still on their server. I found it with web.archive.org.

http://downloads.access-is.com/Setup_Softprog_4_06.msi

Maybe this will help someone else.

Post Reply

Return to “Workshop”