Mouse.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import {
  2. getOriginal as getOriginalEvent
  3. } from './Event';
  4. import {
  5. isMac
  6. } from './Platform';
  7. export {
  8. isMac
  9. } from './Platform';
  10. export function isButton(event, button) {
  11. return (getOriginalEvent(event) || event).button === button;
  12. }
  13. export function isPrimaryButton(event) {
  14. // button === 0 -> left áka primary mouse button
  15. return isButton(event, 0);
  16. }
  17. export function isAuxiliaryButton(event) {
  18. // button === 1 -> auxiliary áka wheel button
  19. return isButton(event, 1);
  20. }
  21. export function isSecondaryButton(event) {
  22. // button === 2 -> right áka secondary button
  23. return isButton(event, 2);
  24. }
  25. export function hasPrimaryModifier(event) {
  26. var originalEvent = getOriginalEvent(event) || event;
  27. if (!isPrimaryButton(event)) {
  28. return false;
  29. }
  30. // Use cmd as primary modifier key for mac OS
  31. if (isMac()) {
  32. return originalEvent.metaKey;
  33. } else {
  34. return originalEvent.ctrlKey;
  35. }
  36. }
  37. export function hasSecondaryModifier(event) {
  38. var originalEvent = getOriginalEvent(event) || event;
  39. return isPrimaryButton(event) && originalEvent.shiftKey;
  40. }