Removed NativeHook From being used in Linux Versions

This commit is contained in:
ChococookieOS 2019-10-20 17:14:52 +02:00
parent fc768ab36f
commit 026832e3f7
14 changed files with 88 additions and 119 deletions

View File

@ -1,18 +1,3 @@
/HelveticaNeue-UltraLight.otf
/LiberationSerif-Regular.ttf
/back.png
/basics/ /basics/
/edit.png
/guis/
/icon.ico
/icon.png
/lock.png
/main/ /main/
/manager/ /guis/
/mod_quicklaunch/
/plus.png
/save.png
/scenes/
/trash.png
/unsaved.png
/update/

View File

@ -17,6 +17,7 @@ import javafx.stage.WindowEvent;
import main.KeyChecker; import main.KeyChecker;
import main.ModLoader; import main.ModLoader;
import main.Start; import main.Start;
import manager.OperatingSystem;
import manager.SettingManager; import manager.SettingManager;
import scenes.MainScene; import scenes.MainScene;
import update.Updater; import update.Updater;
@ -36,6 +37,12 @@ public class BasicGuiApp extends Application{
ml.addMods(); ml.addMods();
ml.initMods(); ml.initMods();
if(SettingManager.getOperatingSystem() == OperatingSystem.WINDOWS) {
registerNativeHoook();
}
}
private void registerNativeHoook() {
try { try {
GlobalScreen.registerNativeHook(); GlobalScreen.registerNativeHook();
} catch (NativeHookException e) { } catch (NativeHookException e) {
@ -49,7 +56,6 @@ public class BasicGuiApp extends Application{
GlobalScreen.addNativeKeyListener(listener); GlobalScreen.addNativeKeyListener(listener);
} }
public void start(Stage primaryStage) throws Exception { public void start(Stage primaryStage) throws Exception {
mainStage = primaryStage; mainStage = primaryStage;

View File

@ -1,6 +1,5 @@
package guis; package guis;
import org.jnativehook.GlobalScreen; import org.jnativehook.GlobalScreen;
import basics.BasicGuiApp; import basics.BasicGuiApp;
@ -11,15 +10,15 @@ import javafx.scene.control.CheckBox;
import javafx.scene.layout.AnchorPane; import javafx.scene.layout.AnchorPane;
import javafx.scene.text.Text; import javafx.scene.text.Text;
import main.ShortcutKeyChecker; import main.ShortcutKeyChecker;
import manager.OperatingSystem;
import manager.ResourceManager; import manager.ResourceManager;
import manager.SettingManager; import manager.SettingManager;
public class SettingGui extends AnchorPane{ public class SettingGui extends AnchorPane {
AnchorPane settingPane; AnchorPane settingPane;
public SettingGui(){ public SettingGui() {
this.setPrefWidth(300); this.setPrefWidth(300);
this.setPrefHeight(185); this.setPrefHeight(185);
this.setStyle("-fx-background-color: rgba(240, 240, 240, 1);"); this.setStyle("-fx-background-color: rgba(240, 240, 240, 1);");
@ -56,74 +55,77 @@ public class SettingGui extends AnchorPane{
setting3Box.setSelected(SettingManager.isCheckUptdateOnBoot()); setting3Box.setSelected(SettingManager.isCheckUptdateOnBoot());
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
Text setting4 = new Text("QuickLaunch shortcut:"); if (SettingManager.getOperatingSystem() == OperatingSystem.WINDOWS) {
setting4.setFont(ResourceManager.getFontSmall()); Text setting4 = new Text("QuickLaunch shortcut:");
setting4.setLayoutX(10); setting4.setFont(ResourceManager.getFontSmall());
setting4.setLayoutY(128); setting4.setLayoutX(10);
setting4.prefWidth(180); setting4.setLayoutY(128);
setting4.prefHeight(30); setting4.prefWidth(180);
setting4.prefHeight(30);
final Button setting4button1 = new Button("key1");
if(!(SettingManager.getKey1() == -1)){
setting4button1.setText(SettingManager.getKey1()+"");
}
setting4button1.setFont(ResourceManager.getFontSmall());
setting4button1.setLayoutX(10);
setting4button1.setLayoutY(145);
setting4button1.prefWidth(40);
setting4button1.prefHeight(24);
setting4button1.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
ShortcutKeyChecker skc = new ShortcutKeyChecker();
GlobalScreen.removeNativeKeyListener(BasicGuiApp.listener);
GlobalScreen.addNativeKeyListener(skc);
while(skc.lastKey == -1){
try {
Thread.sleep(100);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
setting4button1.setText(skc.lastKey+"");
SettingManager.setKey1(skc.lastKey);
GlobalScreen.removeNativeKeyListener(skc);
GlobalScreen.addNativeKeyListener(BasicGuiApp.listener);
final Button setting4button1 = new Button("key1");
if (!(SettingManager.getKey1() == -1)) {
setting4button1.setText(SettingManager.getKey1() + "");
} }
}); setting4button1.setFont(ResourceManager.getFontSmall());
setting4button1.setLayoutX(10);
setting4button1.setLayoutY(145);
setting4button1.prefWidth(40);
setting4button1.prefHeight(24);
setting4button1.setOnAction(new EventHandler<ActionEvent>() {
final Button setting4button2 = new Button("key2"); public void handle(ActionEvent event) {
if(!(SettingManager.getKey2() == -1)){ ShortcutKeyChecker skc = new ShortcutKeyChecker();
setting4button2.setText(SettingManager.getKey2()+""); GlobalScreen.removeNativeKeyListener(BasicGuiApp.listener);
} GlobalScreen.addNativeKeyListener(skc);
setting4button2.setFont(ResourceManager.getFontSmall()); while (skc.lastKey == -1) {
setting4button2.setLayoutX(95);
setting4button2.setLayoutY(145);
setting4button2.prefWidth(40);
setting4button2.prefHeight(24);
setting4button2.setOnAction(new EventHandler<ActionEvent>() {
try {
public void handle(ActionEvent event) { Thread.sleep(100);
ShortcutKeyChecker skc = new ShortcutKeyChecker(); } catch (InterruptedException e1) {
GlobalScreen.removeNativeKeyListener(BasicGuiApp.listener); e1.printStackTrace();
GlobalScreen.addNativeKeyListener(skc); }
while(skc.lastKey == -1){
try {
Thread.sleep(100);
} catch (InterruptedException e1) {
e1.printStackTrace();
} }
setting4button1.setText(skc.lastKey + "");
SettingManager.setKey1(skc.lastKey);
GlobalScreen.removeNativeKeyListener(skc);
GlobalScreen.addNativeKeyListener(BasicGuiApp.listener);
} }
setting4button2.setText(skc.lastKey+""); });
SettingManager.setKey2(skc.lastKey);
GlobalScreen.removeNativeKeyListener(skc); final Button setting4button2 = new Button("key2");
GlobalScreen.addNativeKeyListener(BasicGuiApp.listener); if (!(SettingManager.getKey2() == -1)) {
setting4button2.setText(SettingManager.getKey2() + "");
} }
}); setting4button2.setFont(ResourceManager.getFontSmall());
setting4button2.setLayoutX(95);
setting4button2.setLayoutY(145);
setting4button2.prefWidth(40);
setting4button2.prefHeight(24);
setting4button2.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
ShortcutKeyChecker skc = new ShortcutKeyChecker();
GlobalScreen.removeNativeKeyListener(BasicGuiApp.listener);
GlobalScreen.addNativeKeyListener(skc);
while (skc.lastKey == -1) {
try {
Thread.sleep(100);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
setting4button2.setText(skc.lastKey + "");
SettingManager.setKey2(skc.lastKey);
GlobalScreen.removeNativeKeyListener(skc);
GlobalScreen.addNativeKeyListener(BasicGuiApp.listener);
}
});
this.getChildren().add(setting4);
this.getChildren().add(setting4button1);
this.getChildren().add(setting4button2);
}
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
@ -135,7 +137,6 @@ public class SettingGui extends AnchorPane{
exit.prefHeight(24); exit.prefHeight(24);
exit.setOnAction(new EventHandler<ActionEvent>() { exit.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) { public void handle(ActionEvent event) {
SettingManager.setLoadFileOnBoot(setting1Box.isSelected()); SettingManager.setLoadFileOnBoot(setting1Box.isSelected());
SettingManager.setCheckUptdateOnBoot(setting3Box.isSelected()); SettingManager.setCheckUptdateOnBoot(setting3Box.isSelected());
@ -145,14 +146,11 @@ public class SettingGui extends AnchorPane{
} }
}); });
this.getChildren().add(setting1); this.getChildren().add(setting1);
this.getChildren().add(setting1Box); this.getChildren().add(setting1Box);
this.getChildren().add(setting3); this.getChildren().add(setting3);
this.getChildren().add(setting3Box); this.getChildren().add(setting3Box);
this.getChildren().add(setting4);
this.getChildren().add(setting4button1);
this.getChildren().add(setting4button2);
this.getChildren().add(exit); this.getChildren().add(exit);
} }

View File

@ -7,7 +7,6 @@ import org.jnativehook.keyboard.NativeKeyListener;
import basics.BasicGuiApp; import basics.BasicGuiApp;
import guis.MainGui; import guis.MainGui;
import javafx.application.Platform; import javafx.application.Platform;
import manager.OperatingSystem;
import manager.SettingManager; import manager.SettingManager;
public class KeyChecker implements NativeKeyListener{ public class KeyChecker implements NativeKeyListener{
@ -31,31 +30,12 @@ public class KeyChecker implements NativeKeyListener{
Platform.runLater(new Runnable() { Platform.runLater(new Runnable() {
public void run() { public void run() {
if(SettingManager.getOperatingSystem() == OperatingSystem.LINUX) {
BasicGuiApp.mainStage.setIconified(true);
BasicGuiApp.mainStage.setIconified(false);
BasicGuiApp.mainStage.toFront();
BasicGuiApp.mainStage.requestFocus();
MainGui.inputField.requestFocus();
}
else if(SettingManager.getOperatingSystem() == OperatingSystem.WINDOWS) {
BasicGuiApp.mainStage.setAlwaysOnTop(true); BasicGuiApp.mainStage.setAlwaysOnTop(true);
BasicGuiApp.mainStage.setAlwaysOnTop(false); BasicGuiApp.mainStage.setAlwaysOnTop(false);
BasicGuiApp.mainStage.requestFocus(); BasicGuiApp.mainStage.requestFocus();
MainGui.inputField.requestFocus(); MainGui.inputField.requestFocus();
BasicGuiApp.mainStage.setIconified(true); BasicGuiApp.mainStage.setIconified(true);
BasicGuiApp.mainStage.setIconified(false); BasicGuiApp.mainStage.setIconified(false);
}
else if(SettingManager.getOperatingSystem() == OperatingSystem.OSX) {
BasicGuiApp.mainStage.setIconified(true);
BasicGuiApp.mainStage.setIconified(false);
BasicGuiApp.mainStage.toFront();
BasicGuiApp.mainStage.requestFocus();
MainGui.inputField.requestFocus();
}
} }
}); });