Jump to content

X-Keys Matrix and Macroworks


Mano

Recommended Posts

Hi all,

 

I'm looking around for info about the construction of some BlackShark systems. I don't want to build the whole cockpit (beacuse of space...for the moment), but I'm more oriented building some of the instruments I cannot manage with my Hotas, like the Datalink Console, or the PVI-800, or countermeasures console.

 

I've noticed the X-Keys Matrix by P.I. Engineering, and it seems to be ok for my work.

 

128 keys, with USB input. I would have just to create a little distribution board so that I wouldn't touch the original interface board, and then connect switches or buttons to diodes and the right contacts by row and column. After that, with MacroWorks software I would configure my macros in order to assign the sim commands. (this link for reference: http://cnsapam.blogspot.com/2008/11/x-keys-f-16-mini-cockpit.html)

 

Is it all that *simple*? Anyone has it? Does it really work with BS (I've survived hardly for the configuration of my X52Pro profile with BS! I hope Macroworks wouldn't create so much problems).

 

The software works good with switches and macros? So that it would stop a continuous input from a toggle switch.

 

It would be possible (by your experience) assign a rotary (like the PVI-800 mode selector) to this board? Or a three-ways toggle switch (like that of countermeasures programmer)?

 

 

Thank you for your answers. I hope you can share your experience (if any) with this interface, so I would decide if it's a path I can walk or not...

 

Regards

Mano

Link to comment
Share on other sites

Once you get your head round the idea of a matrix, using boards like this is easy.

 

X-keys boards are unique in the way that they work, scan codes are stored on the card itself. I dont know about macros however. For that i would speak to their support staff.

 

I do know however, that rotary switches, and toggles will work just fine.

 

Remember though - this is not like some of the other boards out there. this one works like a programmable keyboard where as others work like a directx joystick.

 

But, even without the ability to use macros - a couple of these would suffice to recreate nearly all of the functions of a KA-50.

 

If you where to use this card as a basis for the toggle and rotary switches you mist remember that there is no way for this card to tell the sim which setting it is pointing to. For example:

 

counter measures = left - both - right

Switch position = A -> A -> A

 

 

lets say the keypress for this toggle is the latter A. So pressing A will move the switch from one side to the other - usually it works from left to right. Programming the card will result in the card pressing the latter A whenever the switch is moved from one position to the other.

 

This means that you will have to set up your switches BEFORE you take off or they will be out of sync. I have to do this as well and although it can be a pain - its what real pilots do anyway.

 

hope this helps.

[sIGPIC][/sIGPIC]

Is it a bird? Is it a plane? No - Its a Stinger - Damn.......

 

My Pit - http://forums.eagle.ru/showthread.php?t=42253

Link to comment
Share on other sites

Hi Mano,

I used to have an X-keys matrix board hooked up to 100+ switches, for Falcon. I've switched to a 19" touchscreen, because that gives me much more flexibility. I can create a layout for every aircraft I fly (Falcon, BlackShark, Flaming Cliffs...)

With X-keys, I always had to use my F-16-like panel, where all the switches were located to more or less look like an F-16-pit.

In addition to that, a touchscreen combined with the free Touchbuddy-program gives you a lot more then 128 possibilities. With the tab-pages you can group controls or panels on separate pages.

 

The X-keys will work with BS, no problem. The Macroworks-driver will just send the key-press you programmed to that switch to whatever program has the focus at that moment. To the computer and the program it will look like you pressed a keyboardkey.

 

Programming a toggle switch ; yes it is possible to have it just send one keypress. You can program it to send a certain keypress when you close the switch, and another (different) keypress when you open the switch.

Rotaries : use a 4 position rotary switch and assign a keypress to each position.

(so it will look like there's for separate switches connected to the X-keys)

Three-way toggle switch : example

left position : flares left

middle position : flares both sides

right position : flares right

The problem here is that BS only knows one command for this function : "]-RAlt", so no matter what side you will push your switch (left or right) the same keypress will be generated.

Buy a three position switch NO-NO (normal open - normal open) So when the toggle is in the middle, both contact are open. This means you will need two connections to your x-keys, one for left and one for right. In macroworks you will program the left switch that when it closes it generates the keypress. And then program it again to send the same keypress when the switch opens again. Do the same thing for the right side of the switch.

The problem is that there is no way of knowing for BS which side you've pressed, so you may push the switch left while the animation in BS goes right or to the center.

Furthermore, I seem to recall some issues with keys being closed accidentely on startup (left in position from previous flight) which caused strange behaviour (lock-ups, long loading times, weird keypresses)

I find the touchscreen/touchbuddy-combination much more userfriendly and flexible. No drilling holes and connecting wires, just paste a switch-picture on your screen and add a macro- done.

Besides, in my case, X-keys and all the switches and other stuff cost me as much as my touchscreen.

i7 6700k/GTX1070-8G/MSI-Z170A Gaming Pro Carbon/32GB DDR4 Kingston HyperX PREDATOR DDR4 3000MHZ Vengeance 1600/TM Warthog #6106/Samsung SB350_S27B350H/OCZ Agility3 SSD 128GB / Win10-64/TIR5



 

 

Link to comment
Share on other sites

for switches like the one on the flares - just do what i did. Have a single push button. press it once - ot moves to the middle - press it again - moves to the right etc.

 

Works for every rotary on the game. If you have Tir you dont need to bother about rotaries.

[sIGPIC][/sIGPIC]

Is it a bird? Is it a plane? No - Its a Stinger - Damn.......

 

My Pit - http://forums.eagle.ru/showthread.php?t=42253

Link to comment
Share on other sites

Thank you guys for your helpful answers!

 

so it would be really simple to create a panel with x-keys (matrices are not a problem...wiring & electronics could be!).

 

@ Talisman: sorry probably I misused the term Macros -> with that term I intended multiple keypresses like "]+RAlt". Actually a macro is a sequence of keypresses, is that correct?

 

@ Bengo: thank you for sharing your experience.

But I have two questions...

 

1. About the rotaries: for example the PVI mode selector rotary is "RAlt+R" (keypresses are fictional) for clockwise rotation, and "RShift+R" for counter-clockwise. I don't understand how I would program it. I thought of it as the rotary knows where it's rotating (clock or counter-clock wise), but I think that's not possible without an encoder. So what's the matter with your example of a 4 position rotary switch? You couldn't assign in blackshark 4 keypresses for a rotary, is it?

 

2. for the 3-pos switch, I don't think the example you wrote works, or at least I've not understood it correctly. If I'll use two connections I would have like two separate indipendent switches. So for the right one I would put for the ON-state the keypress "A"; For the OFF-state I would have to send a macro that presses A for 2 times (1st -> switch to LEFT pos ingame, 2nd -> switch to CENTER pos ingame). Instead for the left switch, the ON state would be a macro that presses A for 2 times (1st -> right, 2nd -> left), and the OFF state would be a single keypress A (to center).

 

Would it work? Does macroworks correctly manage macros in BS.

 

ANyway thank you for your support...I'm seriously thinking in buying one X-Keys matrix...the touchscreen for the moment is a bit expensive (and despite of its flexibility, I think it would lack too much realism for me).

 

best regards.

Link to comment
Share on other sites

Yes that was what i ment, you can not add more than one macro funtion like Alt-A, pause Alt-B, pause Alt-D etc.

Have a look on the website - it specifically mentions the following.

"Any switch, even toggle and rotary switches, can be connected to the matrix."

I assume that means no encoder. just a switch.

so:

 

switch would be:

.....1

..8 ....2

7....C... 3

..6 .....4

......5

 

common in the middle and 8 different switch connections. A real waste of effort and resources concidering you could just use a 2 position center return switch, one for left and one for right.

 

i think Bengo means: use a three position switch and only use the 2 outer contacts for your key presses and program them so that they work also when the toggle is released. so pressed = A and released = A.

so:

Left is programmed to press A when the switch in pushed over to the left. When you push the switch to the middle position, the left function will be released - this will result in it pressing A again. when you push to the right, A is pressed again. Then on the return to center the right is released and A is pressed again. This you get a three position switch but without needing to use 3 switch contacts on the matrix.

[sIGPIC][/sIGPIC]

Is it a bird? Is it a plane? No - Its a Stinger - Damn.......

 

My Pit - http://forums.eagle.ru/showthread.php?t=42253

Link to comment
Share on other sites

"Any switch, even toggle and rotary switches, can be connected to the matrix."

 

I think this meant that you can use even a toggle switch without the need of a relay to stop the continuous signal of a switch.

 

I assume that means no encoder. just a switch.

so:

 

switch would be:

.....1

..8 ....2

7....C... 3

..6 .....4

......5

 

common in the middle and 8 different switch connections.

 

ok, but how do I program a rotary switch like this? how does it know that I'm moving clockwise or counterclockwise? Blackshark has only 2 keypresses for that, one for CW and one for CCW. sorry but still I'm not getting it...

 

i think Bengo means: use a three position switch and only use the 2 outer contacts for your key presses and program them so that they work also when the toggle is released. so pressed = A and released = A.

so:

Left is programmed to press A when the switch in pushed over to the left. When you push the switch to the middle position, the left function will be released - this will result in it pressing A again. when you push to the right, A is pressed again. Then on the return to center the right is released and A is pressed again. This you get a three position switch but without needing to use 3 switch contacts on the matrix.

 

think of the left-both-right CMDispenser:

 

REALLIFE ----> LEFT --- BOTH --- RIGHT

------------------------- X

BLACKSHARK -> LEFT --- BOTH --- RIGHT

------------------------- X

 

Consider for example that BS interprets for every keypress (in this case "A") a sequence to the left. So if i start from CENTER Pos and I press A 2 times I'll get to RIGHT Pos skipping the BOTH Pos.

 

I connect like you say, I will obtain this:

 

REALLIFE ----> LEFT --- BOTH --- RIGHT

---------------- X

(1st keypress of "A" button)

BLACKSHARK -> LEFT --- BOTH --- RIGHT

---------------- X

 

 

REALLIFE ----> LEFT --- BOTH --- RIGHT

------------------------- X

(2nd keypress of "A" button)

BLACKSHARK -> LEFT --- BOTH --- RIGHT

----------------------------------- X

 

This is when my real life command gets out of sync with the sim. I think the simplest way to getaround this is to use macros like i said in last post, but I wonder if it exists an "hardware" workaround for this.

 

hope i've been clear.

 

thank you Talisman!:thumbup:

Link to comment
Share on other sites

Hey,

 

thanks for chipping in Talisman. :thumbup:

 

1) Indeed, rotary implementation requires encoders and can not be read by X-keys. Solution for X-keys : use two pushbuttons.

 

2)should work

 

Also check out :

http://www.viperpit.org/smf/index.php

i7 6700k/GTX1070-8G/MSI-Z170A Gaming Pro Carbon/32GB DDR4 Kingston HyperX PREDATOR DDR4 3000MHZ Vengeance 1600/TM Warthog #6106/Samsung SB350_S27B350H/OCZ Agility3 SSD 128GB / Win10-64/TIR5



 

 

Link to comment
Share on other sites

Does anyone know where I can buy an X-Keys Matrix from?

Instead of directly from PI Engineering site. Shipping costs would double total cost of the device...is there any european or private seller around that would low shipping costs?

 

thanks.

Link to comment
Share on other sites

Hey Mano,

 

Here's the key thing to know about interfacing to BS: there are two ways to go. One is the key press way you're thinking about; the other is with commands sent direct to the interface.

 

The key press way is simpler, but limited. For example rotary (multiple position) switches in the sim do not have keys for each position. Some use a key to move right 1 position and another key to move left 1 position. Some just use 1 key to move round and round.

 

The command interface way is more complex but more powerful. For example, you can set a rotary switch to whatever absolute position you want. You can use encoders and contunuously variabe (volume type)controls as well. This is also the way to go if you ever want output from the sim.

 

If you find yourseft drawn to the second approach, first give your head a shake (just kidding). Then start reading past posts in this forum. The topic might seem daunting at first but, trust me, we've got it pretty much scoped out.

 

Cheers,

Colin

 

PS Here's my example:

Link to comment
Share on other sites

I bought my X-keys matrix board from this company in the UK :

 

http://www.steadlands.com/

http://www.steadlands.com/pie/pages/xkeys.htm

 

My x-keys matrix board is sitting in the basement gathering dust, but I'm not gonna sell it because I know the week after I sell mine, something will come up that needs it. :D

i7 6700k/GTX1070-8G/MSI-Z170A Gaming Pro Carbon/32GB DDR4 Kingston HyperX PREDATOR DDR4 3000MHZ Vengeance 1600/TM Warthog #6106/Samsung SB350_S27B350H/OCZ Agility3 SSD 128GB / Win10-64/TIR5



 

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...