Colocando um Item na Escuta mesmo não estando na janela do Aplicativo [?]

Como fazer pra colocar um item na espera por exemplo:

Eu utilizo o seguinte código:

       Action actionListener = new AbstractAction() {
      public void actionPerformed(ActionEvent actionEvent) {
        jTextField1.setText(getClipboardContents());
        JOptionPane.showMessageDialog(null,"");
      }
    };

        String ACTION_KEY = "theAZction";
    KeyStroke shiftF4 = KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.SHIFT_DOWN_MASK);
    InputMap inputMap = jTextField1.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
    inputMap.put(shiftF4, ACTION_KEY);
    ActionMap actionMap = jTextField1.getActionMap();
    actionMap.put(ACTION_KEY, actionListener);
    jTextField1.setActionMap(actionMap);

Nesse código ele espera para que o usuário aperte SHIFT e A e depois ele Cola o Conteudo do Clipboard no TextField.

Mas eu queria fazer esse código funcionar mesmo sem estar na janela do aplicativo.

E outra coisa, eu percebí que ele não tenta substituir os comandos que estiverem ativos no Windows, Por exemplo, Eu queria poder apertar CTRL e C e ele executar a função. Se alguem souber como fazer ele funcionar o CTRL e C e tbm como fazer esse CTRL e C quando apertado mesmo sem estar na janela, ele funcionar…

Obrigado!