[JAVA] [Traitement] Essayez d'utiliser GT Force.

introduction

Cette fois, j'ai entendu dire que j'avais essayé de connecter GT Force à un PC. Il est facile à utiliser en utilisant le traitement de la langue, alors essayez-le. Si le contrôleur du jeu devient libre d'utilisation, les choses qui peuvent être faites s'élargiront. Le contenu de cette époque était basé sur les informations sur le site de "Divers self-made". Je ne comprends pas clairement cette bibliothèque non plus, donc l'explication est insuffisante. Veuillez noter que le contenu concerne le mémo de l'auteur.

Divers sites créés par nos soins

La GT Force utilisée est pour PS2 et est très ancienne. Lorsque je l'ai recherché, il y avait une description que ce contrôleur de poignée n'était pas compatible avec Windows 10, mais lorsque j'ai utilisé celui pour GT Force Pro, j'ai pu l'utiliser en toute sécurité avec Windows 10. Cependant, la pédale n'a pas répondu avec le logiciel de configuration logicool. Je pensais que c'était un dysfonctionnement, mais cela a fonctionné dans un programme ultérieur.

Environnement d'exécution

・ Windows10 64 bits ・ Traitement 3.5.3 ・ Game Control Plus 1.2.2 ・ GT Force LPRC-10000

Méthode

① Installation du logiciel GT Force

Installez le logiciel pour GT Force Pro à partir du site d'assistance de Logicool. Même si vous ne l'installez pas, vous pouvez le reconnaître simplement en insérant la clé USB dans votre ordinateur, mais c'est recommandé car vous pouvez le calibrer. Lorsque j'ai appuyé sur le bouton à l'arrière droit de la poignée lors du réglage avec un logiciel, la poignée est devenue incontrôlable et la rotation ne s'est pas arrêtée (rires). Il n'y a pas de problème pour l'instant après une nouvelle attaque. Site de support Logicool

② Installez la bibliothèque

Tout d'abord, commencez le traitement et installez "Game Control Plus" à partir de "Sketch" -> "Importer une bibliothèque" -> "Ajouter une bibliothèque" sur l'onglet supérieur.

(3) Vérifiez l'opération à l'aide d'un exemple d'esquisse.

Vérifiez les données d'exemple de "Game Control Plus" dans "Fichier" -> "Exemple" dans l'onglet supérieur. Sélectionnez "Gcp_Configurator" et démarrez-le. Appuyez sur le bouton à gauche du nom de l'appareil connecté pour ouvrir l'écran des détails. Vous pouvez y vérifier le fonctionnement de chaque bouton et levier. GT Force a reconnu 6 boutons et 4 curseurs. Mais des quatre, le curseur "Pédales combinées" n'a pas répondu. Après avoir confirmé l'opération, quittez ce programme.

Ensuite, les informations de contrôleur sont obtenues en utilisant l'exemple de programme de la même manière. Cela sera important dans la programmation future. Sélectionnez "Gcp_ShowDevices" dans le programme d'exemple de "Game Control Plus" sélectionné précédemment et démarrez-le. Dans ce programme, vous pouvez vérifier les noms et les numéros des curseurs et des boutons du contrôleur. Le mouvement de la barre de défilement du programme était instable, mais les données suivantes ont été obtenues sans aucun problème. Enregistrez ces informations.


 NAME :     Logicool WingMan Formula Force GP USB
  Type :     Wheel
  Port :     Unknown
    Buttons (6)
      Type     Name               Multiplier
      button    Left Paddle         -
      button    Right Paddle        -
      button    Button 3            -
      button    Button 4            -
      button    Button 5            -
      button    Button 6            -
    Sliders (4)
      Type     Name               Multiplier     Tolerance
      slider    Wheel axis          1.0            0.0            absolute
      slider    Combined pedals     1.0            0.0            absolute
      slider    Accelerator         1.0            0.0            absolute
      slider    Brake               1.0            0.0            absolute

Mots clés utilisés lors de la programmation.

Cité de Site de "Divers self-made".

Incluez la bibliothèque.

import net.java.games.input.*;
import org.gamecontrolplus.*;
import org.gamecontrolplus.gui.*;

Déclaration du responsable du traitement, etc.

ControlIO control;
ControlDevice device;
ControlSlider[] sliders = new ControlSlider[4];
ControlButton[] button =new ControlButton[6];

Cela nécessite de modifier le nombre de baies en fonction de l'équipement utilisé.

Charger l'appareil (déclarer dans setup ())

control = ControlIO.getInstance(this);
device = control.getDevice("Logicool WingMan Formula Force GP USB");//Changement en fonction de l'équipement utilisé.

Affectation du curseur (déclaré dans setup ())

sliders[0] = device.getSlider(0);

Vous pouvez maintenant déclarer. Depuis que j'ai créé un tableau appelé "sliders []" plus tôt, je lui ai assigné. S'il y a plusieurs boutons, modifiez le numéro.

Extraire la valeur du curseur

sliders[0].getValue()

La valeur du curseur peut maintenant être facilement récupérée.

Affectation des boutons (déclarée dans setup ())

button[0] = device.getButton(0);
button[0].plug(this, "func1", ControlIO.ON_PRESS);//Traitement lorsque le bouton est enfoncé
button[0].plug(this, "func2", ControlIO.ON_RELEASE);//Traitement lorsque le bouton est relâché

Le bouton était réglé comme ça. Chaque nom de fonction peut être défini et exécuté lorsqu'un événement se produit. La fonction est déclarée comme suit.

void func1(){
//Le processus que vous souhaitez exécuter
}
void func2(){
//Le processus que vous souhaitez exécuter
}

Il peut être facilement exécuté en combinant les mots-clés ci-dessus.

Manipuler les valeurs

La valeur sortie du contrôleur était une valeur positive à négative, il était donc nécessaire d'ajuster la valeur. Dans ce cas, il est pratique d'utiliser la fonction "carte". Lors de la conversion de x de la plage de a → b à la plage de c → d

float x = map(x,a,b,c,d);

C'est facile à utiliser comme ça.

en conclusion

Cela rend très facile l'utilisation du contrôleur de jeu. Le traitement peut être facilement connecté à Arduino par communication série, j'ai donc pensé que les choses que je pourrais faire s'étendre.

Recommended Posts

[Traitement] Essayez d'utiliser GT Force.
Essayez d'utiliser libGDX
Essayez d'utiliser Maven
Essayez d'utiliser powermock-mockito2-2.0.2
Essayez d'utiliser GraalVM
Essayez d'utiliser jmockit 1.48
Essayez d'utiliser SwiftLint
Essayez d'utiliser Log4j 2.0
Les débutants essaient d'utiliser Android Studio Partie 2 (traitement des événements)
Essayez d'utiliser le Framework Axon
Essayez d'utiliser l'API REST de JobScheduler
Essayez d'utiliser la méthode java.lang.Math
Essayez d'utiliser Talend Part 2
Essayez d'utiliser Talend Part 1
Essayez d'utiliser la liste F #
Essayez d'utiliser la méthode each_with_index
Essayez d'utiliser Spring JDBC
Essayez d'utiliser RocksDB avec Java
Essayez d'utiliser GloVe avec Deeplearning4j
Essayez de gratter en utilisant Java [Note]
Essayez d'utiliser Cocoa de Ruby
Traitement des données avec Apache Flink
Essayez d'utiliser Spring Boot Security
[Swift] Traitement asynchrone à l'aide de PromiseKit
[Rails] Essayez d'utiliser le middleware de Faraday
Traitement de la sortie CSV avec Super-CSV
[Programmation complète] §2 Essayez d'utiliser Ruby
[Java] Essayez de résoudre le problème de Fizz Buzz en utilisant un traitement récursif
Essayez d'implémenter le traitement asynchrone dans Azure
Implémenter le traitement déclaratif des tentatives à l'aide de Spring Retry
Essayez d'utiliser Redis avec Java (jar)
[Java] Essayez de mettre en œuvre à l'aide de génériques
Essayez d'utiliser le système de messagerie Pulsar
[Kotlin] Un exemple de traitement utilisant Enum
Essayez d'utiliser le traçage de méthode IBM Java
Suppression de fichiers à l’aide du traitement récursif [Java]
Effectuer un traitement parallèle à l'aide de CyclicBarrier de Java
Essayez d'utiliser le SDK Java d'Hyperledger Iroha
[Java] Où avez-vous essayé d'utiliser java