Bonsoir,
J'ai fais un Nativekeylistener qui reprend tout les touches de mon clavier. Il permet a l'utilisateur de choisir les touches qu'il veut pour utilise mon programme via des Jcombobox et un fichier .json qui sauvegarde les touches.
Çà fonctionne exactement comme je le souhaite mais mon code dans ma class via intelij fait 2836 ligne....
Voici un exemple du code pour deux touches et j'ai fais pareil pour toutes les touches clavier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103 public class KeyBoardListener implements NativeKeyListener, NativeMouseWheelListener, NativeMouseListener { public void nativeKeyTyped(NativeKeyEvent e) { } public void nativeKeyPressed(NativeKeyEvent e) { if (e.getKeyCode() == NativeKeyEvent.VC_A) { if (Objects.equals(Main.Relaoding, "A")) { MouseListener.iX=0; MouseListener.iY=0; if (Main.switcharmes == Main.Switcharmes.ARMES1){MouseListener.compteur1 = 0;} if (Main.switcharmes == Main.Switcharmes.ARMES2){MouseListener.compteur2 = 0;}} if (Objects.equals(Main.CycleConfig1, "A")) { ConfigManager1.getInstance1().cycleConfigs();} if (Objects.equals(Main.CycleConfig2, "A")) {ConfigManager2.getInstance2().cycleConfigs(); } if (Objects.equals(Main.Viseur, "A")){ Main.choixviseur = Main.choixviseur.next(); } if (Objects.equals(Main.Taille, "A")){ Main.size = Main.size.next(); } if (Objects.equals(Main.Lock, "A")){ Main.Moving = !Main.Moving; } if (Objects.equals(Main.Standing, "A")){ Main.positions = Main.Positions.STANDING; } if (Objects.equals(Main.Crouch, "A")){ Main.positions = Main.Positions.CROUCH; } if (Objects.equals(Main.Prone, "A")){ Main.positions = Main.Positions.PRONE; } if (Objects.equals(Main.Exit, "A")){ try { GlobalScreen.unregisterNativeHook();Main.rightClick = false;Main.shooting = false;MouseListener.executorService.shutdown();System.exit(1); } catch (NativeHookException e1) { e1.printStackTrace(); }} if (!Main.rightClick) { if (Objects.equals(Main.Arme1jeux, "A")) { switch (Main.switcharmes) { case ARMES1: Main.memoireChoix.put(ConfigManager1.getInstance1().getCurrentConfig(), Main.choixviseur);break; case ARMES2: Main.memoireChoix.put(ConfigManager2.getInstance2().getCurrentConfig(), Main.choixviseur);break; } Main.switcharmes = Main.Switcharmes.ARMES1; switch (Main.switcharmes) { case ARMES1: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager1.getInstance1().getCurrentConfig(), Main.Choixviseur.VISEUR1);break; case ARMES2: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager2.getInstance2().getCurrentConfig(), Main.Choixviseur.VISEUR1);break; }}} if (!Main.rightClick) { if (Objects.equals(Main.Arme2jeux, "A")) { switch (Main.switcharmes) { case ARMES1: Main.memoireChoix.put(ConfigManager1.getInstance1().getCurrentConfig(), Main.choixviseur);break; case ARMES2: Main.memoireChoix.put(ConfigManager2.getInstance2().getCurrentConfig(), Main.choixviseur);break; } Main.switcharmes = Main.Switcharmes.ARMES2; switch (Main.switcharmes) { case ARMES1: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager1.getInstance1().getCurrentConfig(), Main.Choixviseur.VISEUR1);break; case ARMES2: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager2.getInstance2().getCurrentConfig(), Main.Choixviseur.VISEUR1);break;}}} } if (e.getKeyCode() == NativeKeyEvent.VC_B) { if (Objects.equals(Main.Relaoding, "B")) { MouseListener.iX=0; MouseListener.iY=0; if (Main.switcharmes == Main.Switcharmes.ARMES1){MouseListener.compteur1 = 0;} if (Main.switcharmes == Main.Switcharmes.ARMES2){MouseListener.compteur2 = 0;}} if (Objects.equals(Main.CycleConfig1, "B")) { ConfigManager1.getInstance1().cycleConfigs(); } if (Objects.equals(Main.CycleConfig2, "B")) {ConfigManager2.getInstance2().cycleConfigs(); } if (Objects.equals(Main.Viseur, "B")){ Main.choixviseur = Main.choixviseur.next(); } if (Objects.equals(Main.Taille, "B")){ Main.size = Main.size.next(); } if (Objects.equals(Main.Lock, "B")){ Main.Moving = !Main.Moving; } if (Objects.equals(Main.Standing, "B")){ Main.positions = Main.Positions.STANDING; } if (Objects.equals(Main.Crouch, "B")){ Main.positions = Main.Positions.CROUCH; } if (Objects.equals(Main.Prone, "B")){ Main.positions = Main.Positions.PRONE;} if (Objects.equals(Main.Exit, "B")){ try { GlobalScreen.unregisterNativeHook();Main.rightClick = false;Main.shooting = false;MouseListener.executorService.shutdown();System.exit(1); } catch (NativeHookException e1) { e1.printStackTrace(); }} if (!Main.rightClick) { if (Objects.equals(Main.Arme1jeux, "B")) { switch (Main.switcharmes) { case ARMES1: Main.memoireChoix.put(ConfigManager1.getInstance1().getCurrentConfig(), Main.choixviseur);break; case ARMES2: Main.memoireChoix.put(ConfigManager2.getInstance2().getCurrentConfig(), Main.choixviseur);break; } Main.switcharmes = Main.Switcharmes.ARMES1; switch (Main.switcharmes) { case ARMES1: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager1.getInstance1().getCurrentConfig(), Main.Choixviseur.VISEUR1);break; case ARMES2: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager2.getInstance2().getCurrentConfig(), Main.Choixviseur.VISEUR1);break; }}} if (!Main.rightClick) { if (Objects.equals(Main.Arme2jeux, "B")) { switch (Main.switcharmes) { case ARMES1: Main.memoireChoix.put(ConfigManager1.getInstance1().getCurrentConfig(), Main.choixviseur);break; case ARMES2: Main.memoireChoix.put(ConfigManager2.getInstance2().getCurrentConfig(), Main.choixviseur); break;} Main.switcharmes = Main.Switcharmes.ARMES2; switch (Main.switcharmes) { case ARMES1: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager1.getInstance1().getCurrentConfig(), Main.Choixviseur.VISEUR1);break; case ARMES2: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager2.getInstance2().getCurrentConfig(), Main.Choixviseur.VISEUR1);break;}}} } if (e.getKeyCode() == NativeKeyEvent.VC_C) { if (Objects.equals(Main.Relaoding, "C")) { MouseListener.iX=0; MouseListener.iY=0; if (Main.switcharmes == Main.Switcharmes.ARMES1){MouseListener.compteur1 = 0;} if (Main.switcharmes == Main.Switcharmes.ARMES2){MouseListener.compteur2 = 0;}} if (Objects.equals(Main.CycleConfig1, "C")) { ConfigManager1.getInstance1().cycleConfigs(); } if (Objects.equals(Main.CycleConfig2, "C")) {ConfigManager2.getInstance2().cycleConfigs(); } if (Objects.equals(Main.Viseur, "C")){ Main.choixviseur = Main.choixviseur.next(); } if (Objects.equals(Main.Taille, "C")){ Main.size = Main.size.next(); } if (Objects.equals(Main.Lock, "C")){ Main.Moving = !Main.Moving; } if (Objects.equals(Main.Standing, "C")){ Main.positions = Main.Positions.STANDING; } if (Objects.equals(Main.Crouch, "C")){ Main.positions = Main.Positions.CROUCH;} if (Objects.equals(Main.Prone, "C")){ Main.positions = Main.Positions.PRONE; } if (Objects.equals(Main.Exit, "C")){ try { GlobalScreen.unregisterNativeHook();Main.rightClick = false;Main.shooting = false;MouseListener.executorService.shutdown();System.exit(1); } catch (NativeHookException e1) { e1.printStackTrace(); }} if (!Main.rightClick) { if (Objects.equals(Main.Arme1jeux, "C")) { switch (Main.switcharmes) { case ARMES1: Main.memoireChoix.put(ConfigManager1.getInstance1().getCurrentConfig(), Main.choixviseur);break; case ARMES2: Main.memoireChoix.put(ConfigManager2.getInstance2().getCurrentConfig(), Main.choixviseur);break; } Main.switcharmes = Main.Switcharmes.ARMES1; switch (Main.switcharmes) { case ARMES1: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager1.getInstance1().getCurrentConfig(), Main.Choixviseur.VISEUR1);break; case ARMES2: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager2.getInstance2().getCurrentConfig(), Main.Choixviseur.VISEUR1);break; }}} if (!Main.rightClick) { if (Objects.equals(Main.Arme2jeux, "C")) { switch (Main.switcharmes) { case ARMES1: Main.memoireChoix.put(ConfigManager1.getInstance1().getCurrentConfig(), Main.choixviseur);break; case ARMES2: Main.memoireChoix.put(ConfigManager2.getInstance2().getCurrentConfig(), Main.choixviseur);break; } Main.switcharmes = Main.Switcharmes.ARMES2; switch (Main.switcharmes) { case ARMES1: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager1.getInstance1().getCurrentConfig(), Main.Choixviseur.VISEUR1);break; case ARMES2: Main.choixviseur = Main.memoireChoix.getOrDefault(ConfigManager2.getInstance2().getCurrentConfig(), Main.Choixviseur.VISEUR1);break;}}} } //idem pour les autres touches clavier et ajout d'un NativeMouseWheelListener et NativeMouseListener pour les boutons de souris//
Çà fonctionne mais hier j'ai rajoute une option et je me suis fais une demi heure de copier coller .
Y a t'il une méthode qui simplifie cela ou suis_je condamne a du Ctrl_C , Ctrl_V a outrance ?
Je vous remercie
Fred
Partager