private async Task applyConfig(GamecubeControllerConfig config) {
     await controller.press(DolphinButton.A).execute();
     await new NameConfigurer(controller).InputName(config.name);
     await controller.wait(1000).then()
         .press(DolphinButton.A).then()
         .wait(3000).then()
         .press(DolphinButton.A).then()
         .wait(1000).execute();
     await new GamecubeControllerConfigurer(controller).ApplyConfig(config);
 }
 public ProjectMNamesManager() {
     this.config = new GamecubeControllerConfig();
     InitializeComponent();
     bindComboBox(LButtonCombobox, "LButton");
     bindComboBox(RButtonCombobox, "RButton");
     bindComboBox(ZButtonCombobox, "ZButton");
     bindComboBox(YButtonCombobox, "YButton");
     bindComboBox(XButtonCombobox, "XButton");
     bindComboBox(AButtonCombobox, "AButton");
     bindComboBox(BButtonCombobox, "BButton");
     bindComboBox(CStickCombobox, "CStick");
     bindComboBox(UpCombobox, "UpButton");
     bindComboBox(SideCombobox, "SideButton");
     bindComboBox(DownCombobox, "DownButton");
     tapJumpCheckbox.DataBindings.Add("Checked", config, "TapJump", false, DataSourceUpdateMode.OnPropertyChanged);
     nameTextbox.DataBindings.Add("Text", config, "name", false, DataSourceUpdateMode.OnPropertyChanged);
     usernameTextbox.DataBindings.Add("Text", config, "username", false, DataSourceUpdateMode.OnPropertyChanged);
     client = new MongoClient(MongoResources.mongourl);
 }
 public FormattedConfig(GamecubeControllerConfig config) {
     this.config = config;
 }