私はLinux用の簡単なホットキープログラムを手に入れました。プログラムがハイライト表示されたら、それは完全に機能しますが、別のアプリをクリックすると、プログラムは応答しません。プログラムがバックグラウンドで実行されても応答する方法はありますか?Javaハイライトされていないプログラムをホットキーに対応させる方法
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class ahkkeys extends JFrame {
\t /**
\t \t *
\t \t */
\t private static final long serialVersionUID = 7564262221986249595L;
\t /**
\t \t *
\t \t */
\t Robot r;
\t public ahkkeys() {
\t \t createAndShowGUI();
\t }
\t private void createAndShowGUI() {
\t \t setTitle("Move Cursor with Keyboard");
\t \t setDefaultCloseOperation(EXIT_ON_CLOSE);
\t \t // hide the visibility
\t \t setUndecorated(true);
\t \t setOpacity(1);
\t \t setVisible(true);
\t \t // Create Robot object
\t \t try {
\t \t \t r = new Robot();
\t \t } catch (Exception e) {
\t \t }
\t \t addKeyListener(new KeyAdapter() {
\t \t \t public void keyPressed(KeyEvent e) {
\t \t \t \t if (r == null)
\t \t \t \t \t return;
\t \t \t \t Point p = MouseInfo.getPointerInfo().getLocation();
\t \t \t \t switch (e.getKeyCode()) {
\t \t \t \t // 2::Click right
\t \t \t \t case KeyEvent.VK_2:
\t \t \t \t \t r.mousePress(MouseEvent.BUTTON3_MASK);
\t \t \t \t \t r.mouseRelease(MouseEvent.BUTTON3_MASK);
break;
\t \t \t \t \t // move down
\t \t \t \t case KeyEvent.VK_3:
\t \t \t \t \t r.mouseMove(p.x, p.y + 55);
break;
\t \t \t \t // left click
\t \t \t \t case KeyEvent.VK_4:
\t \t \t \t \t r.mousePress(MouseEvent.BUTTON1_MASK);
\t \t \t \t \t r.mouseRelease(MouseEvent.BUTTON1_MASK);
\t \t \t \t }
\t \t \t }
\t \t });
\t }
\t public static void main(String args[]) {
\t \t new ahkkeys();
\t }
}