private void ClearMappingAndReturn()
        {
            if (Callback != null)
            {
                Callback(KeyCode.None);
                Callback = null;
            }

            gameObject.SetActive(false);
        }
        private void SetMappingAndReturn(KeyCode key)
        {
            if (Callback != null)
            {
                Callback(key);
                Callback = null;
            }

            gameObject.SetActive(false);
        }
        private void CancelMappingAndReturn()
        {
            if (Callback != null)
            {
                Callback(null);
                Callback = null;
            }

            gameObject.SetActive(false);
        }
        /// <summary>
        /// Call this, passing in a callback, to get a new key mapping
        /// </summary>
        public void GetMapping(string displayName, KeyCode oldKey, KBMButtonMappingCallback callback)
        {
            Callback = callback;
            gameObject.SetActive(true); //activate our panel

            //setup text boxen
            MappingText.text        = displayName;
            CurrentMappingText.text = InputModule.GetNameForKeyCode(oldKey);

            //clear selection
            EventSystem.current.Ref()?.SetSelectedGameObject(null);
        }