Seitenkonsole: billiger Eigenbau

    • Seitenkonsole: billiger Eigenbau

      Moin Leute,
      Ich habe mich jetzt, nach Start der EA, mal wieder diesem Spiel gewidmet.
      Nun hatte ich auch mal Zeit für ein paar Projekte mit den Arduino- Entwicklerboards. Was lag da also näher, als mal eine Seitenkonsole selbst zu entwickeln?
      Das Logitech Side Panel ist ja doch relativ teuer (nicht falsch verstehen: Es ist sein Geld wert).
      Arduino- Boards mit dem ATmega 32u4 Microcontroller (Leonardo, Pro Micro usw.) können sich dem PC gegenüber als HID- Gerät ausgeben. Das heißt sie werden vom PC als Tastatur, Maus oder eben auch als Gamecontroller erkannt (Dafür muss man das Ding natürlich erst mal richtig programmiert haben :D )
      Ich habe mit einem Arduino Pro Micro Clon, einem Daumenstick, ein paar Microtastern und einer Pappschachtel mal einen kleinen Prototyp gebastelt.
      Kosten bis jetzt: ca.10€
      Bisher hat das Ding 16 Tasten und einen 2 Achsen Stick. Die Tasten benutze ich hauptsächlich für den Schnellzugriff. Das kann man bequem im Spiel händeln.
      Der Stick sollte für Frontlader sein. Hab aber im Spiel noch keine Möglichkeit gesehen, um Achsen der Frontladerbediehnung zu zuweisen. Kommt sicher noch. Bis dahin dient er zur Kamerasteuerung.
      Jetzt muss ich das ganze mal in ein richtiges Gehäuse bauen (ich brauche einen 3D Drucker ;) ) und mit mindestens einem 2. Joystick und mindesten 16 weitern Tasten erweitern.
      Natürlich richtigen Tasten und keine Microtaster. Mein Sketch ist, so wie es jetzt ist, noch leicht erweiterbar. Für einen Schalthebel habe ich auch schon Ideen.
      Hier mal ein paar Bilder:

      PS: Ich weiß, dass hier schon solche Sachen vorgestellt wurden, die besser sind und sogar sogar professioneller wirkten
    • @MrJules: Die Programmierung ist einfach und durchaus nach kurzer Beschäftigung mit Arduino zu bewältigen.
      Die Arduinos werden in einer Sprache (Procesing?) geschrieben, die von C abgeleitet ist dabei aber deutlich vereinfacht wurde.
      Für einen HID- Gamecontroller muss man nur eine Bibliothek für den Joystick einfügen (Joystick.h) und kann schon mit den bei der Bibliothek mitgelieferten Beispielen erste Ergebnisse erzielen. Dann muss man wissen, wie man eine Tastenmatrix aufbaut und auswertet. Das übernimmt bei mir eine weitere Bibliothek (Keypad.h). Jetzt noch die Tastendrücke auswerten und die passende Tastennummer an den PC senden.

      Hier mein jetziger Sketch für den Controller. Da sind noch einige bisher unbenutzte Programmteile oder auskommentierte Teile, die nur zum Testen über den Seriellen Monitor der Arduino IDE notwendig waren. Aber man kann sehen, dass es kein aufwendiges Programm ist:

      C Source Code

      1. #include <Joystick.h>
      2. #include <Keypad.h>
      3. // Create Joystick
      4. Joystick_ Joystick;
      5. const int SW_pin = 15; // Digitaler Pin zum Schaltausgang angeschlossen
      6. const int X_pin = A3; // Analog-Pin an X-Ausgang angeschlossen
      7. const int Y_pin = A2; // Analog-Pin an Y-Ausgang angeschlossen
      8. const bool testAutoSendMode = true;
      9. const byte ROWS = 4; //four rows
      10. const byte COLS = 4; //four columns
      11. //define the cymbols on the buttons of the keypads
      12. char hexaKeys[ROWS][COLS] = {
      13. {'0','1','2','3'},
      14. {'4','5','6','7'},
      15. {'8','9','A','B'},
      16. {'C','D','E','F'},
      17. };
      18. byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
      19. byte colPins[COLS] = {6, 7, 8, 9}; //connect to the column pinouts of the keypad
      20. //initialize an instance of class NewKeypad
      21. Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
      22. int lastButtonState[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
      23. void keypadEvent(KeypadEvent customKey){
      24. switch(customKey) {
      25. case '0':
      26. switch (customKeypad.getState()){
      27. case PRESSED:
      28. Joystick.pressButton(0);
      29. break;
      30. case RELEASED:
      31. Joystick.releaseButton(0);
      32. break;
      33. }
      34. break;
      35. case '1':
      36. switch (customKeypad.getState()){
      37. case PRESSED:
      38. Joystick.pressButton(1);
      39. break;
      40. case RELEASED:
      41. Joystick.releaseButton(1);
      42. break;
      43. }
      44. break;
      45. case '2':
      46. switch (customKeypad.getState()){
      47. case PRESSED:
      48. Joystick.pressButton(2);
      49. break;
      50. case RELEASED:
      51. Joystick.releaseButton(2);
      52. break;
      53. }
      54. break;
      55. case '3':
      56. switch (customKeypad.getState()){
      57. case PRESSED:
      58. Joystick.pressButton(3);
      59. break;
      60. case RELEASED:
      61. Joystick.releaseButton(3);
      62. break;
      63. }
      64. break;
      65. case '4':
      66. switch (customKeypad.getState()){
      67. case PRESSED:
      68. Joystick.pressButton(4);
      69. break;
      70. case RELEASED:
      71. Joystick.releaseButton(4);
      72. break;
      73. }
      74. break;
      75. case '5':
      76. switch (customKeypad.getState()){
      77. case PRESSED:
      78. Joystick.pressButton(5);
      79. break;
      80. case RELEASED:
      81. Joystick.releaseButton(5);
      82. break;
      83. }
      84. break;
      85. case '6':
      86. switch (customKeypad.getState()){
      87. case PRESSED:
      88. Joystick.pressButton(6);
      89. break;
      90. case RELEASED:
      91. Joystick.releaseButton(6);
      92. break;
      93. }
      94. break;
      95. case '7':
      96. switch (customKeypad.getState()){
      97. case PRESSED:
      98. Joystick.pressButton(7);
      99. break;
      100. case RELEASED:
      101. Joystick.releaseButton(7);
      102. break;
      103. }
      104. break;
      105. case '8':
      106. switch (customKeypad.getState()){
      107. case PRESSED:
      108. Joystick.pressButton(8);
      109. break;
      110. case RELEASED:
      111. Joystick.releaseButton(8);
      112. break;
      113. }
      114. break;
      115. case '9':
      116. switch (customKeypad.getState()){
      117. case PRESSED:
      118. Joystick.pressButton(9);
      119. break;
      120. case RELEASED:
      121. Joystick.releaseButton(9);
      122. break;
      123. }
      124. break;
      125. case 'A':
      126. switch (customKeypad.getState()){
      127. case PRESSED:
      128. Joystick.pressButton(10);
      129. break;
      130. case RELEASED:
      131. Joystick.releaseButton(10);
      132. break;
      133. }
      134. break;
      135. case 'B':
      136. switch (customKeypad.getState()){
      137. case PRESSED:
      138. Joystick.pressButton(11);
      139. break;
      140. case RELEASED:
      141. Joystick.releaseButton(11);
      142. break;
      143. }
      144. break;
      145. case 'C':
      146. switch (customKeypad.getState()){
      147. case PRESSED:
      148. Joystick.pressButton(12);
      149. break;
      150. case RELEASED:
      151. Joystick.releaseButton(12);
      152. break;
      153. }
      154. break;
      155. case 'D':
      156. switch (customKeypad.getState()){
      157. case PRESSED:
      158. Joystick.pressButton(13);
      159. break;
      160. case RELEASED:
      161. Joystick.releaseButton(13);
      162. break;
      163. }
      164. break;
      165. case 'E':
      166. switch (customKeypad.getState()){
      167. case PRESSED:
      168. Joystick.pressButton(14);
      169. break;
      170. case RELEASED:
      171. Joystick.releaseButton(14);
      172. break;
      173. }
      174. break;
      175. case 'F':
      176. switch (customKeypad.getState()){
      177. case PRESSED:
      178. Joystick.pressButton(15);
      179. break;
      180. case RELEASED:
      181. Joystick.releaseButton(15);
      182. break;
      183. }
      184. break;
      185. }
      186. }
      187. void setup(){
      188. pinMode(SW_pin, INPUT_PULLUP);
      189. Joystick.setXAxisRange(0, 1023);
      190. Joystick.setYAxisRange(0, 1023);
      191. Serial.begin(9600);
      192. Joystick.begin();
      193. customKeypad.addEventListener(keypadEvent); // Add an event listener for this keypad
      194. }
      195. void loop(){
      196. char customKey = customKeypad.getKey();
      197. // if (customKey){
      198. // Serial.println(customKey);
      199. //
      200. // }
      201. // Serial.print("Switch: ");
      202. // Serial.print(digitalRead(SW_pin));
      203. // Serial.print("\n");
      204. // Serial.print("X-axis: ");
      205. // Serial.print(analogRead(X_pin));
      206. // Serial.print("\n");
      207. // Serial.print("Y-axis: ");
      208. // Serial.println(analogRead(Y_pin));
      209. // Serial.print("\n\n");
      210. //delay (500);
      211. Joystick.setXAxis(analogRead(X_pin));
      212. Joystick.setYAxis(analogRead(Y_pin));
      213. }
      Display All
    • Nein .Net brauchst du nicht, weil die Arduinos, die auf ATmega 32u4 basieren, sich schon grundsätzlich dem PC gegenüber als HID- Maus oder HID- Tastatur ausgeben können. Auch dafür werden dann Bibliotheken gebraucht. Mit der Bibliothek "Joystick.h" sieht der PC dann einen HID- Gamecontroller. Informationen darüber finden sich allerdings fast nur auf englisch. Im deutschsprachigen Raum scheint das Interesse daran nicht so groß zu sein.
      Hier der Link zur Bibliothek: github.com/MHeironimus/ArduinoJoystickLibrary
    • Hey, sehr interessant die ganze Geschichte :)

      Ich habe mir noch kurz den Code angeschaut. Ich denke, dass du die keypadEvent noch etwas optimieren könntest.

      Wenn du die Werte von hexaKeys gescheit auswählst, könntest du vermutlich das switch umgehen.
      Display Spoiler



      Knecht wrote:

      void keypadEvent(KeypadEvent customKey){
      switch(customKey) {
      case '0':
      switch (customKeypad.getState()){
      case PRESSED:
      Joystick.pressButton(0);
      break;
      case RELEASED:
      Joystick.releaseButton(0);
      break;
      ........
      1. char hexaKeys[ROWS][COLS] = {
      2. {'0','1','2','3'},
      3. {'4','5','6','7'},
      4. {'8','9','A','B'},
      5. {'C','D','E','F'},
      6. };


      versuch mal: //Entspricht den Werten die du bei Joystick.releaseButton(); eingibst.
      1. char hexaKeys[ROWS][COLS] = {
      2. {0,1,2,3},
      3. {4,5,6,7'},
      4. {'8,9,10,11},
      5. {12,13,14,15},
      6. };
      void keypadEvent(KeypadEvent customKey)
      {
      if( customKeypad.getState() == PRESSED)
      {
      Joystick.pressButton(customKey);

      }

      else

      {

      Joystick.releaseButton(customKey);

      }

      }

      Abraham Lincoln wrote:

      Das schwierige an Zitaten aus dem Internet ist, zu wissen ob sie wahr sind
    • Jo funktioniert. Danke @Dinerel
      Ich benutze aber trotzdem "switch"
      Dadurch bleibt die Taste so lange "PRESSED" wie sie gedrückt ist.
      Aber der Code ist so natürlich deutlich übersichtlicher.

      C Source Code

      1. void keypadEvent(KeypadEvent customKey)
      2. {
      3. switch(customKeypad.getState()){
      4. case PRESSED:
      5. Joystick.pressButton(customKey);
      6. break;
      7. case RELEASED:
      8. Joystick.releaseButton(customKey);
      9. break;
      10. }
      11. }
      Display All
      Wahrscheinlich würde es aber auch mit einem "HOLD" - Event funktionieren
    • Mal gaaaaanz dumm gefragt.
      Kann man neben der "normalen" Haupttastatur evtl eine zweite nehmen und da simultan belegen?
      Mal so als Beispiel auf Haupttastatur L für Licht und auf der zweiten L für den Menüpunkt Tiere (Lifestock engl oder?)
      So könnte man extrem die möglichen Tasten erhöhen. Und eine billig Tastatur demontieren und
      mit anderen Tastern in eine Seitenkonsole bauen. Gutes Opfer währen da diese Gummi-Tastaturen.
      Billig und man kann ganz bequem vernünftige Taster verbauen. Die dann hochwertiger sind.
      System Update
      Display Spoiler

      Desktop
      CoolerMaster HAF-X I CoolerMaster 1000W RS-A00-ESBA Netzteil I
      Ryzen 7 5800x
      MSI B550 Gaming Plus I G-Skill 3200 Ram 2x16Gb I Radeon RX6700X I
      1TB Samsung 970 EVO M.2
      CPU Wassergekühlt (selbst zusammengestellte Kühlung)

      Laptop:
      I7 6700HQ I GTX1070 I 17,3" FullHD I 16GB DDR4 I 512GB M.2SSD
      Kühlpad
    • @tgs_wort Das wird nicht gehen. Die Unterschiede beginnen schon auf der Betriebssystemseite. Oder eigentlich sogar schon früher im jeweiligen HID
      Tastaturen senden an den PC ja nur die ASCII Zeichen und dieser macht daraus dann das entsprechende Schriftzeichen. Das heißt: Das jeweilige Programm empfängt von "Tastatur 2" das selbe Zeichen wie von "Tastatur 1".
      Deshalb der Umweg über einen Gamecontroller. Dieser sendet an den PC "seine" Taste. Das Betriebssystem reicht das dann, so zu sagen, einfach durch. Das Programm kann jetzt auswerten von welchem Gerät welcher Tastendruck gemeldet wird.
    • Hab ja geschrieben....dumme Frage! ;) @Knecht

      War nur eine Idee, da ja 2 Controller gehen, hatte ich gedacht er erkennt evtl2 verschiedene Tastaturen.
      Aber ich hätte noch sowas dummes, kann man dem Arduino nicht so eine Tastatur geben und diesen dazu bringen diese als
      Controller an den PC weiter zu reichen?

      Naja, noob Brainstorming! :D
      Vielleicht bringe ich mit meinen dummen Ideen jemanden auf DIE Idee?
      System Update
      Display Spoiler

      Desktop
      CoolerMaster HAF-X I CoolerMaster 1000W RS-A00-ESBA Netzteil I
      Ryzen 7 5800x
      MSI B550 Gaming Plus I G-Skill 3200 Ram 2x16Gb I Radeon RX6700X I
      1TB Samsung 970 EVO M.2
      CPU Wassergekühlt (selbst zusammengestellte Kühlung)

      Laptop:
      I7 6700HQ I GTX1070 I 17,3" FullHD I 16GB DDR4 I 512GB M.2SSD
      Kühlpad
    • Wenn das geht, was ich aber leider nicht kann, vielleicht hilft einem wenigstens meine Idee?
      Ist doch auch schon etwas! ;)
      Ich versuche ja mich einzubringen, manchmal hilft es ja vielleicht auch mal etwas unkonventionel zu sehen.
      System Update
      Display Spoiler

      Desktop
      CoolerMaster HAF-X I CoolerMaster 1000W RS-A00-ESBA Netzteil I
      Ryzen 7 5800x
      MSI B550 Gaming Plus I G-Skill 3200 Ram 2x16Gb I Radeon RX6700X I
      1TB Samsung 970 EVO M.2
      CPU Wassergekühlt (selbst zusammengestellte Kühlung)

      Laptop:
      I7 6700HQ I GTX1070 I 17,3" FullHD I 16GB DDR4 I 512GB M.2SSD
      Kühlpad
    • Hey guten Abend,

      Ich habe das ganze heute mal so aufgebaut, wie du gerade auch den Schaltplan hochgeladen hast.

      Allerdings auf einem alten Arduino ohne USB HID Funktion.

      Deshalb hab ich mir einen Treiber geschrieben, der die per Serial empfangenden Pakete ans DirectX weitergibt.

      Geschrieben als schlanke Konsolen-Exe.

      Also falls gemacht interesse hat, kurz bescheid geben
      My reward: Early Farming
      Hardware:
      Display Spoiler
      CPU: Core2Quad Q9650
      GPU: GTX 970
      RAM: 8GB OCZ
      OS: Windows 10 x64
    • UPLOAD JOYSTICKTREIBER

      Hier wie versprochen der Treiber für Windows.



      BEDIENUNG:
      Datei downloaden
      .zip Datei entpacken
      "Ard_Joystick_driver.exe" ALS ADMINISTRATOR STARTEN !!! <= PFLICHT
      -Fertig!


      FUNKTIONSWEISE:
      Arduino an Port "COM3" anschließen (Sollte eigentlich Standardmäßig COM3 statt COM1 sein)
      Sobald ein Taster gedrückt wird, soll der Arduino per Serial die Zahlen 1-6 senden.
      Der Treiber nimmt diese dann entgegen und übersetzt die Serial in ein Windows ASCII Zeichen für DirectX.



      SETTINGS:
      Port: COM3
      Serial Baudrate: 9600

      Tasten Mapping:
      Serial => Windows Tasten
      1 => F7
      2 => F8
      3 => F9
      4 => F10
      5 => F11
      6 => F12



      CODE:

      C Source Code: ARDUINO (Teilabschnitt)

      1. void setup(){
      2. Serial.begin(9600);
      3. }
      4. void loop(){
      5. char customKey = customKeypad.getKey();
      6. if (customKey){
      7. Serial.println(customKey);
      8. delay(5);
      9. }
      10. }
      Display All




      C Source Code: Ard_Joystick_driver (Teilabschnitt)

      1. while (true)
      2. {
      3. if (mySerialPort.BytesToRead > 0)
      4. {
      5. char b = (char)mySerialPort.ReadChar();
      6. if (b.Equals('1'))
      7. {
      8. myDirectX.Send_Key(0xB5);
      9. Console.WriteLine("char b:" + b);
      10. }
      11. else if (b.Equals('2')) ..............
      Display All

      Ard_Joystick_driver.exe CRC32: 82E55440
      Files
      My reward: Early Farming
      Hardware:
      Display Spoiler
      CPU: Core2Quad Q9650
      GPU: GTX 970
      RAM: 8GB OCZ
      OS: Windows 10 x64
    • Direkter Zugriff auf Steuerung für Eigenbau-Controller

      Einen schönen guten Abend,
      Inspiriert durch den Logitech G Saitek Farm Simulator Controller, der mir allerdings zu billig aussieht und zu teuer ist :P , plane ich, eine eigene Steuer-Konsole mit Realen Tastern/Schaltern/Leuchten etc. zu bauen. Viele Befehle kann man ja über Tasten mappen, allerdings ja nicht alle, vor allem Analoge befehle lassen sich damit schlecht bis garnicht umsetzen.

      Als Hardware werde ich das Arcaze-Board verwenden. Zumindest für den ersten Prototyp möchte ich nichts Bare-Metal neu entwickeln.
      Gibt es eine möglichkeit, per script oder ähnlichem Steuerbefehle dirtekt an das Programm zu übermitteln?

      Elektronik- und Programierkenntnisse sind bei mir vorhanden und natürlich würde ich das Ergebniss am ende allen zur verfügung stellen.
    • @TheCoCe genau um das selber programieren wollte/will ich mich drücken...
      Soll ich den Thread hier offen lassen oder wollen wir beide zusammenlegen? Würde vielleicht unübersichtlich werden...

      @JP86 3D-Druck reizt mich nicht so, evtl Konsolen oder Kunststoffgehäuse. Oder gelasertes Acryl... Mal schauen.

      Aber ein direkter zugriff im Spiel bietet der Treiber ja auch nicht, oder hab ich da jetzt was übersehen?
    • Ich hatte heut mal Zeit und Lust mich mit diesem Thema hier zu beschäftigen.
      Als Vorlage diente mir meine Saitek Seitenkonsole.
      Allerdings fand ich die oberen Schalterreihen zu weit entfernt, deswegen habe ich die Konsole in einem Radius nach rechts verbreitert.
      Den Drehregler links fand ich überflüssig und hab lieber noch 4 Knöpfe platziert, die zu einem Daumenradius passen sollten.
      Leider hab ich noch kein 3D Drucker, sonst hätte ich einen Probedruck gemacht. Auf einen bestimmten Bauraum oder Schalterfreisparungen hab ich jetzt auch nicht geachtet. Material um einen Raspberry oder Arduino festzuschrauben fehlt auch noch.

      Sollte sich jemand das Modell ausdrucken und Sachen ändern wäre ich um eine Rückmeldung sehr verbunden.
      Ein Modell(anderes Bauteil) hatte ich vor Monaten mal drucken lassen mit 1,5mm Wandstärke. Mit dem hätte man jemand erschlagen können. Weshalb ich jetzt mal eine 2mm Wandstärke gewählt und auf jegliche Verstärkungen verzichtet habe.
      Files
      Gruß Hofhund

      Ryzen5 1600X, MSI GTX1050TI, Gigabyte AB350-Gaming, bequit PurePower 10 600W, HyperY Predator 3GHz DDR4 16GB, Samsung Evo 850 256GB
    • Natürlich konnte ich nicht schlafen und hab im Kopf fleißig weiter konstruiert. :whistling: :
      Display Spoiler
      Die Deckelbefestigung wurde sauber mit Radien angebunden.

      Die Deckelauflage oben etwas vergrößert. Bringt auch Stabilität.

      Eine Verstärkung über der Befestigungsschraube für die, die den Weichmacher aus dem Kunststoff pressen beim anziehen.

      Befestigungsmöglichkeit für einen Raspberry hinzugefügt.

      Die Höhe hinten um 10mm erhöht damit der Raspi evtl. mit Aufbauplatine noch rein passt.

      Der Bauraum beträgt momentan 340x275x160mm. Damit scheiden momentan wohl alle handelsüblichen Drucker für daheim aus.
      Muss mal schauen wann ich Zeit hab die Konsole sinnvoll in Vorne und Hinten aufzuteilen damit man ihn daheim drucken kann.


      PS: Danke @masterbrain , dass ihr über Nacht die Uploadgröße von 2 auf 5MB erhöht habt. Damit muss ich Screenshots von CnC künftig nicht mehr verkleinern vor dem Upload. :thumbup:
      Files
      • Konsole_V2.zip

        (304.56 kB, downloaded 710 times, last: )
      Gruß Hofhund

      Ryzen5 1600X, MSI GTX1050TI, Gigabyte AB350-Gaming, bequit PurePower 10 600W, HyperY Predator 3GHz DDR4 16GB, Samsung Evo 850 256GB
    • Moin

      für die die nicht wissen wie man was programmiert ist das vielleicht eine alternative

      ich bastel gerne und wollte ein Eingabegerät für meine Bedürfnisse haben und habe einfach mal probiert und es hat super geklappt ich habe aber bis jetzt nur die Verkabelungen und noch kein Gehäuse

      was man dafür braucht:

      einen alten Joystick für pc
      alten PS Controller
      Lötkolben+Zubehör
      Multimeter wäre von vorteil
      Seitenschneider oder Schere
      Kabel z.b. Klingeldraht
      Heißkleber
      Nicht schön aber selten :D
      Images
      • IMG_20180707_075917 1.jpg

        549.48 kB, 1,176×662, viewed 899 times
      • IMG_20180707_0758022.jpg

        817.99 kB, 1,642×924, viewed 743 times
      • IMG_20180707_0759524.jpg

        898.84 kB, 1,920×1,080, viewed 1,124 times
      • IMG_20180707_0800193.jpg

        718.5 kB, 1,920×1,080, viewed 783 times
      • IMG_20180707_0800575.jpg

        934.59 kB, 1,920×1,080, viewed 868 times
      System:
      Display Spoiler
      mein pc:
      System:
      Microsoft Windows 10 64bit

      Motherboard:
      Gigabyte X470 Aorus Gaming 7 WIFI AMD X470 So.AM4 Dual Channel DDR4 ATX Retail

      Prozessor:
      AMD Ryzen 7 2700X 8x 3.70GHz - 4.30GHz

      RAM:
      16GB/2x8GB CORSAIR VENGEANCE LPX DDR4 3200MHz

      Grafikkarte:
      ASUS TUF RTX 3080 OC GAMING



      eingabe geräte:

      logitech g920 mit shifter
      saitek seitenkonsole
      und eingabeknöpfe eigenbau
    • richtig schick und die beschriftung echt super :thumbsup:

      ich hatte auch nur das genommen was ich zuhause hatte sollte nur ein test werden aber das läuft super :)
      System:
      Display Spoiler
      mein pc:
      System:
      Microsoft Windows 10 64bit

      Motherboard:
      Gigabyte X470 Aorus Gaming 7 WIFI AMD X470 So.AM4 Dual Channel DDR4 ATX Retail

      Prozessor:
      AMD Ryzen 7 2700X 8x 3.70GHz - 4.30GHz

      RAM:
      16GB/2x8GB CORSAIR VENGEANCE LPX DDR4 3200MHz

      Grafikkarte:
      ASUS TUF RTX 3080 OC GAMING



      eingabe geräte:

      logitech g920 mit shifter
      saitek seitenkonsole
      und eingabeknöpfe eigenbau
    • Danke dir, deines ist doch auch nicht schlechter.

      Man freut sich immer, wenn es dann auch so funktioniert :) . Die Beschriftung kann ich tauschen, dann kann ich die Taster auch für ETS/ATS und so nutzen, dann allerdings ohne Joystick :P . War halt Resteverwertung.
      Grüße

      Sir Poldi ;)

      Display Spoiler

      Intel Core i7 860 @ 2.8GHz
      16GB RAM
      NVIDIA GeForce GTX 1060 6GB
      250 GB SSD SanDisk
      Windows 10 Pro 64Bit