Пример #1
0
  public void start(KeyboardManager keymgr, Window root, RunQueue rqueue) {
    EventListener listener = new EventListener();
    try {
      // try to add a global event listener
      Toolkit.getDefaultToolkit().addAWTEventListener(listener, EVENT_MASK);
    } catch (SecurityException se) {
      // fall back to listening to our main window
      if (root != null) {
        root.addKeyListener(listener);
        root.addMouseListener(listener);
        root.addMouseMotionListener(listener);
      }
    }

    // and tie into the keyboard manager if one is provided
    if (keymgr != null) {
      keymgr.registerKeyObserver(
          new KeyboardManager.KeyObserver() {
            public void handleKeyEvent(int id, int keyCode, long timestamp) {
              handleUserActivity();
            }
          });
    }

    // register an interval to periodically check our last activity time
    new Interval(rqueue) {
      @Override
      public void expired() {
        checkIdle();
      }
    }.schedule(_toIdleTime / 3, true);
  }