cemu-DS4Windows/DS4Tool/KBM360.cs

108 lines
3.8 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ScpServer
{
public partial class KBM360 : Form
{
private DS4Control.Control scpDevice;
private int device;
private Button button;
private Options ops;
public KBM360(DS4Control.Control bus_device, int deviceNum, Options ooo, Button buton, int tabStart)
{
InitializeComponent();
device = deviceNum;
scpDevice = bus_device;
ops = ooo;
button = buton;
if (button.ForeColor == Color.Red)
cbRepeat.Checked = true;
if (button.Font.Bold)
cbScanCode.Checked = true;
Text = "Select an action for " + button.Name.Substring(2);
foreach (System.Windows.Forms.Control control in tabKBM.Controls)
if (control is Button)
((Button)control).Click += new System.EventHandler(anybtn_Click);
foreach (System.Windows.Forms.Control control in tab360.Controls)
if (control is Button)
((Button)control).Click += new System.EventHandler(anybtn_Click360);
if (button.Name.Contains("Touch"))
{
bnMOUSEDOWN.Visible = false;
bnMOUSELEFT.Visible = false;
bnMOUSERIGHT.Visible = false;
bnMOUSEUP.Visible = false;
}
if (tabStart < 2)
tabControl1.SelectedIndex = tabStart;
else
tabControl1.SelectedIndex = 0;
ReFocus();
}
public void anybtn_Click(object sender, EventArgs e)
{
if (sender is Button)
{
string keyname;
if (((Button)sender).Text.Contains('↑') || ((Button)sender).Text.Contains('↓') || ((Button)sender).Text.Contains('→') || ((Button)sender).Text.Contains('←') || ((Button)sender).Text.Contains('Ø'))
keyname = ((Button)sender).Text.Substring(1);
else if (((Button)sender).Font.Name == "Webdings")
{
if (((Button)sender).Text == "9")
keyname = "Previous Track";
else if (((Button)sender).Text == "<")
keyname = "Stop Track";
else if (((Button)sender).Text == "4")
keyname = "Play/Pause";
else if (((Button)sender).Text == ":")
keyname = "Next Track";
else
keyname = "How did you get here?";
}
else
keyname = ((Button)sender).Text;
object keytag = ((Button)sender).Tag;
ops.ChangeButtonText(keyname, keytag);
this.Close();
}
}
private void ReFocus()
{
if (ops.Focused)
this.Enabled = false;
}
public void anybtn_Click360(object sender, EventArgs e)
{
if (sender is Button)
{
string keyname = ((Button)sender).Text;
ops.ChangeButtonText(keyname);
this.Close();
}
}
private void finalMeasure(object sender, FormClosedEventArgs e)
{
ops.Toggle_Repeat(cbRepeat.Checked);
ops.Toggle_ScanCode(cbScanCode.Checked);
ops.UpdateLists();
}
private void Key_Down_Action(object sender, KeyEventArgs e)
{
ops.ChangeButtonText(e.KeyCode.ToString(), e.KeyValue);
this.Close();
}
}
}