Class Provider

java.lang.Object
com.tulskiy.keymaster.common.Provider
Direct Known Subclasses:
CarbonProvider, WindowsProvider, X11Provider

public abstract class Provider
extends Object
Main interface to global hotkey providers
Author: Denis Tulskiy Date: 6/12/11
  • Constructor Details

  • Method Details

    • getCurrentProvider

      public static Provider getCurrentProvider​(boolean useSwingEventQueue)
      Get global hotkey provider for current platform
      Parameters:
      useSwingEventQueue - whether the provider should be using Swing Event queue or a regular thread
      Returns:
      new instance of Provider, or null if platform is not supported
      See Also:
      X11Provider, WindowsProvider, CarbonProvider
    • init

      protected abstract void init()
      Initialize provider. Starts main thread that will listen to hotkey events
    • stop

      public void stop()
      Stop the provider. Stops main thread and frees any resources.
      all hotkeys should be reset before calling this method
      See Also:
      reset()
    • reset

      public abstract void reset()
      Reset all hotkey listeners
    • register

      public abstract void register​(KeyStroke keyCode, HotKeyListener listener)
      Register a global hotkey. Only keyCode and modifiers fields are respected
      Parameters:
      keyCode - KeyStroke to register
      listener - listener to be notified of hotkey events
      See Also:
      KeyStroke
    • register

      public abstract void register​(MediaKey mediaKey, HotKeyListener listener)
      Register a media hotkey. Currently supported media keys are:
      • Play/Pause
      • Stop
      • Next track
      • Previous Track
      Parameters:
      mediaKey - media key to register
      listener - listener to be notified of hotkey events
      See Also:
      MediaKey
    • fireEvent

      protected void fireEvent​(HotKey hotKey)
      Helper method fro providers to fire hotkey event in a separate thread
      Parameters:
      hotKey - hotkey to fire
    • setUseSwingEventQueue

      public void setUseSwingEventQueue​(boolean useSwingEventQueue)