mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2024-11-29 04:24:19 +01:00
Merge branch 'jay' of https://github.com/Ryochan7/DS4Windows into jay
This commit is contained in:
commit
7c3b4668d1
@ -425,8 +425,7 @@ namespace DS4Windows
|
|||||||
[DS4Controls.SwipeLeft] = "Swipe Left",
|
[DS4Controls.SwipeLeft] = "Swipe Left",
|
||||||
[DS4Controls.SwipeRight] = "Swipe Right",
|
[DS4Controls.SwipeRight] = "Swipe Right",
|
||||||
[DS4Controls.SwipeUp] = "Swipe Up",
|
[DS4Controls.SwipeUp] = "Swipe Up",
|
||||||
[DS4Controls.SwipeUp] = "Swipe Up",
|
[DS4Controls.SwipeDown] = "Swipe Down",
|
||||||
[DS4Controls.SwipeDown] = "None",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
public static Dictionary<DS4Controls, int> macroDS4Values = new Dictionary<DS4Controls, int>()
|
public static Dictionary<DS4Controls, int> macroDS4Values = new Dictionary<DS4Controls, int>()
|
||||||
|
@ -301,7 +301,10 @@ Suspend support not enabled.", true);
|
|||||||
Dispatcher.BeginInvoke((Action)(() =>
|
Dispatcher.BeginInvoke((Action)(() =>
|
||||||
{
|
{
|
||||||
int count = logListView.Items.Count;
|
int count = logListView.Items.Count;
|
||||||
logListView.ScrollIntoView(logvm.LogItems[count > 0 ? count-1 : 0]);
|
if (count > 0)
|
||||||
|
{
|
||||||
|
logListView.ScrollIntoView(logvm.LogItems[count - 1]);
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -57,16 +57,16 @@
|
|||||||
<Button Content="Top Touch" x:Name="topTouchConBtn" Canvas.Left="157" Canvas.Top="46" Width="125" Height="23" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="Top Touch" x:Name="topTouchConBtn" Canvas.Left="157" Canvas.Top="46" Width="125" Height="23" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
|
|
||||||
<Button Content="L3" x:Name="l3ConBtn" Canvas.Left="138" Canvas.Top="147" Width="42" Height="42" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="L3" x:Name="l3ConBtn" Canvas.Left="138" Canvas.Top="147" Width="42" Height="42" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
<Button Content="LSU" x:Name="lsuConBtn" Canvas.Left="150" Canvas.Top="138" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="LSU" x:Name="lsuConBtn" Canvas.Left="150" Canvas.Top="140" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
<Button Content="LSR" x:Name="lsrConBtn" Canvas.Left="174" Canvas.Top="162" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="LSR" x:Name="lsrConBtn" Canvas.Left="172" Canvas.Top="162" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
<Button Content="LSD" x:Name="lsdConBtn" Canvas.Left="150" Canvas.Top="182" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="LSD" x:Name="lsdConBtn" Canvas.Left="150" Canvas.Top="180" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
<Button Content="LSL" x:Name="lslConBtn" Canvas.Left="124" Canvas.Top="162" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="LSL" x:Name="lslConBtn" Canvas.Left="126" Canvas.Top="162" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
|
|
||||||
<Button Content="R3" x:Name="r3ConBtn" Canvas.Left="262" Canvas.Top="149" Width="42" Height="42" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="R3" x:Name="r3ConBtn" Canvas.Left="262" Canvas.Top="149" Width="42" Height="42" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
<Button Content="RSU" x:Name="rsuConBtn" Canvas.Left="275" Canvas.Top="138" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="RSU" x:Name="rsuConBtn" Canvas.Left="275" Canvas.Top="142" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
<Button Content="RSR" x:Name="rsrConBtn" Canvas.Left="302" Canvas.Top="162" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="RSR" x:Name="rsrConBtn" Canvas.Left="298" Canvas.Top="162" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
<Button Content="RSD" x:Name="rsdConBtn" Canvas.Left="275" Canvas.Top="183" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="RSD" x:Name="rsdConBtn" Canvas.Left="275" Canvas.Top="180" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
<Button Content="RSL" x:Name="rslConBtn" Canvas.Left="244" Canvas.Top="162" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="RSL" x:Name="rslConBtn" Canvas.Left="248" Canvas.Top="162" Width="17" Height="15" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
|
|
||||||
<Button Content="Up" x:Name="upConBtn" Canvas.Left="88" Canvas.Top="74" Width="20" Height="35" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="Up" x:Name="upConBtn" Canvas.Left="88" Canvas.Top="74" Width="20" Height="35" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
<Button Content="Right" x:Name="rightConBtn" Canvas.Left="103" Canvas.Top="103" Width="35" Height="20" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
<Button Content="Right" x:Name="rightConBtn" Canvas.Left="103" Canvas.Top="103" Width="35" Height="20" Style="{StaticResource NoBGHoverBtn}" Click="HoverConBtn_Click" MouseEnter="ContBtn_MouseEnter" MouseLeave="ContBtn_MouseLeave" />
|
||||||
@ -118,7 +118,7 @@
|
|||||||
<RadioButton x:Name="useTouchControlsRadio" Content="Use As Controls" GroupName="tpMode" Click="UseTouchControlsRadio_Click" Margin="10,0,0,0" />
|
<RadioButton x:Name="useTouchControlsRadio" Content="Use As Controls" GroupName="tpMode" Click="UseTouchControlsRadio_Click" Margin="10,0,0,0" />
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<StackPanel x:Name="useMousePanel" Margin="0,10,0,0">
|
<StackPanel x:Name="useMousePanel" Margin="0,10,0,0" Visibility="Visible">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<StackPanel Orientation="Horizontal" Height="20">
|
<StackPanel Orientation="Horizontal" Height="20">
|
||||||
<CheckBox Content="{lex:Loc TouchSlide}" IsChecked="{Binding TouchSenExists}" />
|
<CheckBox Content="{lex:Loc TouchSlide}" IsChecked="{Binding TouchSenExists}" />
|
||||||
@ -206,19 +206,19 @@
|
|||||||
|
|
||||||
<StackPanel x:Name="useControlsPanel" Margin="0,10,0,0" Visibility="Collapsed">
|
<StackPanel x:Name="useControlsPanel" Margin="0,10,0,0" Visibility="Collapsed">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
<Button x:Name="swipeUpBtn" Content="Swipe Up" Width="70" />
|
<Button x:Name="swipeUpBtn" Content="Swipe Up" Width="70" Tag="36" Click="SwipeControlsButton_Click" />
|
||||||
<Label x:Name="swipeUpLb" Content="{Binding MappingName,FallbackValue=Unassigned}" Margin="10,0,0,0"/>
|
<Label x:Name="swipeUpLb" Content="{Binding MappingName,FallbackValue=Unassigned}" Margin="10,0,0,0"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
||||||
<Button x:Name="swipeDownBtn" Content="Swipe Down" Width="70" />
|
<Button x:Name="swipeDownBtn" Content="Swipe Down" Width="70" Tag="37" Click="SwipeControlsButton_Click" />
|
||||||
<Label x:Name="swipeDownLb" Content="{Binding MappingName,FallbackValue=Unassigned}" Margin="10,0,0,0"/>
|
<Label x:Name="swipeDownLb" Content="{Binding MappingName,FallbackValue=Unassigned}" Margin="10,0,0,0"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
||||||
<Button x:Name="swipeLeftBtn" Content="Swipe Left" Width="70" />
|
<Button x:Name="swipeLeftBtn" Content="Swipe Left" Width="70" Tag="34" Click="SwipeControlsButton_Click" />
|
||||||
<Label x:Name="swipeLeftLb" Content="{Binding MappingName,FallbackValue=Unassigned}" Margin="10,0,0,0"/>
|
<Label x:Name="swipeLeftLb" Content="{Binding MappingName,FallbackValue=Unassigned}" Margin="10,0,0,0"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
<StackPanel Orientation="Horizontal" Margin="0,8,0,0">
|
||||||
<Button x:Name="swipeRightBtn" Content="Swipe Right" Width="70" />
|
<Button x:Name="swipeRightBtn" Content="Swipe Right" Width="70" Tag="35" Click="SwipeControlsButton_Click" />
|
||||||
<Label x:Name="swipeRightLb" Content="{Binding MappingName,FallbackValue=Unassigned}" Margin="10,0,0,0"/>
|
<Label x:Name="swipeRightLb" Content="{Binding MappingName,FallbackValue=Unassigned}" Margin="10,0,0,0"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
@ -1255,5 +1255,17 @@ namespace DS4WinWPF.DS4Forms
|
|||||||
mpControl.UpdateMappingName();
|
mpControl.UpdateMappingName();
|
||||||
UpdateHighlightLabel(mpControl);
|
UpdateHighlightLabel(mpControl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void SwipeControlsButton_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
Button btn = sender as Button;
|
||||||
|
DS4Controls control = (DS4Controls)Convert.ToInt32(btn.Tag);
|
||||||
|
MappedControl mpControl = mappingListVM.ControlMap[control];
|
||||||
|
BindingWindow window = new BindingWindow(deviceNum, mpControl.Setting);
|
||||||
|
window.Owner = App.Current.MainWindow;
|
||||||
|
window.ShowDialog();
|
||||||
|
mpControl.UpdateMappingName();
|
||||||
|
UpdateHighlightLabel(mpControl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
lex:ResxLocalizationProvider.DefaultDictionary="Strings"
|
lex:ResxLocalizationProvider.DefaultDictionary="Strings"
|
||||||
xmlns:local="clr-namespace:DS4WinWPF.DS4Forms"
|
xmlns:local="clr-namespace:DS4WinWPF.DS4Forms"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="350" d:DesignWidth="800" KeyDown="UserControl_KeyDown" KeyUp="UserControl_KeyUp" MouseDown="UserControl_MouseDown" MouseUp="UserControl_MouseUp" >
|
d:DesignHeight="350" d:DesignWidth="800" KeyDown="UserControl_KeyDown" KeyUp="UserControl_KeyUp" MouseDown="UserControl_MouseDown" MouseUp="UserControl_MouseUp" Focusable="True" >
|
||||||
<UserControl.Resources>
|
<UserControl.Resources>
|
||||||
<DataTemplate x:Key="DisplayTemplate">
|
<DataTemplate x:Key="DisplayTemplate">
|
||||||
<StackPanel Orientation="Horizontal">
|
<StackPanel Orientation="Horizontal">
|
||||||
|
@ -62,6 +62,23 @@ namespace DS4WinWPF.DS4Forms
|
|||||||
private void SetupLateEvents()
|
private void SetupLateEvents()
|
||||||
{
|
{
|
||||||
macroListBox.SelectionChanged += MacroListBox_SelectionChanged;
|
macroListBox.SelectionChanged += MacroListBox_SelectionChanged;
|
||||||
|
recordBoxVM.MacroSteps.CollectionChanged += MacroSteps_CollectionChanged;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MacroSteps_CollectionChanged(object sender,
|
||||||
|
System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
|
||||||
|
{
|
||||||
|
Dispatcher.BeginInvoke((Action)(() =>
|
||||||
|
{
|
||||||
|
int count = recordBoxVM.MacroSteps.Count;
|
||||||
|
if (count > 0)
|
||||||
|
{
|
||||||
|
macroListBox.ScrollIntoView(recordBoxVM.MacroSteps[count - 1]);
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MacroListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
private void MacroListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||||
@ -271,12 +288,14 @@ namespace DS4WinWPF.DS4Forms
|
|||||||
recordBoxVM.KeysdownMap.Add(value, true);
|
recordBoxVM.KeysdownMap.Add(value, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
e.Handled = true;
|
||||||
//Console.WriteLine(e.Key);
|
//Console.WriteLine(e.Key);
|
||||||
//Console.WriteLine(e.SystemKey);
|
//Console.WriteLine(e.SystemKey);
|
||||||
}
|
}
|
||||||
else if (e.Key == Key.Delete && recordBoxVM.MacroStepIndex >= 0)
|
else if (e.Key == Key.Delete && recordBoxVM.MacroStepIndex >= 0)
|
||||||
{
|
{
|
||||||
recordBoxVM.MacroSteps.RemoveAt(recordBoxVM.MacroStepIndex);
|
recordBoxVM.MacroSteps.RemoveAt(recordBoxVM.MacroStepIndex);
|
||||||
|
e.Handled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -294,6 +313,7 @@ namespace DS4WinWPF.DS4Forms
|
|||||||
recordBoxVM.KeysdownMap.Remove(value);
|
recordBoxVM.KeysdownMap.Remove(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
e.Handled = true;
|
||||||
//Console.WriteLine(e.Key);
|
//Console.WriteLine(e.Key);
|
||||||
//Console.WriteLine(e.SystemKey);
|
//Console.WriteLine(e.SystemKey);
|
||||||
}
|
}
|
||||||
@ -499,6 +519,7 @@ namespace DS4WinWPF.DS4Forms
|
|||||||
DS4Windows.MacroStep.StepType.ActDown, DS4Windows.MacroStep.StepOutput.Button);
|
DS4Windows.MacroStep.StepType.ActDown, DS4Windows.MacroStep.StepOutput.Button);
|
||||||
recordBoxVM.AddMacroStep(step);
|
recordBoxVM.AddMacroStep(step);
|
||||||
recordBoxVM.KeysdownMap.Add(value, true);
|
recordBoxVM.KeysdownMap.Add(value, true);
|
||||||
|
e.Handled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -521,6 +542,7 @@ namespace DS4WinWPF.DS4Forms
|
|||||||
DS4Windows.MacroStep.StepType.ActUp, DS4Windows.MacroStep.StepOutput.Button);
|
DS4Windows.MacroStep.StepType.ActUp, DS4Windows.MacroStep.StepOutput.Button);
|
||||||
recordBoxVM.AddMacroStep(step);
|
recordBoxVM.AddMacroStep(step);
|
||||||
recordBoxVM.KeysdownMap.Remove(value);
|
recordBoxVM.KeysdownMap.Remove(value);
|
||||||
|
e.Handled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -124,28 +124,44 @@ namespace DS4WinWPF.DS4Forms
|
|||||||
private void LoadAction(DS4Windows.SpecialAction specialAction)
|
private void LoadAction(DS4Windows.SpecialAction specialAction)
|
||||||
{
|
{
|
||||||
specialActVM.LoadAction(specialAction);
|
specialActVM.LoadAction(specialAction);
|
||||||
foreach(string control in specialActVM.ControlTriggerList)
|
string[] tempTriggers = specialActVM.ControlTriggerList.ToArray();
|
||||||
|
foreach (string control in tempTriggers)
|
||||||
{
|
{
|
||||||
|
bool found = false;
|
||||||
foreach (CheckBox box in triggerBoxes)
|
foreach (CheckBox box in triggerBoxes)
|
||||||
{
|
{
|
||||||
if (box.Tag.ToString() == control)
|
if (box.Tag.ToString() == control)
|
||||||
{
|
{
|
||||||
box.IsChecked = true;
|
box.IsChecked = true;
|
||||||
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!found)
|
||||||
|
{
|
||||||
|
specialActVM.ControlTriggerList.Remove(control);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (string control in specialActVM.ControlUnloadTriggerList)
|
tempTriggers = specialActVM.ControlUnloadTriggerList.ToArray();
|
||||||
|
foreach (string control in tempTriggers)
|
||||||
{
|
{
|
||||||
|
bool found = false;
|
||||||
foreach (CheckBox box in unloadTriggerBoxes)
|
foreach (CheckBox box in unloadTriggerBoxes)
|
||||||
{
|
{
|
||||||
if (box.Tag.ToString() == control)
|
if (box.Tag.ToString() == control)
|
||||||
{
|
{
|
||||||
box.IsChecked = true;
|
box.IsChecked = true;
|
||||||
|
found = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!found)
|
||||||
|
{
|
||||||
|
specialActVM.ControlUnloadTriggerList.Remove(control);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (specialAction.typeID)
|
switch (specialAction.typeID)
|
||||||
|
@ -68,10 +68,13 @@ namespace DS4WinWPF.DS4Forms.ViewModels
|
|||||||
if (action.ucontrols != null)
|
if (action.ucontrols != null)
|
||||||
{
|
{
|
||||||
foreach (string s in action.ucontrols.Split('/'))
|
foreach (string s in action.ucontrols.Split('/'))
|
||||||
|
{
|
||||||
|
if (s != "AutomaticUntrigger")
|
||||||
{
|
{
|
||||||
controlUnloadTriggerList.Add(s);
|
controlUnloadTriggerList.Add(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
actionName = action.name;
|
actionName = action.name;
|
||||||
for(int i = 0; i < typeAssoc.Length; i++)
|
for(int i = 0; i < typeAssoc.Length; i++)
|
||||||
|
@ -63,6 +63,11 @@ namespace DS4WinWPF.DS4Forms.ViewModels.SpecialActions
|
|||||||
if (profileIndex > 0)
|
if (profileIndex > 0)
|
||||||
{
|
{
|
||||||
string profilename = profileList.ProfileListCol[profileIndex - 1].Name;
|
string profilename = profileList.ProfileListCol[profileIndex - 1].Name;
|
||||||
|
if (action.ucontrols == null)
|
||||||
|
{
|
||||||
|
action.ucontrols = string.Empty;
|
||||||
|
}
|
||||||
|
|
||||||
Global.SaveAction(action.name, action.controls, 3, profilename, edit,
|
Global.SaveAction(action.name, action.controls, 3, profilename, edit,
|
||||||
action.ucontrols +
|
action.ucontrols +
|
||||||
(autoUntrigger ? (action.ucontrols.Length > 0 ? "/" : "") + "AutomaticUntrigger" : ""));
|
(autoUntrigger ? (action.ucontrols.Length > 0 ? "/" : "") + "AutomaticUntrigger" : ""));
|
||||||
|
@ -18,6 +18,11 @@ namespace DS4WinWPF.DS4Forms.ViewModels
|
|||||||
public static string trayTitle = $"DS4Windows v{Global.exeversion}";
|
public static string trayTitle = $"DS4Windows v{Global.exeversion}";
|
||||||
private ContextMenu contextMenu;
|
private ContextMenu contextMenu;
|
||||||
private MenuItem changeServiceItem;
|
private MenuItem changeServiceItem;
|
||||||
|
private MenuItem openItem;
|
||||||
|
private MenuItem minimizeItem;
|
||||||
|
private MenuItem openProgramItem;
|
||||||
|
private MenuItem closeItem;
|
||||||
|
|
||||||
|
|
||||||
public string TooltipText { get => tooltipText;
|
public string TooltipText { get => tooltipText;
|
||||||
set
|
set
|
||||||
@ -69,6 +74,15 @@ namespace DS4WinWPF.DS4Forms.ViewModels
|
|||||||
changeServiceItem.Click += ChangeControlServiceItem_Click;
|
changeServiceItem.Click += ChangeControlServiceItem_Click;
|
||||||
changeServiceItem.IsEnabled = false;
|
changeServiceItem.IsEnabled = false;
|
||||||
|
|
||||||
|
openItem = new MenuItem() { Header = "Open" };
|
||||||
|
openItem.Click += OpenMenuItem_Click;
|
||||||
|
minimizeItem = new MenuItem() { Header = "Minimize" };
|
||||||
|
minimizeItem.Click += MinimizeMenuItem_Click;
|
||||||
|
openProgramItem = new MenuItem() { Header = "Open Program Folder" };
|
||||||
|
openProgramItem.Click += OpenProgramFolderItem_Click;
|
||||||
|
closeItem = new MenuItem() { Header = "Exit (Middle Mouse)" }; ;
|
||||||
|
closeItem.Click += ExitMenuItem_Click;
|
||||||
|
|
||||||
PopulateControllerList();
|
PopulateControllerList();
|
||||||
PopulateToolText();
|
PopulateToolText();
|
||||||
PopulateContextMenu();
|
PopulateContextMenu();
|
||||||
@ -187,25 +201,16 @@ namespace DS4WinWPF.DS4Forms.ViewModels
|
|||||||
idx++;
|
idx++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (idx == 0)
|
||||||
|
{
|
||||||
|
item.IsEnabled = false;
|
||||||
|
}
|
||||||
|
|
||||||
_colLocker.ExitReadLock();
|
_colLocker.ExitReadLock();
|
||||||
|
|
||||||
items.Add(item);
|
items.Add(item);
|
||||||
items.Add(new Separator());
|
items.Add(new Separator());
|
||||||
item = changeServiceItem;
|
PopulateStaticItems();
|
||||||
items.Add(item);
|
|
||||||
item = new MenuItem() { Header = "Open" };
|
|
||||||
item.Click += OpenMenuItem_Click;
|
|
||||||
items.Add(item);
|
|
||||||
item = new MenuItem() { Header = "Minimize" };
|
|
||||||
item.Click += MinimizeMenuItem_Click;
|
|
||||||
items.Add(item);
|
|
||||||
item = new MenuItem() { Header = "Open Program Folder" };
|
|
||||||
item.Click += OpenProgramFolderItem_Click;
|
|
||||||
items.Add(item);
|
|
||||||
items.Add(new Separator());
|
|
||||||
item = new MenuItem() { Header = "Exit (Middle Mouse)" };
|
|
||||||
item.Click += ExitMenuItem_Click;
|
|
||||||
items.Add(item);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ChangeControlServiceItem_Click(object sender, System.Windows.RoutedEventArgs e)
|
private void ChangeControlServiceItem_Click(object sender, System.Windows.RoutedEventArgs e)
|
||||||
@ -370,23 +375,21 @@ namespace DS4WinWPF.DS4Forms.ViewModels
|
|||||||
//contextMenu.Items.Clear();
|
//contextMenu.Items.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void PopulateStaticItems()
|
||||||
|
{
|
||||||
|
ItemCollection items = contextMenu.Items;
|
||||||
|
items.Add(changeServiceItem);
|
||||||
|
items.Add(openItem);
|
||||||
|
items.Add(minimizeItem);
|
||||||
|
items.Add(openProgramItem);
|
||||||
|
items.Add(new Separator());
|
||||||
|
items.Add(closeItem);
|
||||||
|
}
|
||||||
|
|
||||||
public void ClearContextMenu()
|
public void ClearContextMenu()
|
||||||
{
|
{
|
||||||
contextMenu.Items.Clear();
|
contextMenu.Items.Clear();
|
||||||
ItemCollection items = contextMenu.Items;
|
PopulateStaticItems();
|
||||||
MenuItem item;
|
|
||||||
item = changeServiceItem;
|
|
||||||
items.Add(item);
|
|
||||||
item = new MenuItem() { Header = "Open" };
|
|
||||||
item.Click += OpenMenuItem_Click;
|
|
||||||
items.Add(item);
|
|
||||||
item = new MenuItem() { Header = "Minimize" };
|
|
||||||
item.Click += MinimizeMenuItem_Click;
|
|
||||||
items.Add(item);
|
|
||||||
items.Add(new Separator());
|
|
||||||
item = new MenuItem() { Header = "Exit (Middle Mouse)" };
|
|
||||||
item.Click += ExitMenuItem_Click;
|
|
||||||
items.Add(item);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExitMenuItem_Click(object sender, System.Windows.RoutedEventArgs e)
|
private void ExitMenuItem_Click(object sender, System.Windows.RoutedEventArgs e)
|
||||||
|
@ -14,7 +14,7 @@ namespace DS4WinWPF.DS4Forms
|
|||||||
public partial class WelcomeDialog : Window
|
public partial class WelcomeDialog : Window
|
||||||
{
|
{
|
||||||
private const string InstallerDL =
|
private const string InstallerDL =
|
||||||
"https://github.com/ViGEm/ViGEmBus/releases/download/v1.16.112/ViGEmBus_Setup_1.16.115.exe";
|
"https://github.com/ViGEm/ViGEmBus/releases/download/setup-v1.16.115/ViGEmBus_Setup_1.16.115.exe";
|
||||||
private const string InstFileName = "ViGEmBus_Setup_1.16.115.exe";
|
private const string InstFileName = "ViGEmBus_Setup_1.16.115.exe";
|
||||||
private string tempInstFileName;
|
private string tempInstFileName;
|
||||||
|
|
||||||
@ -87,18 +87,27 @@ namespace DS4WinWPF.DS4Forms
|
|||||||
{
|
{
|
||||||
File.Move(tempInstFileName, filename);
|
File.Move(tempInstFileName, filename);
|
||||||
}
|
}
|
||||||
|
success = false; // Reset for later check
|
||||||
|
|
||||||
if (File.Exists(DS4Windows.Global.exedirpath + $"\\{InstFileName}"))
|
if (File.Exists(DS4Windows.Global.exedirpath + $"\\{InstFileName}"))
|
||||||
{
|
{
|
||||||
//vigemInstallBtn.Content = Properties.Resources.OpeningInstaller;
|
//vigemInstallBtn.Content = Properties.Resources.OpeningInstaller;
|
||||||
monitorProc = Process.Start(DS4Windows.Global.exedirpath + $"\\{InstFileName}");
|
monitorProc = Process.Start(DS4Windows.Global.exedirpath + $"\\{InstFileName}");
|
||||||
vigemInstallBtn.Content = Properties.Resources.Installing;
|
vigemInstallBtn.Content = Properties.Resources.Installing;
|
||||||
|
success = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (success)
|
||||||
|
{
|
||||||
monitorTimer = new NonFormTimer();
|
monitorTimer = new NonFormTimer();
|
||||||
monitorTimer.Elapsed += ViGEmInstallTimer_Tick;
|
monitorTimer.Elapsed += ViGEmInstallTimer_Tick;
|
||||||
monitorTimer.Start();
|
monitorTimer.Start();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
vigemInstallBtn.Content = Properties.Resources.InstallFailed;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void ViGEmInstallTimer_Tick(object sender, System.Timers.ElapsedEventArgs e)
|
private void ViGEmInstallTimer_Tick(object sender, System.Timers.ElapsedEventArgs e)
|
||||||
{
|
{
|
||||||
|
@ -366,10 +366,18 @@
|
|||||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
|
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Translations\Strings.es.resx">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<DependentUpon>Strings.resx</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Translations\Strings.ja.resx">
|
<EmbeddedResource Include="Translations\Strings.ja.resx">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<DependentUpon>Strings.resx</DependentUpon>
|
<DependentUpon>Strings.resx</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Translations\Strings.pt-BR.resx">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<DependentUpon>Strings.resx</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Translations\Strings.ru.resx">
|
<EmbeddedResource Include="Translations\Strings.ru.resx">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<DependentUpon>Strings.resx</DependentUpon>
|
<DependentUpon>Strings.resx</DependentUpon>
|
||||||
@ -474,7 +482,7 @@
|
|||||||
<PostBuildEvent>rem Copy compiled l18n assemblies to alt folder
|
<PostBuildEvent>rem Copy compiled l18n assemblies to alt folder
|
||||||
GOTO END
|
GOTO END
|
||||||
if not exist $(TargetDir)Lang mkdir $(TargetDir)Lang
|
if not exist $(TargetDir)Lang mkdir $(TargetDir)Lang
|
||||||
set langs=ja ru
|
set langs=es ja pt-BR ru
|
||||||
|
|
||||||
for %25%25l in (%25langs%25) do (
|
for %25%25l in (%25langs%25) do (
|
||||||
xcopy $(TargetDir)%25%25l $(TargetDir)Lang\%25%25l\ /s /y
|
xcopy $(TargetDir)%25%25l $(TargetDir)Lang\%25%25l\ /s /y
|
||||||
|
@ -51,7 +51,7 @@ using System.Windows;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("2.0.1")]
|
[assembly: AssemblyVersion("2.0.3")]
|
||||||
[assembly: AssemblyFileVersion("2.0.1")]
|
[assembly: AssemblyFileVersion("2.0.3")]
|
||||||
[assembly: NeutralResourcesLanguage("")]
|
[assembly: NeutralResourcesLanguage("")]
|
||||||
[assembly: Guid("a52b5b20-d9ee-4f32-8518-307fa14aa0c6")]
|
[assembly: Guid("a52b5b20-d9ee-4f32-8518-307fa14aa0c6")]
|
||||||
|
308
DS4Windows/Translations/Strings.es.resx
Normal file
308
DS4Windows/Translations/Strings.es.resx
Normal file
@ -0,0 +1,308 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="Accel" xml:space="preserve">
|
||||||
|
<value>Acelerar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Action" xml:space="preserve">
|
||||||
|
<value>Acción</value>
|
||||||
|
</data>
|
||||||
|
<data name="AddDirectory" xml:space="preserve">
|
||||||
|
<value>Añadir Directorio</value>
|
||||||
|
</data>
|
||||||
|
<data name="AddPrograms" xml:space="preserve">
|
||||||
|
<value>Añadir Programas</value>
|
||||||
|
</data>
|
||||||
|
<data name="AddStartMenuPrograms" xml:space="preserve">
|
||||||
|
<value>Añadir al Menú de Inicio de Programas</value>
|
||||||
|
</data>
|
||||||
|
<data name="AddSteamGames" xml:space="preserve">
|
||||||
|
<value>Añadir Juegos de Steam</value>
|
||||||
|
</data>
|
||||||
|
<data name="All" xml:space="preserve">
|
||||||
|
<value>Todo</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoProfiles" xml:space="preserve">
|
||||||
|
<value>Perfiles automáticos</value>
|
||||||
|
</data>
|
||||||
|
<data name="Battery" xml:space="preserve">
|
||||||
|
<value>Batería</value>
|
||||||
|
</data>
|
||||||
|
<data name="Browse" xml:space="preserve">
|
||||||
|
<value>Navegar</value>
|
||||||
|
</data>
|
||||||
|
<data name="BrowseOtherPrograms" xml:space="preserve">
|
||||||
|
<value>Navegar en Otros Programas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Cancel" xml:space="preserve">
|
||||||
|
<value>Cancelar</value>
|
||||||
|
</data>
|
||||||
|
<data name="CheckUpdateNow" xml:space="preserve">
|
||||||
|
<value>Buscar Actualizaciones</value>
|
||||||
|
</data>
|
||||||
|
<data name="CheckUpdateStartup" xml:space="preserve">
|
||||||
|
<value>Buscar Actualizaciones de DS4Windows al Inicio</value>
|
||||||
|
</data>
|
||||||
|
<data name="Clear" xml:space="preserve">
|
||||||
|
<value>Vaciar</value>
|
||||||
|
</data>
|
||||||
|
<data name="CloseMinimizes" xml:space="preserve">
|
||||||
|
<value>Cerrar Minimizado</value>
|
||||||
|
</data>
|
||||||
|
<data name="Color" xml:space="preserve">
|
||||||
|
<value>Color</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controller1Text" xml:space="preserve">
|
||||||
|
<value>Mando 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controller2Text" xml:space="preserve">
|
||||||
|
<value>Mando 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controller3Text" xml:space="preserve">
|
||||||
|
<value>Mando 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controller4Text" xml:space="preserve">
|
||||||
|
<value>Mando 4</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controllers" xml:space="preserve">
|
||||||
|
<value>Mandos</value>
|
||||||
|
</data>
|
||||||
|
<data name="ControlPanel" xml:space="preserve">
|
||||||
|
<value>Panel de Control</value>
|
||||||
|
</data>
|
||||||
|
<data name="Delete" xml:space="preserve">
|
||||||
|
<value>Eliminar</value>
|
||||||
|
</data>
|
||||||
|
<data name="DriverSetup" xml:space="preserve">
|
||||||
|
<value>Configuración del Mando/Driver</value>
|
||||||
|
</data>
|
||||||
|
<data name="Duplicate" xml:space="preserve">
|
||||||
|
<value>Duplicar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Edit" xml:space="preserve">
|
||||||
|
<value>Editar</value>
|
||||||
|
</data>
|
||||||
|
<data name="EditAction" xml:space="preserve">
|
||||||
|
<value>Editar Acción</value>
|
||||||
|
</data>
|
||||||
|
<data name="Export" xml:space="preserve">
|
||||||
|
<value>Exportar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Full" xml:space="preserve">
|
||||||
|
<value>Todo</value>
|
||||||
|
</data>
|
||||||
|
<data name="Gyro" xml:space="preserve">
|
||||||
|
<value>Gyro</value>
|
||||||
|
</data>
|
||||||
|
<data name="HideUnchecked" xml:space="preserve">
|
||||||
|
<value>Ocultar Desmarcado</value>
|
||||||
|
</data>
|
||||||
|
<data name="Import" xml:space="preserve">
|
||||||
|
<value>Importar</value>
|
||||||
|
</data>
|
||||||
|
<data name="LeftStick" xml:space="preserve">
|
||||||
|
<value>Stick Izquierdo</value>
|
||||||
|
</data>
|
||||||
|
<data name="Log" xml:space="preserve">
|
||||||
|
<value>Registro</value>
|
||||||
|
</data>
|
||||||
|
<data name="Name" xml:space="preserve">
|
||||||
|
<value>Nombre</value>
|
||||||
|
</data>
|
||||||
|
<data name="New" xml:space="preserve">
|
||||||
|
<value>Nuevo</value>
|
||||||
|
</data>
|
||||||
|
<data name="NewAction" xml:space="preserve">
|
||||||
|
<value>Nueva Acción</value>
|
||||||
|
</data>
|
||||||
|
<data name="NewProfile" xml:space="preserve">
|
||||||
|
<value>Nuevo Perfil</value>
|
||||||
|
</data>
|
||||||
|
<data name="None" xml:space="preserve">
|
||||||
|
<value>Ninguno</value>
|
||||||
|
</data>
|
||||||
|
<data name="Path" xml:space="preserve">
|
||||||
|
<value>Ruta</value>
|
||||||
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Perfil</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProfileFolder" xml:space="preserve">
|
||||||
|
<value>Directorio del Perfil</value>
|
||||||
|
</data>
|
||||||
|
<data name="QuickCharge" xml:space="preserve">
|
||||||
|
<value>Cambio Rápido</value>
|
||||||
|
</data>
|
||||||
|
<data name="RecordText" xml:space="preserve">
|
||||||
|
<value>Guardar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Remove" xml:space="preserve">
|
||||||
|
<value>Quitar</value>
|
||||||
|
</data>
|
||||||
|
<data name="RemoveAction" xml:space="preserve">
|
||||||
|
<value>Quitar Acción</value>
|
||||||
|
</data>
|
||||||
|
<data name="RightStick" xml:space="preserve">
|
||||||
|
<value>Stick Derecho</value>
|
||||||
|
</data>
|
||||||
|
<data name="Rumble" xml:space="preserve">
|
||||||
|
<value>Vibración</value>
|
||||||
|
</data>
|
||||||
|
<data name="RunAtStartup" xml:space="preserve">
|
||||||
|
<value>Ejecutar al Iniciar el Equipo</value>
|
||||||
|
</data>
|
||||||
|
<data name="Save" xml:space="preserve">
|
||||||
|
<value>Guardar</value>
|
||||||
|
</data>
|
||||||
|
<data name="SaveProfile" xml:space="preserve">
|
||||||
|
<value>Guardar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings" xml:space="preserve">
|
||||||
|
<value>Opciones</value>
|
||||||
|
</data>
|
||||||
|
<data name="ShowNotifications" xml:space="preserve">
|
||||||
|
<value>Mostrar Notificaciones</value>
|
||||||
|
</data>
|
||||||
|
<data name="StartMinimized" xml:space="preserve">
|
||||||
|
<value>Iniciar Minimizado</value>
|
||||||
|
</data>
|
||||||
|
<data name="StartText" xml:space="preserve">
|
||||||
|
<value>Iniciar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Status" xml:space="preserve">
|
||||||
|
<value>Estado</value>
|
||||||
|
</data>
|
||||||
|
<data name="StopText" xml:space="preserve">
|
||||||
|
<value>Detener</value>
|
||||||
|
</data>
|
||||||
|
<data name="TouchScroll" xml:space="preserve">
|
||||||
|
<value>Desplazar</value>
|
||||||
|
</data>
|
||||||
|
<data name="TouchSlide" xml:space="preserve">
|
||||||
|
<value>Deslizar</value>
|
||||||
|
</data>
|
||||||
|
<data name="TouchTap" xml:space="preserve">
|
||||||
|
<value>Pulsar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Trigger" xml:space="preserve">
|
||||||
|
<value>Disparador</value>
|
||||||
|
</data>
|
||||||
|
<data name="WarningsOnly" xml:space="preserve">
|
||||||
|
<value>Solo Advertencias</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
309
DS4Windows/Translations/Strings.pt-BR.resx
Normal file
309
DS4Windows/Translations/Strings.pt-BR.resx
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="Accel" xml:space="preserve">
|
||||||
|
<value>Aceleração</value>
|
||||||
|
</data>
|
||||||
|
<data name="Action" xml:space="preserve">
|
||||||
|
<value>Ação</value>
|
||||||
|
</data>
|
||||||
|
<data name="AddDirectory" xml:space="preserve">
|
||||||
|
<value>Adicionar Diretório</value>
|
||||||
|
</data>
|
||||||
|
<data name="AddPrograms" xml:space="preserve">
|
||||||
|
<value>Adicionar Programas</value>
|
||||||
|
</data>
|
||||||
|
<data name="AddStartMenuPrograms" xml:space="preserve">
|
||||||
|
<value>Adicionar Programas do Menu de Inicialização</value>
|
||||||
|
</data>
|
||||||
|
<data name="AddSteamGames" xml:space="preserve">
|
||||||
|
<value>Adicionar Jogos da Steam</value>
|
||||||
|
</data>
|
||||||
|
<data name="All" xml:space="preserve">
|
||||||
|
<value>Todos</value>
|
||||||
|
</data>
|
||||||
|
<data name="AutoProfiles" xml:space="preserve">
|
||||||
|
<value>Perfis Automáticos</value>
|
||||||
|
</data>
|
||||||
|
<data name="Battery" xml:space="preserve">
|
||||||
|
<value>Bateria</value>
|
||||||
|
</data>
|
||||||
|
<data name="Browse" xml:space="preserve">
|
||||||
|
<value>Procurar</value>
|
||||||
|
</data>
|
||||||
|
<data name="BrowseOtherPrograms" xml:space="preserve">
|
||||||
|
<value>Procurar por Outros Programas</value>
|
||||||
|
</data>
|
||||||
|
<data name="Cancel" xml:space="preserve">
|
||||||
|
<value>Cancelar</value>
|
||||||
|
</data>
|
||||||
|
<data name="CheckUpdateNow" xml:space="preserve">
|
||||||
|
<value>Verificar Atualizações Agora</value>
|
||||||
|
</data>
|
||||||
|
<data name="CheckUpdateStartup" xml:space="preserve">
|
||||||
|
<value>Verificar Atualizações para DS4Windows na inicialização</value>
|
||||||
|
</data>
|
||||||
|
<data name="Clear" xml:space="preserve">
|
||||||
|
<value>Limpar</value>
|
||||||
|
</data>
|
||||||
|
<data name="CloseMinimizes" xml:space="preserve">
|
||||||
|
<value>Fechar Minimiza</value>
|
||||||
|
</data>
|
||||||
|
<data name="Color" xml:space="preserve">
|
||||||
|
<value>Cor</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controller1Text" xml:space="preserve">
|
||||||
|
<value>Controle 1</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controller2Text" xml:space="preserve">
|
||||||
|
<value>Controle 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controller3Text" xml:space="preserve">
|
||||||
|
<value>Controle 3</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controller4Text" xml:space="preserve">
|
||||||
|
<value>Controle 4</value>
|
||||||
|
</data>
|
||||||
|
<data name="Controllers" xml:space="preserve">
|
||||||
|
<value>Controles</value>
|
||||||
|
</data>
|
||||||
|
<data name="ControlPanel" xml:space="preserve">
|
||||||
|
<value>Painel de COntrole</value>
|
||||||
|
</data>
|
||||||
|
<data name="Delete" xml:space="preserve">
|
||||||
|
<value>Deletar</value>
|
||||||
|
</data>
|
||||||
|
<data name="DriverSetup" xml:space="preserve">
|
||||||
|
<value>Configuração Controle/Driver</value>
|
||||||
|
</data>
|
||||||
|
<data name="Duplicate" xml:space="preserve">
|
||||||
|
<value>Duplicar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Edit" xml:space="preserve">
|
||||||
|
<value>Editar</value>
|
||||||
|
</data>
|
||||||
|
<data name="EditAction" xml:space="preserve">
|
||||||
|
<value>Editar Ação</value>
|
||||||
|
</data>
|
||||||
|
<data name="Export" xml:space="preserve">
|
||||||
|
<value>Exportar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Full" xml:space="preserve">
|
||||||
|
<value>Cheio</value>
|
||||||
|
</data>
|
||||||
|
<data name="Gyro" xml:space="preserve">
|
||||||
|
<value>Giroscópio</value>
|
||||||
|
</data>
|
||||||
|
<data name="HideUnchecked" xml:space="preserve">
|
||||||
|
<value>Ocultar Desmarcados</value>
|
||||||
|
</data>
|
||||||
|
<data name="Import" xml:space="preserve">
|
||||||
|
<value>Importar</value>
|
||||||
|
</data>
|
||||||
|
<data name="LeftStick" xml:space="preserve">
|
||||||
|
<value>Controle Esquerdo</value>
|
||||||
|
</data>
|
||||||
|
<data name="Log" xml:space="preserve">
|
||||||
|
<value>Registro</value>
|
||||||
|
</data>
|
||||||
|
<data name="Name" xml:space="preserve">
|
||||||
|
<value>Nome</value>
|
||||||
|
</data>
|
||||||
|
<data name="New" xml:space="preserve">
|
||||||
|
<value>Novo</value>
|
||||||
|
</data>
|
||||||
|
<data name="NewAction" xml:space="preserve">
|
||||||
|
<value>Nova Ação</value>
|
||||||
|
</data>
|
||||||
|
<data name="NewProfile" xml:space="preserve">
|
||||||
|
<value>Novo Perfil</value>
|
||||||
|
</data>
|
||||||
|
<data name="None" xml:space="preserve">
|
||||||
|
<value>Nenhum</value>
|
||||||
|
</data>
|
||||||
|
<data name="Path" xml:space="preserve">
|
||||||
|
<value>Caminho</value>
|
||||||
|
</data>
|
||||||
|
<data name="Profile" xml:space="preserve">
|
||||||
|
<value>Perfil</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProfileFolder" xml:space="preserve">
|
||||||
|
<value>Pasta de Perfil</value>
|
||||||
|
</data>
|
||||||
|
<data name="QuickCharge" xml:space="preserve">
|
||||||
|
<value>Carregamento Rápido</value>
|
||||||
|
</data>
|
||||||
|
<data name="RecordText" xml:space="preserve">
|
||||||
|
<value>Gravar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Remove" xml:space="preserve">
|
||||||
|
<value>Remover</value>
|
||||||
|
</data>
|
||||||
|
<data name="RemoveAction" xml:space="preserve">
|
||||||
|
<value>Remover Ação</value>
|
||||||
|
</data>
|
||||||
|
<data name="RightStick" xml:space="preserve">
|
||||||
|
<value>Controle Direito</value>
|
||||||
|
</data>
|
||||||
|
<data name="Rumble" xml:space="preserve">
|
||||||
|
<value>Vibração</value>
|
||||||
|
</data>
|
||||||
|
<data name="RunAtStartup" xml:space="preserve">
|
||||||
|
<value>Executar na Inicialização</value>
|
||||||
|
</data>
|
||||||
|
<data name="Save" xml:space="preserve">
|
||||||
|
<value>Salvar</value>
|
||||||
|
</data>
|
||||||
|
<data name="SaveProfile" xml:space="preserve">
|
||||||
|
<value>Salvar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Settings" xml:space="preserve">
|
||||||
|
<value>Configurações</value>
|
||||||
|
</data>
|
||||||
|
<data name="ShowNotifications" xml:space="preserve">
|
||||||
|
<value>Mostrar Notificações</value>
|
||||||
|
</data>
|
||||||
|
<data name="StartMinimized" xml:space="preserve">
|
||||||
|
<value>Iniciar Minimizado</value>
|
||||||
|
</data>
|
||||||
|
<data name="StartText" xml:space="preserve">
|
||||||
|
<value>Começar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Status" xml:space="preserve">
|
||||||
|
<value>Status</value>
|
||||||
|
</data>
|
||||||
|
<data name="StopText" xml:space="preserve">
|
||||||
|
<value>Parar</value>
|
||||||
|
</data>
|
||||||
|
<data name="TouchScroll" xml:space="preserve">
|
||||||
|
<value>Rolagem</value>
|
||||||
|
</data>
|
||||||
|
<data name="TouchSlide" xml:space="preserve">
|
||||||
|
<value>Deslizar</value>
|
||||||
|
</data>
|
||||||
|
<data name="TouchTap" xml:space="preserve">
|
||||||
|
<value>Pressionar</value>
|
||||||
|
</data>
|
||||||
|
<data name="Trigger" xml:space="preserve">
|
||||||
|
<value>Gatilho</value>
|
||||||
|
</data>
|
||||||
|
<data name="WarningsOnly" xml:space="preserve">
|
||||||
|
<value>Apenas Avisos</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
@ -160,8 +160,7 @@
|
|||||||
<value>Check for DS4Windows Updates at Startup</value>
|
<value>Check for DS4Windows Updates at Startup</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Clear" xml:space="preserve">
|
<data name="Clear" xml:space="preserve">
|
||||||
<value>Clear
|
<value>Clear</value>
|
||||||
</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="CloseMinimizes" xml:space="preserve">
|
<data name="CloseMinimizes" xml:space="preserve">
|
||||||
<value>Close Minimizes</value>
|
<value>Close Minimizes</value>
|
||||||
@ -293,8 +292,7 @@
|
|||||||
<value>Stop</value>
|
<value>Stop</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="TouchScroll" xml:space="preserve">
|
<data name="TouchScroll" xml:space="preserve">
|
||||||
<value>Scroll
|
<value>Scroll</value>
|
||||||
</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="TouchSlide" xml:space="preserve">
|
<data name="TouchSlide" xml:space="preserve">
|
||||||
<value>Slide</value>
|
<value>Slide</value>
|
||||||
|
@ -1 +1 @@
|
|||||||
2.0.1
|
2.0.3
|
||||||
|
@ -11,3 +11,4 @@ Rajko Stojadinovic (rajkosto)
|
|||||||
Sander0542
|
Sander0542
|
||||||
xrossb
|
xrossb
|
||||||
Yuki-nyan
|
Yuki-nyan
|
||||||
|
Leonardo Melati (Leomelati)
|
||||||
|
Loading…
Reference in New Issue
Block a user