Programming a Tipro board on-the-fly like a Cherry G80-2100

User avatar
kbdfr
The Tiproman

18 Aug 2011, 07:29

Spharx wrote:Multimedia Buttons won't work with the old version controllers (3.*) .. every mid module I saw had old controllers :x
Did you try programming custom codes? Klick desired key, then in the menu: Interface -> Custom codes and in the scanline type for example $23 for "Mute". Perhaps you will have to change the interface delay in the "Preferences" menu.

User avatar
Minskleip

18 Aug 2011, 09:22

kbdfr wrote:
Minskleip wrote:
intealls wrote:I *think* the problem with that setup would be that the modules are not able to share the same layer configuration, so if you shift to layer 2 on device one, device two will not shift to that layer. I need them to share the layer config :/
Oh bummer. Anyone to confirm this?
I'm not quite sure what exactly is to be confirmed, but here is the way Tipro modules connected with each other work:
  • "extern" connection (module 1 connected to the computer, module 2 connected to the PS/2 port of module 1):
    - only module 1 is recognised by the programming software and can be programmed;
    - modules share NumLock, CapsLock and ScrollLock: press key on any module, all modules will be affected;
    - modules do not share ShiftToLayerX nor LockToLayerX: each module where these functions are used is affected individually;
    - modules do not share Shift, module 2 will affect module 1 but not the other way round. In other words, the command works towards the computer but not inversely. So Shift+a on any module will deliver A, Shift(module2)+a(module1) will deliver A, but Shift(module1)+a(module2) will have the effect of blocking output as long as Shift is pressed and then delivering a.
  • "intern" connection (module 1and module 2 connected via Tipro bus):
    - all modules are recognised by the programming software and can be programmed;
    - all modules share everything. Shift(any module)+a(any module) will always deliver A. In fact, all modules together act as one keyboard.
So obviously the idea of a split keyboard requires both modules to be connected via Tipro bus, which in its actual form (very short cable connects units joined together side by side) is... incompatible with a split keyboard. It would be necessary to "externalise" the Tipro bus so that keyboards can be connected via an external cable.

In my opininon the best solution would be to install a socket on the small removable cover at the rear of the keyboard (which obviously is prepared for adding such a socket, PS/2 size) and connect it to the Tipro bus. The Tipro connector itself could be used for units up to 8x8, bigger units would require a somewhat longer internal cable. This solution would have the advantage of leaving the keyboard itself completely unaffected otherwise and of allowing swapping between any Tipro keyboards.

If anyone has the necessary skills, I'd be interested in six units, please :mrgreen:
Thank you kbdfr! Looks like I have to extend the cable :ugeek:

intealls

18 Aug 2011, 13:15

kbdfr wrote:
Minskleip wrote:
intealls wrote:I *think* the problem with that setup would be that the modules are not able to share the same layer configuration, so if you shift to layer 2 on device one, device two will not shift to that layer. I need them to share the layer config :/
Oh bummer. Anyone to confirm this?
I'm not quite sure what exactly is to be confirmed, but here is the way Tipro modules connected with each other work:
  • "extern" connection (module 1 connected to the computer, module 2 connected to the PS/2 port of module 1):
    - only module 1 is recognised by the programming software and can be programmed;
    - modules share NumLock, CapsLock and ScrollLock: press key on any module, all modules will be affected;
    - modules do not share ShiftToLayerX nor LockToLayerX: each module where these functions are used is affected individually;
    - modules do not share Shift, module 2 will affect module 1 but not the other way round. In other words, the command works towards the computer but not inversely. So Shift+a on any module will deliver A, Shift(module2)+a(module1) will deliver A, but Shift(module1)+a(module2) will have the effect of blocking output as long as Shift is pressed and then delivering a.
  • "intern" connection (module 1and module 2 connected via Tipro bus):
    - all modules are recognised by the programming software and can be programmed;
    - all modules share everything. Shift(any module)+a(any module) will always deliver A. In fact, all modules together act as one keyboard.
So obviously the idea of a split keyboard requires both modules to be connected via Tipro bus, which in its actual form (very short cable connects units joined together side by side) is... incompatible with a split keyboard. It would be necessary to "externalise" the Tipro bus so that keyboards can be connected via an external cable.

In my opininon the best solution would be to install a socket on the small removable cover at the rear of the keyboard (which obviously is prepared for adding such a socket, PS/2 size) and connect it to the Tipro bus. The Tipro connector itself could be used for units up to 8x8, bigger units would require a somewhat longer internal cable. This solution would have the advantage of leaving the keyboard itself completely unaffected otherwise and of allowing swapping between any Tipro keyboards.

If anyone has the necessary skills, I'd be interested in six units, please :mrgreen:
Okay! Thanks very much for the thorough explanation. You truly are worthy of the title of Tiproman :D

User avatar
7bit

18 Aug 2011, 14:09

Spharx wrote:Yep its a scancode that the controller does not support. At least F13 & etc. will do do job.
Look at the second post, there should be all codes that the controller is able to work with (if I found all :lol: )
Just tried codes like $E0,$80,$F0,$E0,$80 and up and they all work.

I will try these with the 32 key modules.

One moment please ...

User avatar
Minskleip

18 Aug 2011, 14:24

7bit wrote:
Spharx wrote:Yep its a scancode that the controller does not support. At least F13 & etc. will do do job.
Look at the second post, there should be all codes that the controller is able to work with (if I found all :lol: )
Just tried codes like $E0,$80,$F0,$E0,$80 and up and they all work.

I will try these with the 32 key modules.

One moment please ...
Please share your findings. I'm not having much success with custom codes hehe. With $23 I get stuff like shift+9 etc, and doing the F24 code like Spharx showed doesn't work at all. PC speaker just beeps for that button, and when connecting it to Teensy, Teensy reports that just F0 is sent.. :?:

User avatar
Spharx

18 Aug 2011, 14:49

Minskleip wrote:Please share your findings. I'm not having much success with custom codes hehe. With $23 I get stuff like shift+9 etc, and doing the F24 code like Spharx showed doesn't work at all. PC speaker just beeps for that button, and when connecting it to Teensy, Teensy reports that just F0 is sent.. :?:
Hmm quiet interesting ... I have done it with the German layout in the settings of ChangeMe and at least the normal keys worked correctly since I could test them.
But i am not quiet sure about the special codes like the F24 because I do not have any soft- or hardware that is detecting them. Only ChangeMe could show me that the code will be interpreted as a F24.

Btw. my machine is running Win7 32B with the normal "speed" settings in ChangeMe. The module was at that time a MID 128 Button one.
7bit wrote:Just tried codes like $E0,$80,$F0,$E0,$80 and up and they all work.
Ohh a F0 ?? There we have it my list is not complete.

User avatar
7bit

18 Aug 2011, 16:12

Minskleip wrote:
7bit wrote:
Spharx wrote:Yep its a scancode that the controller does not support. At least F13 & etc. will do do job.
Look at the second post, there should be all codes that the controller is able to work with (if I found all :lol: )
Just tried codes like $E0,$80,$F0,$E0,$80 and up and they all work.

I will try these with the 32 key modules.

One moment please ...
Please share your findings. I'm not having much success with custom codes hehe. With $23 I get stuff like shift+9 etc, and doing the F24 code like Spharx showed doesn't work at all. PC speaker just beeps for that button, and when connecting it to Teensy, Teensy reports that just F0 is sent.. :?:
Custom codes do not work the same way as with the TMC-something. They are all separate keycodes, ie you can't enter
break codes because they would show up as 3 keys strokes.(they are also not necessary)

It is definitely not scancode set 1 or 2, because the break codes are treated as separate key presses. It is not set 3 either, because the numbers are different, so I don't know what kind of scancode set it is.

I will have to test the 32 key module which came with my big Tipro TMC-...

Nevertheless, it is not that bad at all!

Three 32 key units can be programmed with distinctive codes from a 104 key keyboard.


Spharx wrote:Hmm quiet interesting ... I have done it with the German layout in the settings of ChangeMe and at least the normal keys worked correctly since I could test them.
But i am not quiet sure about the special codes like the F24 because I do not have any soft- or hardware that is detecting them. Only ChangeMe could show me that the code will be interpreted as a F24.

Btw. my machine is running Win7 32B with the normal "speed" settings in ChangeMe. The module was at that time a MID 128 Button one.
7bit wrote:Just tried codes like $E0,$80,$F0,$E0,$80 and up and they all work.
Ohh a F0 ?? There we have it my list is not complete.
These codes work with the big Tipro TMC-..., not the 32 key units.

For testing:
Just switch to console 1 (tty1) and run

showkey -s

Then type your keys and the codes show up.

User avatar
kbdfr
The Tiproman

18 Aug 2011, 16:20

ITipro :D

User avatar
kbdfr
The Tiproman

18 Aug 2011, 16:34

kbdfr wrote:ITipro :D
To type a "heart" character, press and hold the left Alt key, press "3" on the number pad and release both keys (this will not work in every application).
Of course this is a sequence you can program in a Tipro keyboard :mrgreen:

User avatar
Minskleip

18 Aug 2011, 17:53

I programmed a few keys with my Teensy to be F13 to F24, and pressed them in Changeme; Changeme understood them and created a line like Spharx's example, however it wasn't programmed successfully. Media keys were not understood. A bit disappointing, but it's not too bad. I'll program them with layers with as many distinctive keys as possible and hook them up with the Teensy for remapping (I need F13 hehe) and mouse keys!

User avatar
7bit

18 Aug 2011, 18:02

Minskleip wrote:I programmed a few keys with my Teensy to be F13 to F24, and pressed them in Changeme; Changeme understood them and created a line like Spharx's example, however it wasn't programmed successfully. Media keys were not understood. A bit disappointing, but it's not too bad. I'll program them with layers with as many distinctive keys as possible and hook them up with the Teensy for remapping (I need F13 hehe) and mouse keys!
This seems the only way. Let me know if you find key codes that are programmable and which are not on a normal keyboard.

@kbdfr: I've hooked a MID-KM032 to my TMC... via the Tipro bus, but they both just blink and do nothing together.

Could I've done anything wrong?

I just plugged the cable from the 32 keypad (right) to the 122 keyboard (left).

User avatar
Minskleip

18 Aug 2011, 18:07

I'll try with an older version of Changeme. It's so strange that you can select F13 to F16 in the menu (!) without it being programmed right. When pressing the F13 button (after pressing some other keys) in the scanline testing tool in Changeme, I get an error about a lone break code (that which Teensy reported) when I press the clear button.

7bit, I'll tell if I find any other keys.

To work!

User avatar
kbdfr
The Tiproman

18 Aug 2011, 18:10

7bit wrote:@kbdfr: I've hooked a MID-KM032 to my TMC... via the Tipro bus, but they both just blink and do nothing together.

Could I've done anything wrong?

I just plugged the cable from the 32 keypad (right) to the 122 keyboard (left).
Sorry, that's a configuration I haven't tried. I have only MID keyboards because those TM modules are just ugly.
But I don't know why it shouldn't work:
http://deskthority.net/viewtopic.php?f=7&t=543

User avatar
7bit

18 Aug 2011, 18:13

Minskleip wrote:I'll try with an older version of Changeme. It's so strange that you can select F13 to F16 in the menu (!) without it being programmed right. When pressing the F13 button (after pressing some other keys) in the scanline testing tool in Changeme, I get an error about a lone break code (that which Teensy reported) when I press the clear button.

7bit, I'll tell if I find any other keys.

To work!
This behavior is similar to the 122 key unit with the exception that it is possible to enter set 2 keycodes (custom codes). The 32 key modules don't treat these custom codes as set 2. :sad:

BTW: Are you really able to program it with just an ordinary 6 pin cable?

User avatar
Minskleip

18 Aug 2011, 18:16

Could it be some kind of ascii?

Yes, after I connected it to my 32 bit machine it works great with a modded ps2 cable. Only problem is the higher F keys.

kbdfr: do you have an older version of Changeme?

User avatar
kbdfr
The Tiproman

18 Aug 2011, 18:32

Minskleip wrote:kbdfr: do you have an older version of Changeme?
It says: Ver. 5.6.0.

User avatar
Minskleip

18 Aug 2011, 18:35

kbdfr wrote:
Minskleip wrote:kbdfr: do you have an older version of Changeme?
It says: Ver. 5.6.0.
Do you mind sharing? I haven't had any luck finding anything but the latest version online :)

User avatar
kbdfr
The Tiproman

18 Aug 2011, 19:00

Minskleip wrote:
kbdfr wrote:
Minskleip wrote:kbdfr: do you have an older version of Changeme?
It says: Ver. 5.6.0.
Do you mind sharing? I haven't had any luck finding anything but the latest version online :)
I'm afraid it will be no use :cry:

Just tried that 32 key unit again and now it does behave in an anormal way. First the codes were accepted but not correctly issued, then I set the unit back to factory default and now it does not accept any programming at all. And I have no time at all to further try anything.

User avatar
7bit

18 Aug 2011, 20:05

kbdfr wrote:Just tried that 32 key unit again and now it does behave in an anormal way. First the codes were accepted but not correctly issued, then I set the unit back to factory default and now it does not accept any programming at all. And I have no time at all to further try anything.
Did you reboot your computer? If it is broken, I can deliver you some replacements really soon now ...
:roll:

Nevertheless, I've found out that the numpad which came with my 122 key Tipro does not have a controller unit inside. So maybe it is possible to just remove the controller of the MID 32 key units to make them work with the TMC ...

User avatar
Minskleip

18 Aug 2011, 20:12

kbdfr: That sucks; good luck fixing it!

I've made some success/progress/hack with Tipro + Teensy via ps2->usb (lol). The Tipro is a bit too fast, so you have to add some delays between keypresses. I've programmed some keys to send F1 + number. Then, in Teensy I've made F1 a fn key for a layer with just various hotkeys, like volume up and down etc. When I now press the volume up button on the Tipro, the layer is changed, and the scan code for volume up is sent once to the computer, then the layer is changed back again. It works, but it's dead slow since it changes layer twice for each volume step. Needs tweaking.

intealls

18 Aug 2011, 21:35

IT'S ALIVE!!!

Sorry about the gargantuan picture, not on my main rig.

Typing on it now, it's probably gonna take a while to get used to the new layout and the non-staggered keys. :)

The switches are awesome though, Cherry blacks + plate mount + Cherry doubleshots is an awesome combination. It's unfortunate though that the legends make no sense whatsoever.
tipro-1.JPG
tipro-1.JPG (669.7 KiB) Viewed 7809 times

User avatar
Spharx

18 Aug 2011, 21:35

@Minskleip: I was interested on the Teensy's before this thread. Combining the Tipros with the Teensy could be also for me useful somehow. So could you share some pic's of your current Tipro + Teensy arrangement ?

@intealls: you should try some 64 button modules :lol:
Did you made some holes in the case in order to attach the Bus? At least its locks so.

intealls

18 Aug 2011, 21:40

Spharx wrote:@intealls: you should try some 64 button modules :lol:
Did you made some holes in the case in order to attach the Bus? At least its locks so.
But then you won't get the awesome split thing going!#!!

User avatar
Spharx

18 Aug 2011, 21:46

No i meant 2 x 64 Bttn modules :)

intealls

18 Aug 2011, 21:51

hehe, maybe. I'll see how this works for now. It is actually kind of confusing to not have a number row :D The feel of the split is kind of awesome though, and these Tipros are real well built!

Nah, no hole. I just removed the side covers :) It's just for testing, if I decide to keep this configuration, I'll tidy it up a bit

User avatar
Minskleip

18 Aug 2011, 22:08

Spharx: The picture is not very well, but there's too much crap here to show more haha. The Tipro goes into the ps2 on the Teensy, which goes into usb on the computer.
IMG_20110812_224035.jpeg
IMG_20110812_224035.jpeg (978.59 KiB) Viewed 7797 times
intealls: awesome! What kind of cable did you use to connect the bus?

intealls

18 Aug 2011, 22:15

Minskleip wrote:intealls: awesome! What kind of cable did you use to connect the bus?
I simply extended a bus cable I took from one of the units :)

User avatar
Minskleip

18 Aug 2011, 22:22

I mean the grey one; a random cable with 6 leads?

intealls

18 Aug 2011, 22:25

Minskleip wrote:I mean the grey one; a random cable with 6 leads?
Ah, I think it was a firewire cable or something. It was the only one in my pile 'o cables with exactly six leads

User avatar
Minskleip

18 Aug 2011, 22:32

Thanks, maybe I'll find a network cable or something lying around. That split setup looks great! Try making a virtual numpad; the matrix layout makes that perfect!

Post Reply

Return to “Workshop”