Jump to content

How to set up toggle switches (a tutorial)


Recommended Posts

Baldawg,

the first line of code should work with a maintained ON/OFF switch. If you have added it to the default.lua in the "Joystick" folder it should allow you to bind any maintained ON/OFF switch on your HOTAS or button box to that new command.

I don't like the term "toggle" in this context. A toggle command alternates (toggles) between ON and OFF each time the switch makes contact. Therefore a more logical name (in my opinion) for your new command would be "Alternator 1 ON/OFF".

 

I don't understand why you want to hack code into the .diff.lua. That file simply records control bindings you have added or deleted. You should not hack it.

 

Next you talk about the battery toggle but you don't explain what the issue is. You can handle it the same way as the Alternator 1 command using the command code "3520".

LeCuvier

Windows 10 Pro 64Bit | i7-4790 CPU |16 GB RAM|SSD System Disk|SSD Gaming Disk| MSI GTX-1080 Gaming 8 GB| Acer XB270HU | TM Warthog HOTAS | VKB Gladiator Pro | MongoosT-50 | MFG Crosswind Pedals | TrackIR 5

Link to comment
Share on other sites

Think their problem is that Desktop Aviator 2235 board, when flipped a ON/OFF switch for ON, in the board the button don't remain ON, but just send a briefly pulse - like hit a keyboard key:

 

2120B.gif

 

When turned for OFF will be send other briefly pulse, this is good for use ON/OFF switches in games with bad support for switches, (e.g. last IL-2 who have support for toggle switch only for flap, for the rest of commands is press the same key/button for ON, press again for OFF), but not for DCS or games that use different signal state for turn a command ON than OFF.

 

So with code like this

 

{down = 3522, up = 3522, cockpit_device_id = 8, value_down= 1, value_up = 0, name = _('Alternator 1 Toggle'), category = _('Electrical')},

 

The command will be simultaneous ON (1) an OFF (0) and result null for the plane.


Edited by Sokol1_br
Link to comment
Share on other sites

Nice animation Sokol! But if in fact the board works like this it's no good for this application. But isn't there a configuration software which would allow to produce maintained signals?

When I first used the DSD button box I had the same issue; but with their configuration software I could make the ON/OFF switches produce maintained signals.

LeCuvier

Windows 10 Pro 64Bit | i7-4790 CPU |16 GB RAM|SSD System Disk|SSD Gaming Disk| MSI GTX-1080 Gaming 8 GB| Acer XB270HU | TM Warthog HOTAS | VKB Gladiator Pro | MongoosT-50 | MFG Crosswind Pedals | TrackIR 5

Link to comment
Share on other sites

thanks for the replies....i remapped the offending to my saitek switch panel for now until i can rewire the switches i want to the DSD switchboards i recently purchased.

 

i figured the desktop aviator was the problem child in this playground i got going on here.

 

Heres a pic of the Universal pit ive been piecing together for a few years now...

20170325_131101.thumb.jpg.10278daf84e95d4f150db77e3bd3f55d.jpg

Win 10 Pro - Intel I7 12700k@4.9ghz water cooled - ASUS TUF Z690 -EVGA RTX 3080 12G Hybrid - EVGA 1000W PSU - 32GB 3200 G-Skill XMP- Reverb G2 -Custom mip and side panels - Leo Bodnar  BBI32x2, BBI64x4 - TM Warthog HOTAS - TM Cougar MFD's x 3 - TM TPR pedals

Link to comment
Share on other sites

Can someone tell me why this doesn't work? I'm trying to use the EAC switch on my WH Throttle to switch the helmet-mounted system toggle on/off without double flicking. Based on this thread I have tried this line in the Throttle-HOTAS Warthog.lua in the KA-50\input\joystick\throttle folder:

 

{down = iCommandPlaneModeHelmet, up = iCommandPlaneModeHelmet, value_down = 1.0, value_up = 1.0, name = _("Helmet-mounted system On/Off"), category = _("Ins Targeting Mode Controls Panel PVR"), },

 

but the down position is still not turning the display off...

 

I see that I do not have device numbers like some other examples. I just don't know where to find them, none of the .lua I have looked at have anything comparable to imitate, with the exception of the kneeboards, there are no device IDs...?


Edited by smallberries
Link to comment
Share on other sites

{down = iCommandPlaneModeHelmet, up = iCommandPlaneModeHelmet, value_down = 1.0, value_up = 1.0, name = _("Helmet-mounted system On/Off"), category = _("Ins Targeting Mode Controls Panel PVR"), },

 

From a quick look, the value_down and value_up values are the same in that line.

 

You should probably try value_down = 0.0. In full:

 

{down = iCommandPlaneModeHelmet, up = iCommandPlaneModeHelmet, value_down = 0.0, value_up = 1.0, name = _("Helmet-mounted system On/Off"),  category = _("Ins Targeting Mode Controls Panel PVR"), },

Link to comment
Share on other sites

From a quick look, the value_down and value_up values are the same in that line.

 

You should probably try value_down = 0.0. In full:

 

{down = iCommandPlaneModeHelmet, up = iCommandPlaneModeHelmet, value_down = 0.0, value_up = 1.0, name = _("Helmet-mounted system On/Off"),  category = _("Ins Targeting Mode Controls Panel PVR"), },

 

Unfortunately, no dice. Also tried simply removing the values altogether, as it should work like a keypress (?) but also no-go.

 

P.S. Is it sufficient to quit the mission for control mods like monitor mods, or do we need to quit DCS altogether? Nvm I think I answered that one :P Quitting altogether is necessary for control mods, but not monitor mods apparently.


Edited by smallberries
Link to comment
Share on other sites

No chance here smallberries! The switch in the cockpit is clearly a maintained 2-position ON/OFF switch. But the the command "icommandPlaneModeHelmet" is implemented so that it works like a pushbutton. In my opinion this is an inconsistent implementation, but I'm afraid we'll have to live with it.

I tried to create a new command based on what I see in "clickabledata.lua" but it would not appear in the control bindings list.

LeCuvier

Windows 10 Pro 64Bit | i7-4790 CPU |16 GB RAM|SSD System Disk|SSD Gaming Disk| MSI GTX-1080 Gaming 8 GB| Acer XB270HU | TM Warthog HOTAS | VKB Gladiator Pro | MongoosT-50 | MFG Crosswind Pedals | TrackIR 5

Link to comment
Share on other sites

Being a stubborn character I tried something simple. The lines below show the original line in the "Throttle - HOTAS Warthog.lua" plus 2 added lines:

{down = iCommandPlaneModeHelmet,  name = _("Helmet-mounted system On/Off"),  category = _("Ins Targeting Mode Controls Panel PVR"), },
--Line added below HWF 26-APR-2017
{down = iCommandPlaneModeHelmet, up = iCommandPlaneModeHelmet, name = _('Helmet-mounted system 2-Pos. On/Off'), category = _('Ins Targeting Mode Controls Panel PVR')},

The first added line is just a comment that facilitates finding my edits in Notepad++. The 2nd added line is the new code. It is very simple. It tells the program to execute the command "iCommandPlaneModeHelmet" each time the switch status changes from OFF to ON or vice versa.

I would have expected that it would work correctly only if the switch was in the OFF position at mission start. But strangely it works correctly either way. Even when I disable the option "synchronize cockpit controls at mission start" it still works correctly.

That approach should also work with other switches that are maintained 2-position switches in the cockpit but implemented like pushbuttons in the program.

Note: the added line creates a new control binding option and therefore must have a name different from the original line. I do not, as a matter of principle, overwrite the original line so that I can always fall back to the original functionality.


Edited by LeCuvier

LeCuvier

Windows 10 Pro 64Bit | i7-4790 CPU |16 GB RAM|SSD System Disk|SSD Gaming Disk| MSI GTX-1080 Gaming 8 GB| Acer XB270HU | TM Warthog HOTAS | VKB Gladiator Pro | MongoosT-50 | MFG Crosswind Pedals | TrackIR 5

Link to comment
Share on other sites

Being a stubborn character I tried something simple. The lines below show the original line in the "Throttle - HOTAS Warthog.lua" plus 2 added lines:

{down = iCommandPlaneModeHelmet,  name = _("Helmet-mounted system On/Off"),  category = _("Ins Targeting Mode Controls Panel PVR"), },
--Line added below HWF 26-APR-2017
{down = iCommandPlaneModeHelmet, up = iCommandPlaneModeHelmet, name = _('Helmet-mounted system 2-Pos. On/Off'), category = _('Ins Targeting Mode Controls Panel PVR')},

The first added line is just a comment that facilitates finding my edits in Notepad++. The 2nd added line is the new code. It is very simple. It tells the program to execute the command "iCommandPlaneModeHelmet" each time the switch status changes from OFF to ON or vice versa.

I would have expected that it it would work correctly only if the switch was in the OFF position at mission start. But strangely it works correctly either way. Even when I disable the option "synchronize cockpit controls at mission start" it still works correctly.

That approach should also work with other switches that are maintained 2-position switches in the cockpit but implemented like pushbuttons in the program.

Note: the added line creates a new control binding option and therefore must have a name different from the original line. I do not, as a matter of principle, overwrite the original line so that I can always fall back to the original functionality.

 

Very nice, thanks!

 

edit: doh! copied it in and got no love :( still requires double flick, off position doesn't do anything.

 

P.S. changed the name of the keybind in the savedgames throttle.diff.lua to the new bind and now I'm wondering if the key can be assigned to both named commands to make it work?


Edited by smallberries
Link to comment
Share on other sites

OMG. Ban me from the forums, there is a 2-pos on/off keybind. I could just die.

That's the one you created with the added line in the "Throttle - HOTAS Warthog.lua". :)

And of course you need to bind a switch to it. :):)

By the way...

1. you cannot bind one switch or pushbutton to 2 commands

2. why do you want to edit the .diff.lua? That file records the changes you make in the control bindings and you should not edit it manually. If you do, you may create a mess.

LeCuvier

Windows 10 Pro 64Bit | i7-4790 CPU |16 GB RAM|SSD System Disk|SSD Gaming Disk| MSI GTX-1080 Gaming 8 GB| Acer XB270HU | TM Warthog HOTAS | VKB Gladiator Pro | MongoosT-50 | MFG Crosswind Pedals | TrackIR 5

Link to comment
Share on other sites

  • 2 weeks later...

I have a Thrustmaster Cougar, and I still use the Foxy software to program the buttons. I was just trying to find a way to eliminate the use of Foxy so I started plugging in the DX buttons into DCS Controls options when I realized I do in fact have instances where I use 1 button to toggle 2 separate commands (Like zooming in or out on the KA-50 Shkval). I just read through this post,,, editing the lua file is alot more difficult then using Foxy! Would have been nice to have a Toggle feature and perhaps Hold as well implemented in the controls options,, guess I'm staying with Foxy,,,

Windows 10 Pro - 64 Bit / ASUS ROG Strix B650E-F Gaming / AMD 7800X3D / G.Skill Trident Z5 NEO 64GB DDR5 6000 Ram / SSD M.2 SK hynix Platinum P41 2TB / MSI Gaming GeForce RTX 4090 SUPRIM Liquid X 24G / SteelSeries Arctis 7 Headset /LG-Ultragear 38" IPS LED Ultrawide HD Monitor (3840 x 1600) / Track IR4 / Thrustmaster TPR Pendular Rudder Pedals / Virpil HOTAS VPC Constellation ALPHA-R & VPC MongoosT-50CM3 Throttle

 

Link to comment
Share on other sites

I have a Thrustmaster Cougar, and I still use the Foxy software to program the buttons. I was just trying to find a way to eliminate the use of Foxy so I started plugging in the DX buttons into DCS Controls options when I realized I do in fact have instances where I use 1 button to toggle 2 separate commands (Like zooming in or out on the KA-50 Shkval). I just read through this post,,, editing the lua file is alot more difficult then using Foxy! Would have been nice to have a Toggle feature and perhaps Hold as well implemented in the controls options,, guess I'm staying with Foxy,,,

If Foxy works for you, why eliminate it? I abide by the rule "don't change a system that works".

With my TM Warthog HOTAS I was using Target and I had frequent crashes so I decided that it didn't work for me. That's essentially why I started editing the .lua files. It allowed me to get rid of Target and I don't find it difficult. But I agree with you: ED should provide more options in the default.lua files. As a minimum, they should support the use of physical switches that are the same type as the ones in the simulated cockpit. For most of the modules I own they did a good job with that; but on the KA-50 they didn't complete their work.


Edited by LeCuvier

LeCuvier

Windows 10 Pro 64Bit | i7-4790 CPU |16 GB RAM|SSD System Disk|SSD Gaming Disk| MSI GTX-1080 Gaming 8 GB| Acer XB270HU | TM Warthog HOTAS | VKB Gladiator Pro | MongoosT-50 | MFG Crosswind Pedals | TrackIR 5

Link to comment
Share on other sites

Why eliminate it you ask? Well, its only a matter of convenience. As an example, I cant tell you how many times I jumped in the server with a few guys on teamspeak and hopped in an A-10 with them only to find out after startup that my Foxy profile is set to the KA-50. That means I have to shut down the game completely , open foxy, and load another profile. It would be great not to have to do that. As far as Foxy goes, the ability to make the same button or switch have multiple function using the Toggle or hold or even the duration of hold down time is great! You cant do that currently in the DCS controls. I was just poking around trying to see if others have come up with an alternative. It would be nice to just hop in any module and have your HOTAS commands embedded as you wish.

Windows 10 Pro - 64 Bit / ASUS ROG Strix B650E-F Gaming / AMD 7800X3D / G.Skill Trident Z5 NEO 64GB DDR5 6000 Ram / SSD M.2 SK hynix Platinum P41 2TB / MSI Gaming GeForce RTX 4090 SUPRIM Liquid X 24G / SteelSeries Arctis 7 Headset /LG-Ultragear 38" IPS LED Ultrawide HD Monitor (3840 x 1600) / Track IR4 / Thrustmaster TPR Pendular Rudder Pedals / Virpil HOTAS VPC Constellation ALPHA-R & VPC MongoosT-50CM3 Throttle

 

Link to comment
Share on other sites

  • 2 months later...

This is driving me CRAZY! Iv read this entire thread and am still only having partial success...

 

I have had success when creating a code for mapping a DCS Toggle switch (ie TF51 LANDING GEAR UP/DOWN ) to one of my On-OFF-ON switches eg. GEAR UP and Gear Down. eg Orig Code:

{down = device_commands.Button_4, cockpit_device_id = devices.CONTROL_SYSTEM, value_down = 1.0, name = _('Landing Gear Up/Down'), category = _('Systems')},

 

My Code:

{down = device_commands.Button_4, cockpit_device_id = devices.CONTROL_SYSTEM, value_down = 0.0, name = _('Landing Gear Up'), category = _('My Cockpit')},

{down = device_commands.Button_4, cockpit_device_id = devices.CONTROL_SYSTEM, value_down = 1.0, name = _('Landing Gear Down'), category = _('My Cockpit')},

 

But I CAN NOT get my ON-OFF type switches to take a DCS Toggle. ie UH1H SAFE/ARMED.

 

Orig Code:

{down = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 0.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

 

My Code (which wont work):

{down = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 1.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

{down = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 0.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

 

I still have to cycle the ON-OFF switch twice to get the Armerment switch to go ON-OFF

 

Help needed please,,!

Occulus Rift i7-7700 3.6Ghz 16GB Ram 1080Ti 11GB SSDx2

Link to comment
Share on other sites

My Code (which wont work):

{down = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 1.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

{down = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 0.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

 

Not a solution,

but you're assigning two different values to the same action <value_down = >,

 

that can't be right

| VR goggles | Autopilot panel | Headtracker | TM HOTAS | G920 HOTAS | MS FFB 2 | Throttle Quadrants | 8600K | GTX 1080 | 64GB RAM| Win 10 x64 | Voicerecognition | 50" UHD TV monitor | 40" 1080p TV monitor | 2x 24" 1080p side monitors | 24" 1080p touchscreen |

Link to comment
Share on other sites

Not a solution,

but you're assigning two different values to the same action <value_down = >,

 

that can't be right

 

Yes, You are correct- it dosnt work! but why does the same principle correctly work in the other example i give??

Occulus Rift i7-7700 3.6Ghz 16GB Ram 1080Ti 11GB SSDx2

Link to comment
Share on other sites

Yes, You are correct- it dosnt work! but why does the same principle correctly work in the other example i give??

because the different buttons have different 'logic' in their 'mechanics'

they're the same in pairs, but do everything different in switching 'state'

 

I use good old TARGET to define those 'non default hardware' actions.

 

Gear up/down can be done in 1 toggle with a specific switch, but that's more the exception than the rule,

 

any other action 'when press' 'when release' one must use TARGET,

 

I didn't before with a 7970HD or a GTX 970 card, for it eats CPU, but now with a GTX 1080, I don't notice TARGET running.

| VR goggles | Autopilot panel | Headtracker | TM HOTAS | G920 HOTAS | MS FFB 2 | Throttle Quadrants | 8600K | GTX 1080 | 64GB RAM| Win 10 x64 | Voicerecognition | 50" UHD TV monitor | 40" 1080p TV monitor | 2x 24" 1080p side monitors | 24" 1080p touchscreen |

Link to comment
Share on other sites

Orig Code:

{down = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 0.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

 

My Code (which wont work):

{down = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 1.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

{down = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 0.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

Try this:

{down = device_commands.Button_13, up = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 0.0, value_up = 1.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

and see if it does what you want. Can't really check myself right now.

 

Generally, down=<button number> defines button that is depressed on a cockpit device (here XM 130) and value_down=<x> is the function value, which is passed to the device and triggers an action.

Similar with up=<button number> and value_up=<y>, only that this defines the action when the button is released.

 

So in your case, you were telling the program twice what to do when the button is depressed. It's like saying "when the light switch at home is pressed turn the light on and turn the light off". The program and your light switch at home cant handle that ;) So it was only the last command that actually had an effect in the code you wrote.

A warrior's mission is to foster the success of others.

i9-12900K | MSI RTX 3080Ti Suprim X | 128 GB Ram 3200 MHz DDR-4 | MSI MPG Edge Z690 | Samung EVO 980 Pro SSD | Virpil Stick, Throttle and Collective | MFG Crosswind | HP Reverb G2

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Try this:

{down = device_commands.Button_13, up = device_commands.Button_13, cockpit_device_id = devices.XM_130, value_down = 0.0, value_up = 1.0, name = _('SAFE/ARMED Switcher'), category = _('Pedestal')},

and see if it does what you want. Can't really check myself right now.

 

Generally, down=<button number> defines button that is depressed on a cockpit device (here XM 130) and value_down=<x> is the function value, which is passed to the device and triggers an action.

Similar with up=<button number> and value_up=<y>, only that this defines the action when the button is released.

 

So in your case, you were telling the program twice what to do when the button is depressed. It's like saying "when the light switch at home is pressed turn the light on and turn the light off". The program and your light switch at home cant handle that ;) So it was only the last command that actually had an effect in the code you wrote.

 

Cheers Funky, I understand what you are saying now... but....

 

I tried that code you posted. It seems to work about 60% of the time... the rest of the time the Hueys Armament Switch 'flicks' and gets out of sync with the switch position. its like its only sensing a spike of current. however the Microsoft Controller button properties show the switch either ON or OFF (no flickering). I also tried it with several other switches with the same 'intermittent' effect. (ie its not a HARDWARE issue)

 

Any ideas?

Occulus Rift i7-7700 3.6Ghz 16GB Ram 1080Ti 11GB SSDx2

Link to comment
Share on other sites

I don't have the Huey so I cannot test it; but in similar cases (use a maintained ON/OFF switch for a DCS Toggle command) I have used this kind of solution:

{down = device_commands.Button_13, up = device_commands.Button_13, cockpit_device_id = devices.XM_130,  value_down = 0.0, value_up = 0.0, name = _('SAFE/ARMED 2-Pos Switcher'), category =  _('Pedestal')},

Explanation:

1. The stock solution produces the same command value 0.0 each time the toggle is actuated. Therefore your mod also must produce the same command value in both switching directions.

2. The added command must have a name different from that of the original command (except if you overwrite the original command with the new one which I would not recommend).

Note: I have used this solution on several aircraft modules. It works well most for most of the commands, but for some commands on the KA-50 for example, the switch in the cockpit shows always the opposite position.

The document I posted here: https://forums.eagle.ru/showpost.php?p=2862001&postcount=214

has an example for this kind of solution.


Edited by LeCuvier

LeCuvier

Windows 10 Pro 64Bit | i7-4790 CPU |16 GB RAM|SSD System Disk|SSD Gaming Disk| MSI GTX-1080 Gaming 8 GB| Acer XB270HU | TM Warthog HOTAS | VKB Gladiator Pro | MongoosT-50 | MFG Crosswind Pedals | TrackIR 5

Link to comment
Share on other sites

I Do have the Huey, and got some questions about the desired result because i'm lost. Do you want to toggle the Armament-switch (master-arm) , e.g. Brrrrrrrrrrt, switch. Or the one that enables/disables your countermeasures?

 

XM_130 device == Countermeasures box. I'm kind of surprised it actually does something.

Link to comment
Share on other sites

I don't have the Huey so I cannot test it; but in similar cases (use a maintained ON/OFF switch for a DCS Toggle command) I have used this kind of solution:

{down = device_commands.Button_13, up = device_commands.Button_13, cockpit_device_id = devices.XM_130,  value_down = 0.0, value_up = 0.0, name = _('SAFE/ARMED 2-Pos Switcher'), category =  _('Pedestal')},

Explanation:

1. The stock solution produces the same command value 0.0 each time the toggle is actuated. Therefore your mod also must produce the same command value in both switching directions.

2. The added command must have a name different from that of the original command (except if you overwrite the original command with the new one which I would not recommend).

Note: I have used this solution on several aircraft modules. It works well most for most of the commands, but for some commands on the KA-50 for example, the switch in the cockpit shows always the opposite position.

The document I posted here: https://forums.eagle.ru/showpost.php?p=2862001&postcount=214

has an example for this kind of solution.

 

Thanks for trying to help. Your code was cut and paste. similar effect as funkys- a flickering/intermittant result. Very frustrating as im sure iv read through this forum that this can work..?!

 

Do i need to delete the original code im replacing- could that be 'corrupting' the added line?

 

sigh.... i will go try with some other toggle functions and see if i can get it to work....

Occulus Rift i7-7700 3.6Ghz 16GB Ram 1080Ti 11GB SSDx2

Link to comment
Share on other sites

I don't have the Huey so I cannot test it; but in similar cases (use a maintained ON/OFF switch for a DCS Toggle command) I have used this kind of solution:

{down = device_commands.Button_13, up = device_commands.Button_13, cockpit_device_id = devices.XM_130,  value_down = 0.0, value_up = 0.0, name = _('SAFE/ARMED 2-Pos Switcher'), category =  _('Pedestal')},

Explanation:

1. The stock solution produces the same command value 0.0 each time the toggle is actuated. Therefore your mod also must produce the same command value in both switching directions.

2. The added command must have a name different from that of the original command (except if you overwrite the original command with the new one which I would not recommend).

Note: I have used this solution on several aircraft modules. It works well most for most of the commands, but for some commands on the KA-50 for example, the switch in the cockpit shows always the opposite position.

The document I posted here: https://forums.eagle.ru/showpost.php?p=2862001&postcount=214

has an example for this kind of solution.

 

its getting late here so i will take your HOW TO .pdf and read thoroughly and be back tomorrow.!

Occulus Rift i7-7700 3.6Ghz 16GB Ram 1080Ti 11GB SSDx2

Link to comment
Share on other sites

  • Recently Browsing   0 members

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