示例#1
0
  // update the state of our modifier keys
  private void updateModifierKeyStates() {
    // check if any key is in the keycodes list

    List<Keyboard.Key> keys = modifiersKeyboard.getKeys();
    for (Iterator<Keyboard.Key> it = keys.iterator(); it.hasNext(); ) {
      // if the key is a sticky key - just set it to off
      Keyboard.Key curKey = it.next();
      if (curKey.sticky) {
        switch (keyboardMapper.getModifierState(curKey.codes[0])) {
          case KeyboardMapper.KEYSTATE_ON:
            curKey.on = true;
            curKey.pressed = false;
            break;

          case KeyboardMapper.KEYSTATE_OFF:
            curKey.on = false;
            curKey.pressed = false;
            break;

          case KeyboardMapper.KEYSTATE_LOCKED:
            curKey.on = true;
            curKey.pressed = true;
            break;
        }
      }
    }

    // refresh image
    modifiersKeyboardView.invalidateAllKeys();
  }