Pegue uma tecla de atalho "dupla"

Eu tenho que pegar uma tecla de atalhoCtrl+Alt+C, C (significado, pressioneCtrl+Alt+C, solte apenasC e pressione novamente). Aqui está o que estou tentando fazer:

import com.tulskiy.keymaster.common._
import java.awt.event._
import javax.swing.KeyStroke

class KeysCatcher {

  val provider = Provider.getCurrentProvider(true)
  val ctrlC = KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK + ActionEvent.ALT_MASK)

  val listener = new HotKeyListener() {
    def onHotKey(hotKey: HotKey): Unit = {
      hotKey.keyStroke match {
        case `ctrlC` =>
          println("Ctrl+Alt+C 1 was pressed")

          val listener2 = new HotKeyListener() {
            def onHotKey(hotKey: HotKey): Unit = {
              hotKey.keyStroke match {
                case `ctrlC` => println("Ctrl+Alt+C 2 was pressed")
              }
            }
          }

          provider.register(ctrlC, listener2)
      }
    }
  }

  provider.register(ctrlC, listener)
}

Eu tive a ideia de que uma vezCtrl+Alt+C é pressionado Eu tenho que registrar a mesma tecla de atalho novamente e pegá-lo. Eu ia envolver um timer desde a segunda edição doC deve ser bem rápido. Mas acho que tomei o caminho errado, já que seria bastante complicado.

Seus pensamentos? P.S. Não há janela lá, pega umglobal atalho. Eu também tentei muitas coisas da Internet e não funcionou como eu queria, então antes de me fornecer qualquer código, por favor, teste-o.

Embora este exemplo seja Scala, Java também seria bom.

Dependência:

https://github.com/tulskiy/jkeymaster

//build.scala
val jkeymaster = "com.github.tulskiy" % "jkeymaster" % "1.1" 

questionAnswers(1)

yourAnswerToTheQuestion