code: def __buttonEvent(event=None, buttons=None, virtual_event=None):
      
      # TODO: Replace globals with tkinter variables
      global boxRoot, __replyButtonText
  
      # Determine window location and save to global
      m = re.match("(\d+)x(\d+)([-+]\d+)([-+]\d+)", boxRoot.geometry())
      if not m:
          raise ValueError(
              "failed to parse geometry string: {}".format(boxRoot.geometry()))
      width, height, xoffset, yoffset = [int(s) for s in m.groups()]
      st.rootWindowPosition = '{0:+g}{1:+g}'.format(xoffset, yoffset)
  
      # print('{0}:{1}:{2}'.format(event, buttons, virtual_event))
      if virtual_event == 'cancel':
          for button_name, button in list(buttons.items()):
              if 'cancel_choice' in button:
                  __replyButtonText = button['original_text']
          __replyButtonText = None
          boxRoot.quit()
          return
  
      if virtual_event == 'select':
          text = event.widget.config('text')[-1]
          if not isinstance(text, ut.str):
              text = ' '.join(text)
          for button_name, button in list(buttons.items()):
              if button['clean_text'] == text:
                  __replyButtonText = button['original_text']
                  boxRoot.quit()
                  return
  
      # Hotkeys
      if buttons:
          for button_name, button in list(buttons.items()):
              hotkey_pressed = event.keysym
              if event.keysym != event.char:  # A special character
                  hotkey_pressed = '<{}>'.format(event.keysym)
              if button['hotkey'] == hotkey_pressed:
                  __replyButtonText = button_name
                  boxRoot.quit()
                  return
  
      print("Event not understood")
docs: Handle an event that is generated by a person interacting with a button.  It may be a button press
      or a key press.