code: func attachKeyBindCallback(xu *xgbutil.XUtil, evtype int, win xproto.Window,
  	mods uint16, keycode xproto.Keycode, fun xgbutil.CallbackKey) {
  
  	xu.KeybindsLck.Lock()
  	defer xu.KeybindsLck.Unlock()
  
  	// Create key
  	key := xgbutil.KeyKey{evtype, win, mods, keycode}
  
  	// Do we need to allocate?
  	if _, ok := xu.Keybinds[key]; !ok {
  		xu.Keybinds[key] = make([]xgbutil.CallbackKey, 0)
  	}
  
  	xu.Keybinds[key] = append(xu.Keybinds[key], fun)
  	xu.Keygrabs[key] += 1
  }
docs: // attachKeyBindCallback associates an (event, window, mods, keycode)
  // with a callback.
  // This is exported for use in the keybind package. It should not be used.