github.com/daidehu6831/wails/v2@v2.2.0/pkg/menu/keys/macmodifiers.go (about)

     1  package keys
     2  
     3  const (
     4  	NSEventModifierFlagShift   = 1 << 17 // Set if Shift key is pressed.
     5  	NSEventModifierFlagControl = 1 << 18 // Set if Control key is pressed.
     6  	NSEventModifierFlagOption  = 1 << 19 // Set if Option or Alternate key is pressed.
     7  	NSEventModifierFlagCommand = 1 << 20 // Set if Command key is pressed.
     8  )
     9  
    10  var macModifierMap = map[Modifier]int{
    11  	CmdOrCtrlKey:   NSEventModifierFlagCommand,
    12  	ControlKey:     NSEventModifierFlagControl,
    13  	OptionOrAltKey: NSEventModifierFlagOption,
    14  	ShiftKey:       NSEventModifierFlagShift,
    15  }
    16  
    17  func ToMacModifier(accelerator *Accelerator) int {
    18  	if accelerator == nil {
    19  		return 0
    20  	}
    21  	result := 0
    22  	for _, modifier := range accelerator.Modifiers {
    23  		result |= macModifierMap[modifier]
    24  	}
    25  	return result
    26  }