code: func AddEvents(key string, arr ...string) bool {
  	s := hook.Start()
  	// defer hook.End()
  
  	ct := false
  	k := 0
  	for {
  		e := <-s
  
  		l := len(arr)
  		if l > 0 {
  			for i := 0; i < l; i++ {
  				ukey := uint16(keycode[arr[i]].(int))
  
  				if e.Kind == hook.KeyHold && e.Keycode == ukey {
  					k++
  				}
  
  				if k == l {
  					ct = true
  				}
  
  				if e.Kind == hook.KeyUp && e.Keycode == ukey {
  					if k > 0 {
  						k--
  					}
  					// time.Sleep(10 * time.Microsecond)
  					ct = false
  				}
  			}
  		} else {
  			ct = true
  		}
  
  		if ct && e.Kind == hook.KeyUp && e.Keycode == uint16(keycode[key].(int)) {
  			hook.End()
  			// k = 0
  			break
  		}
  	}
  
  	return true
  }
docs: // AddEvents add global event hook
  //
  // robotgo.AddEvents("q")
  // robotgo.AddEvents("q", "ctrl")
  // robotgo.AddEvents("q", "ctrl", "shift")