// Copyright (c) 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "ui/events/win/system_event_state_lookup.h"

#include <windows.h>

namespace ui {
namespace win {

bool IsShiftPressed() {
  return (::GetKeyState(VK_SHIFT) & 0x8000) == 0x8000;
}

bool IsCtrlPressed() {
  return (::GetKeyState(VK_CONTROL) & 0x8000) == 0x8000;
}

bool IsAltPressed() {
  return (::GetKeyState(VK_MENU) & 0x8000) == 0x8000;
}

bool IsAltGrPressed() {
  return (::GetKeyState(VK_MENU) & 0x8000) == 0x8000 &&
      (::GetKeyState(VK_CONTROL) & 0x8000) == 0x8000;
}

bool IsWindowsKeyPressed() {
  return (::GetKeyState(VK_LWIN) & 0x8000) == 0x8000 ||
         (::GetKeyState(VK_RWIN) & 0x8000) == 0x8000;
}

bool IsCapsLockOn() {
  return (::GetKeyState(VK_CAPITAL) & 0x0001) == 0x0001;
}

bool IsNumLockOn() {
  return (::GetKeyState(VK_NUMLOCK) & 0x0001) == 0x0001;
}

bool IsScrollLockOn() {
  return (::GetKeyState(VK_SCROLL) & 0x0001) == 0x0001;
}

}  // namespace win
}  // namespace ui
