Overhaul Input settings.

This commit is contained in:
Paul Chote
2020-01-15 20:05:01 +00:00
committed by Matthias Mailänder
parent a84c914317
commit e138afc328
5 changed files with 423 additions and 186 deletions

View File

@@ -216,8 +216,7 @@ namespace OpenRA
public int ViewportEdgeScrollMargin = 5; public int ViewportEdgeScrollMargin = 5;
public bool LockMouseWindow = false; public bool LockMouseWindow = false;
public MouseScrollType MiddleMouseScroll = MouseScrollType.Standard; public MouseScrollType MouseScroll = MouseScrollType.Joystick;
public MouseScrollType RightMouseScroll = MouseScrollType.Disabled;
public MouseButtonPreference MouseButtonPreference = new MouseButtonPreference(); public MouseButtonPreference MouseButtonPreference = new MouseButtonPreference();
public float ViewportEdgeScrollStep = 30f; public float ViewportEdgeScrollStep = 30f;
public float UIScrollSpeed = 50f; public float UIScrollSpeed = 50f;
@@ -226,6 +225,7 @@ namespace OpenRA
public int MouseScrollDeadzone = 8; public int MouseScrollDeadzone = 8;
public bool UseClassicMouseStyle = false; public bool UseClassicMouseStyle = false;
public bool ClassicMouseMiddleScroll = false;
public StatusBarsType StatusBars = StatusBarsType.Standard; public StatusBarsType StatusBars = StatusBarsType.Standard;
public TargetLinesType TargetLines = TargetLinesType.Manual; public TargetLinesType TargetLines = TargetLinesType.Manual;
public bool UsePlayerStanceColors = false; public bool UsePlayerStanceColors = false;

View File

@@ -428,13 +428,53 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{ {
var gs = Game.Settings.Game; var gs = Game.Settings.Game;
BindCheckboxPref(panel, "CLASSICORDERS_CHECKBOX", gs, "UseClassicMouseStyle"); BindCheckboxPref(panel, "CLASSIC_MOUSE_MIDDLE_SCROLL_CHECKBOX", gs, "ClassicMouseMiddleScroll");
BindCheckboxPref(panel, "EDGESCROLL_CHECKBOX", gs, "ViewportEdgeScroll"); BindCheckboxPref(panel, "EDGESCROLL_CHECKBOX", gs, "ViewportEdgeScroll");
BindCheckboxPref(panel, "LOCKMOUSE_CHECKBOX", gs, "LockMouseWindow"); BindCheckboxPref(panel, "LOCKMOUSE_CHECKBOX", gs, "LockMouseWindow");
BindSliderPref(panel, "ZOOMSPEED_SLIDER", gs, "ZoomSpeed"); BindSliderPref(panel, "ZOOMSPEED_SLIDER", gs, "ZoomSpeed");
BindSliderPref(panel, "SCROLLSPEED_SLIDER", gs, "ViewportEdgeScrollStep"); BindSliderPref(panel, "SCROLLSPEED_SLIDER", gs, "ViewportEdgeScrollStep");
BindSliderPref(panel, "UI_SCROLLSPEED_SLIDER", gs, "UIScrollSpeed"); BindSliderPref(panel, "UI_SCROLLSPEED_SLIDER", gs, "UIScrollSpeed");
var mouseControlDropdown = panel.Get<DropDownButtonWidget>("MOUSE_CONTROL_DROPDOWN");
mouseControlDropdown.OnMouseDown = _ => ShowMouseControlDropdown(mouseControlDropdown, gs);
mouseControlDropdown.GetText = () => gs.UseClassicMouseStyle ? "Classic" : "Modern";
var mouseScrollDropdown = panel.Get<DropDownButtonWidget>("MOUSE_SCROLL_TYPE_DROPDOWN");
mouseScrollDropdown.OnMouseDown = _ => ShowMouseScrollDropdown(mouseScrollDropdown, gs);
mouseScrollDropdown.GetText = () => gs.MouseScroll.ToString();
var classicMouseMiddleScrollCheckbox = panel.Get<CheckboxWidget>("CLASSIC_MOUSE_MIDDLE_SCROLL_CHECKBOX");
classicMouseMiddleScrollCheckbox.IsVisible = () => gs.UseClassicMouseStyle;
var mouseControlDescClassic = panel.Get("MOUSE_CONTROL_DESC_CLASSIC");
mouseControlDescClassic.IsVisible = () => gs.UseClassicMouseStyle;
var classicScrollRight = mouseControlDescClassic.Get("DESC_SCROLL_RIGHT");
classicScrollRight.IsVisible = () => !gs.ClassicMouseMiddleScroll;
var classicScrollMiddle = mouseControlDescClassic.Get("DESC_SCROLL_MIDDLE");
classicScrollMiddle.IsVisible = () => gs.ClassicMouseMiddleScroll;
var mouseControlDescModern = panel.Get("MOUSE_CONTROL_DESC_MODERN");
mouseControlDescModern.IsVisible = () => !gs.UseClassicMouseStyle;
foreach (var container in new[] { mouseControlDescClassic, mouseControlDescModern })
{
var zoomDesc = container.Get("DESC_ZOOM");
zoomDesc.IsVisible = () => gs.ZoomModifier == Modifiers.None;
var zoomDescModifier = container.Get<LabelWidget>("DESC_ZOOM_MODIFIER");
zoomDescModifier.IsVisible = () => gs.ZoomModifier != Modifiers.None;
var zoomDescModifierTemplate = zoomDescModifier.Text;
var zoomDescModifierLabel = new CachedTransform<Modifiers, string>(
mod => zoomDescModifierTemplate.Replace("MODIFIER", mod.ToString()));
zoomDescModifier.GetText = () => zoomDescModifierLabel.Update(gs.ZoomModifier);
var edgescrollDesc = container.Get<LabelWidget>("DESC_EDGESCROLL");
edgescrollDesc.IsVisible = () => gs.ViewportEdgeScroll;
}
// Apply mouse focus preferences immediately // Apply mouse focus preferences immediately
var lockMouseCheckbox = panel.Get<CheckboxWidget>("LOCKMOUSE_CHECKBOX"); var lockMouseCheckbox = panel.Get<CheckboxWidget>("LOCKMOUSE_CHECKBOX");
var oldOnClick = lockMouseCheckbox.OnClick; var oldOnClick = lockMouseCheckbox.OnClick;
@@ -447,14 +487,6 @@ namespace OpenRA.Mods.Common.Widgets.Logic
MakeMouseFocusSettingsLive(); MakeMouseFocusSettingsLive();
}; };
var middleMouseScrollDropdown = panel.Get<DropDownButtonWidget>("MIDDLE_MOUSE_SCROLL");
middleMouseScrollDropdown.OnMouseDown = _ => ShowMouseScrollDropdown(middleMouseScrollDropdown, gs, false);
middleMouseScrollDropdown.GetText = () => gs.MiddleMouseScroll.ToString();
var rightMouseScrollDropdown = panel.Get<DropDownButtonWidget>("RIGHT_MOUSE_SCROLL");
rightMouseScrollDropdown.OnMouseDown = _ => ShowMouseScrollDropdown(rightMouseScrollDropdown, gs, true);
rightMouseScrollDropdown.GetText = () => gs.RightMouseScroll.ToString();
var zoomModifierDropdown = panel.Get<DropDownButtonWidget>("ZOOM_MODIFIER"); var zoomModifierDropdown = panel.Get<DropDownButtonWidget>("ZOOM_MODIFIER");
zoomModifierDropdown.OnMouseDown = _ => ShowZoomModifierDropdown(zoomModifierDropdown, gs); zoomModifierDropdown.OnMouseDown = _ => ShowZoomModifierDropdown(zoomModifierDropdown, gs);
zoomModifierDropdown.GetText = () => gs.ZoomModifier.ToString(); zoomModifierDropdown.GetText = () => gs.ZoomModifier.ToString();
@@ -525,8 +557,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
return () => return () =>
{ {
gs.UseClassicMouseStyle = dgs.UseClassicMouseStyle; gs.UseClassicMouseStyle = dgs.UseClassicMouseStyle;
gs.MiddleMouseScroll = dgs.MiddleMouseScroll; gs.MouseScroll = dgs.MouseScroll;
gs.RightMouseScroll = dgs.RightMouseScroll; gs.ClassicMouseMiddleScroll = dgs.ClassicMouseMiddleScroll;
gs.LockMouseWindow = dgs.LockMouseWindow; gs.LockMouseWindow = dgs.LockMouseWindow;
gs.ViewportEdgeScroll = dgs.ViewportEdgeScroll; gs.ViewportEdgeScroll = dgs.ViewportEdgeScroll;
gs.ViewportEdgeScrollStep = dgs.ViewportEdgeScrollStep; gs.ViewportEdgeScrollStep = dgs.ViewportEdgeScrollStep;
@@ -605,7 +637,27 @@ namespace OpenRA.Mods.Common.Widgets.Logic
}; };
} }
static void ShowMouseScrollDropdown(DropDownButtonWidget dropdown, GameSettings s, bool rightMouse) static void ShowMouseControlDropdown(DropDownButtonWidget dropdown, GameSettings s)
{
var options = new Dictionary<string, bool>()
{
{ "Classic", true },
{ "Modern", false },
};
Func<string, ScrollItemWidget, ScrollItemWidget> setupItem = (o, itemTemplate) =>
{
var item = ScrollItemWidget.Setup(itemTemplate,
() => s.UseClassicMouseStyle == options[o],
() => s.UseClassicMouseStyle = options[o]);
item.Get<LabelWidget>("LABEL").GetText = () => o;
return item;
};
dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 500, options.Keys, setupItem);
}
static void ShowMouseScrollDropdown(DropDownButtonWidget dropdown, GameSettings s)
{ {
var options = new Dictionary<string, MouseScrollType>() var options = new Dictionary<string, MouseScrollType>()
{ {
@@ -618,8 +670,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
Func<string, ScrollItemWidget, ScrollItemWidget> setupItem = (o, itemTemplate) => Func<string, ScrollItemWidget, ScrollItemWidget> setupItem = (o, itemTemplate) =>
{ {
var item = ScrollItemWidget.Setup(itemTemplate, var item = ScrollItemWidget.Setup(itemTemplate,
() => (rightMouse ? s.RightMouseScroll : s.MiddleMouseScroll) == options[o], () => s.MouseScroll == options[o],
() => { if (rightMouse) s.RightMouseScroll = options[o]; else s.MiddleMouseScroll = options[o]; }); () => s.MouseScroll = options[o]);
item.Get<LabelWidget>("LABEL").GetText = () => o; item.Get<LabelWidget>("LABEL").GetText = () => o;
return item; return item;
}; };

View File

@@ -317,12 +317,9 @@ namespace OpenRA.Mods.Common.Widgets
return true; return true;
} }
var scrollType = MouseScrollType.Disabled; var gs = Game.Settings.Game;
var scrollButton = gs.UseClassicMouseStyle && !gs.ClassicMouseMiddleScroll ? MouseButton.Right : MouseButton.Middle;
if (mi.Button.HasFlag(MouseButton.Middle) || mi.Button.HasFlag(MouseButton.Left | MouseButton.Right)) var scrollType = mi.Button.HasFlag(scrollButton) ? gs.MouseScroll : MouseScrollType.Disabled;
scrollType = Game.Settings.Game.MiddleMouseScroll;
else if (mi.Button.HasFlag(MouseButton.Right))
scrollType = Game.Settings.Game.RightMouseScroll;
if (scrollType == MouseScrollType.Disabled) if (scrollType == MouseScrollType.Disabled)
return IsJoystickScrolling || isStandardScrolling; return IsJoystickScrolling || isStandardScrolling;

View File

@@ -373,115 +373,209 @@ Container@SETTINGS_PANEL:
Font: Bold Font: Bold
Text: Input Text: Input
Align: Center Align: Center
Checkbox@CLASSICORDERS_CHECKBOX: Label@MOUSE_CONTROL_LABEL:
X: 15 X: 15
Y: 43
Width: 110
Height: 20
Font: Regular
Text: Control Scheme:
Align: Right
DropDownButton@MOUSE_CONTROL_DROPDOWN:
X: 130
Y: 40 Y: 40
Width: 250 Width: 150
Height: 20
Font: Regular
Text: Left-click Orders
Label@MIDDLE_MOUSE_SCROLL_LABEL:
X: PARENT_RIGHT - WIDTH - 120
Y: 41
Width: 160
Height: 20
Font: Regular
Text: Middle-mouse Scrolling:
Align: Right
DropDownButton@MIDDLE_MOUSE_SCROLL:
X: PARENT_RIGHT - WIDTH - 15
Y: 38
Width: 100
Height: 25 Height: 25
Font: Regular Font: Regular
Label@MIDDLE_MOUSE_SCROLL_LABEL: Container@MOUSE_CONTROL_DESC_CLASSIC:
X: PARENT_RIGHT - WIDTH - 120 X: 25
Y: 71
Width: 160
Height: 20
Font: Regular
Text: Right-mouse Scrolling:
Align: Right
DropDownButton@RIGHT_MOUSE_SCROLL:
X: PARENT_RIGHT - WIDTH - 15
Y: 68
Width: 100
Height: 25
Font: Regular
Label@ZOOM_MODIFIER_LABEL:
X: PARENT_RIGHT - WIDTH - 120
Y: 101
Width: 160
Height: 20
Font: Regular
Text: Mouse Wheel Zoom Modifier:
Align: Right
DropDownButton@ZOOM_MODIFIER:
X: PARENT_RIGHT - WIDTH - 15
Y: 98
Width: 100
Height: 25
Font: Regular
Text: Alt
Checkbox@EDGESCROLL_CHECKBOX:
X: 15
Y: 70 Y: 70
Width: 130 Width: 300
Children:
LabelWithHighlight@DESC_SELECTION:
Height: 16
Font: Small
Text: - Select units using the {Left} mouse button
LabelWithHighlight@DESC_COMMANDS:
Y: 16
Height: 16
Font: Small
Text: - Command units using the {Left} mouse button
LabelWithHighlight@DESC_BUILDIGS:
Y: 32
Height: 16
Font: Small
Text: - Place structures using the {Left} mouse button
LabelWithHighlight@DESC_SUPPORT:
Y: 48
Height: 16
Font: Small
Text: - Target support powers using the {Left} mouse button
LabelWithHighlight@DESC_ZOOM:
Y: 64
Height: 16
Font: Small
Text: - Zoom the battlefield using the {Scroll Wheel}
LabelWithHighlight@DESC_ZOOM_MODIFIER:
Y: 64
Height: 16
Font: Small
Text: - Zoom the battlefield using {MODIFIER + Scroll Wheel}
LabelWithHighlight@DESC_SCROLL_RIGHT:
Y: 80
Height: 16
Font: Small
Text: - Pan the battlefield using the {Right} mouse button
LabelWithHighlight@DESC_SCROLL_MIDDLE:
Y: 80
Height: 16
Font: Small
Text: - Pan the battlefield using the {Middle} mouse button
Label@DESC_EDGESCROLL:
X: 9
Y: 96
Height: 16
Font: Small
Text: or by moving the cursor to the edge of the screen
Container@MOUSE_CONTROL_DESC_MODERN:
X: 25
Y: 70
Width: 300
Children:
LabelWithHighlight@DESC_SELECTION:
Height: 16
Font: Small
Text: - Select units using the {Left} mouse button
LabelWithHighlight@DESC_COMMANDS:
Y: 16
Height: 16
Font: Small
Text: - Command units using the {Right} mouse button
LabelWithHighlight@DESC_BUILDIGS:
Y: 32
Height: 16
Font: Small
Text: - Place structures using the {Left} mouse button
LabelWithHighlight@DESC_SUPPORT:
Y: 48
Height: 16
Font: Small
Text: - Target support powers using the {Left} mouse button
LabelWithHighlight@DESC_ZOOM:
Y: 64
Height: 16
Font: Small
Text: - Zoom the battlefield using the {Scroll Wheel}
LabelWithHighlight@DESC_ZOOM_MODIFIER:
Y: 64
Height: 16
Font: Small
Text: - Zoom the battlefield using {MODIFIER + Scroll Wheel}
LabelWithHighlight@DESC_SCROLL:
Y: 80
Height: 16
Font: Small
Text: - Pan the battlefield using the {Middle} mouse button
Label@DESC_EDGESCROLL:
X: 9
Y: 96
Height: 16
Font: Small
Text: or by moving the cursor to the edge of the screen
Label@MOUSE_SCROLL_TYPE_LABEL:
X: 15
Y: 201
Width: 110
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Edge Scrolling Text: Pan Behaviour:
Align: Right
DropDownButton@MOUSE_SCROLL_TYPE_DROPDOWN:
X: 130
Y: 198
Width: 150
Height: 25
Font: Regular
Checkbox@LOCKMOUSE_CHECKBOX: Checkbox@LOCKMOUSE_CHECKBOX:
X: 15 X: 15
Y: 100 Y: 230
Width: 130 Width: 190
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Lock Mouse to Window Text: Lock Mouse to Window
Label@SCROLL_SPEED_LABEL: Label@ZOOM_MODIFIER_LABEL:
X: 15 X: 350
Y: 128 Y: 71
Width: 85 Width: 70
Height: 20
Font: Regular
Text: Zoom Modifier:
Align: Right
DropDownButton@ZOOM_MODIFIER:
X: 425
Y: 68
Width: 145
Height: 25 Height: 25
Text: Scroll Speed: Font: Regular
Checkbox@EDGESCROLL_CHECKBOX:
X: 360
Y: 100
Width: 180
Height: 20
Font: Regular
Text: Screen Edge Panning
Checkbox@CLASSIC_MOUSE_MIDDLE_SCROLL_CHECKBOX:
X: 360
Y: 130
Width: 180
Height: 20
Font: Regular
Text: Middle Mouse Panning
Label@SCROLL_SPEED_LABEL:
X: 310
Y: 197
Width: 100
Height: 25
Text: Pan Speed:
Align: Right Align: Right
Slider@SCROLLSPEED_SLIDER: Slider@SCROLLSPEED_SLIDER:
X: 95 X: 415
Y: 133 Y: 202
Width: 100 Width: 165
Height: 20 Height: 20
Ticks: 5 Ticks: 5
MinimumValue: 10 MinimumValue: 10
MaximumValue: 50 MaximumValue: 50
Label@UI_SCROLL_SPEED_LABEL:
X: PARENT_RIGHT - WIDTH - 320
Y: 128
Width: 95
Height: 25
Text: UI Scroll:
Align: Right
Slider@UI_SCROLLSPEED_SLIDER:
X: PARENT_RIGHT - WIDTH - 220
Y: 133
Width: 100
Height: 20
Ticks: 5
MinimumValue: 1
MaximumValue: 100
Label@ZOOM_SPEED_LABEL: Label@ZOOM_SPEED_LABEL:
X: PARENT_RIGHT - WIDTH - 106 X: 310
Y: 129 Y: 227
Width: 95 Width: 100
Height: 25 Height: 25
Text: Zoom Speed: Text: Zoom Speed:
Align: Right Align: Right
ExponentialSlider@ZOOMSPEED_SLIDER: ExponentialSlider@ZOOMSPEED_SLIDER:
X: PARENT_RIGHT - WIDTH - 6 X: 415
Y: 133 Y: 232
Width: 100 Width: 165
Height: 20 Height: 20
Ticks: 5 Ticks: 5
MinimumValue: 0.01 MinimumValue: 0.01
MaximumValue: 0.4 MaximumValue: 0.4
Label@UI_SCROLL_SPEED_LABEL:
X: 310
Y: 257
Width: 100
Height: 25
Text: UI Scroll Speed:
Align: Right
Slider@UI_SCROLLSPEED_SLIDER:
X: 415
Y: 262
Width: 165
Height: 20
Ticks: 5
MinimumValue: 1
MaximumValue: 100
Container@HOTKEYS_PANEL: Container@HOTKEYS_PANEL:
X: 15 X: 15
Y: 15 Y: 15

View File

@@ -379,115 +379,209 @@ Background@SETTINGS_PANEL:
Width: PARENT_RIGHT - 10 Width: PARENT_RIGHT - 10
Height: PARENT_BOTTOM Height: PARENT_BOTTOM
Children: Children:
Checkbox@CLASSICORDERS_CHECKBOX: Label@MOUSE_CONTROL_LABEL:
X: 15 X: 15
Y: 43
Width: 110
Height: 20
Font: Regular
Text: Control Scheme:
Align: Right
DropDownButton@MOUSE_CONTROL_DROPDOWN:
X: 130
Y: 40 Y: 40
Width: 250 Width: 150
Height: 20
Font: Regular
Text: Left-click Orders
Label@MIDDLE_MOUSE_SCROLL_LABEL:
X: PARENT_RIGHT - WIDTH - 120
Y: 41
Width: 160
Height: 20
Font: Regular
Text: Middle-mouse Scrolling:
Align: Right
DropDownButton@MIDDLE_MOUSE_SCROLL:
X: PARENT_RIGHT - WIDTH - 15
Y: 38
Width: 100
Height: 25 Height: 25
Font: Regular Font: Regular
Label@MIDDLE_MOUSE_SCROLL_LABEL: Container@MOUSE_CONTROL_DESC_CLASSIC:
X: PARENT_RIGHT - WIDTH - 120 X: 25
Y: 71
Width: 160
Height: 20
Font: Regular
Text: Right-mouse Scrolling:
Align: Right
DropDownButton@RIGHT_MOUSE_SCROLL:
X: PARENT_RIGHT - WIDTH - 15
Y: 68
Width: 100
Height: 25
Font: Regular
Label@ZOOM_MODIFIER_LABEL:
X: PARENT_RIGHT - WIDTH - 120
Y: 101
Width: 160
Height: 20
Font: Regular
Text: Mouse Wheel Zoom Modifier:
Align: Right
DropDownButton@ZOOM_MODIFIER:
X: PARENT_RIGHT - WIDTH - 15
Y: 98
Width: 100
Height: 25
Font: Regular
Text: Alt
Checkbox@EDGESCROLL_CHECKBOX:
X: 15
Y: 70 Y: 70
Width: 130 Width: 300
Children:
LabelWithHighlight@DESC_SELECTION:
Height: 16
Font: Small
Text: - Select units using the {Left} mouse button
LabelWithHighlight@DESC_COMMANDS:
Y: 16
Height: 16
Font: Small
Text: - Command units using the {Left} mouse button
LabelWithHighlight@DESC_BUILDIGS:
Y: 32
Height: 16
Font: Small
Text: - Place structures using the {Left} mouse button
LabelWithHighlight@DESC_SUPPORT:
Y: 48
Height: 16
Font: Small
Text: - Target support powers using the {Left} mouse button
LabelWithHighlight@DESC_ZOOM:
Y: 64
Height: 16
Font: Small
Text: - Zoom the battlefield using the {Scroll Wheel}
LabelWithHighlight@DESC_ZOOM_MODIFIER:
Y: 64
Height: 16
Font: Small
Text: - Zoom the battlefield using {MODIFIER + Scroll Wheel}
LabelWithHighlight@DESC_SCROLL_RIGHT:
Y: 80
Height: 16
Font: Small
Text: - Pan the battlefield using the {Right} mouse button
LabelWithHighlight@DESC_SCROLL_MIDDLE:
Y: 80
Height: 16
Font: Small
Text: - Pan the battlefield using the {Middle} mouse button
Label@DESC_EDGESCROLL:
X: 9
Y: 96
Height: 16
Font: Small
Text: or by moving the cursor to the edge of the screen
Container@MOUSE_CONTROL_DESC_MODERN:
X: 25
Y: 70
Width: 300
Children:
LabelWithHighlight@DESC_SELECTION:
Height: 16
Font: Small
Text: - Select units using the {Left} mouse button
LabelWithHighlight@DESC_COMMANDS:
Y: 16
Height: 16
Font: Small
Text: - Command units using the {Right} mouse button
LabelWithHighlight@DESC_BUILDIGS:
Y: 32
Height: 16
Font: Small
Text: - Place structures using the {Left} mouse button
LabelWithHighlight@DESC_SUPPORT:
Y: 48
Height: 16
Font: Small
Text: - Target support powers using the {Left} mouse button
LabelWithHighlight@DESC_ZOOM:
Y: 64
Height: 16
Font: Small
Text: - Zoom the battlefield using the {Scroll Wheel}
LabelWithHighlight@DESC_ZOOM_MODIFIER:
Y: 64
Height: 16
Font: Small
Text: - Zoom the battlefield using {MODIFIER + Scroll Wheel}
LabelWithHighlight@DESC_SCROLL:
Y: 80
Height: 16
Font: Small
Text: - Pan the battlefield using the {Middle} mouse button
Label@DESC_EDGESCROLL:
X: 9
Y: 96
Height: 16
Font: Small
Text: or by moving the cursor to the edge of the screen
Label@MOUSE_SCROLL_TYPE_LABEL:
X: 15
Y: 201
Width: 110
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Edge Scrolling Text: Pan Behaviour:
Align: Right
DropDownButton@MOUSE_SCROLL_TYPE_DROPDOWN:
X: 130
Y: 198
Width: 150
Height: 25
Font: Regular
Checkbox@LOCKMOUSE_CHECKBOX: Checkbox@LOCKMOUSE_CHECKBOX:
X: 15 X: 15
Y: 100 Y: 230
Width: 130 Width: 190
Height: 20 Height: 20
Font: Regular Font: Regular
Text: Lock mouse to window Text: Lock Mouse to Window
Label@SCROLL_SPEED_LABEL: Label@ZOOM_MODIFIER_LABEL:
X: 15 X: 350
Y: 129 Y: 71
Width: 85 Width: 70
Height: 20
Font: Regular
Text: Zoom Modifier:
Align: Right
DropDownButton@ZOOM_MODIFIER:
X: 425
Y: 68
Width: 150
Height: 25 Height: 25
Text: Scroll Speed: Font: Regular
Checkbox@EDGESCROLL_CHECKBOX:
X: 360
Y: 100
Width: 180
Height: 20
Font: Regular
Text: Screen Edge Panning
Checkbox@CLASSIC_MOUSE_MIDDLE_SCROLL_CHECKBOX:
X: 360
Y: 130
Width: 180
Height: 20
Font: Regular
Text: Middle Mouse Panning
Label@SCROLL_SPEED_LABEL:
X: 305
Y: 197
Width: 100
Height: 25
Text: Pan Speed:
Align: Right Align: Right
Slider@SCROLLSPEED_SLIDER: Slider@SCROLLSPEED_SLIDER:
X: 95 X: 410
Y: 133 Y: 202
Width: 100 Width: 165
Height: 20 Height: 20
Ticks: 5 Ticks: 5
MinimumValue: 10 MinimumValue: 10
MaximumValue: 50 MaximumValue: 50
Label@UI_SCROLL_SPEED_LABEL:
X: PARENT_RIGHT - WIDTH - 320
Y: 129
Width: 95
Height: 25
Text: UI Scroll:
Align: Right
Slider@UI_SCROLLSPEED_SLIDER:
X: PARENT_RIGHT - WIDTH - 220
Y: 133
Width: 100
Height: 20
Ticks: 5
MinimumValue: 1
MaximumValue: 100
Label@ZOOM_SPEED_LABEL: Label@ZOOM_SPEED_LABEL:
X: PARENT_RIGHT - WIDTH - 106 X: 305
Y: 129 Y: 227
Width: 95 Width: 100
Height: 25 Height: 25
Text: Zoom Speed: Text: Zoom Speed:
Align: Right Align: Right
ExponentialSlider@ZOOMSPEED_SLIDER: ExponentialSlider@ZOOMSPEED_SLIDER:
X: PARENT_RIGHT - WIDTH - 6 X: 410
Y: 133 Y: 232
Width: 95 Width: 165
Height: 20 Height: 20
Ticks: 5 Ticks: 5
MinimumValue: 0.01 MinimumValue: 0.01
MaximumValue: 0.4 MaximumValue: 0.4
Label@UI_SCROLL_SPEED_LABEL:
X: 305
Y: 257
Width: 100
Height: 25
Text: UI Scroll Speed:
Align: Right
Slider@UI_SCROLLSPEED_SLIDER:
X: 410
Y: 262
Width: 165
Height: 20
Ticks: 5
MinimumValue: 1
MaximumValue: 100
Container@HOTKEYS_PANEL: Container@HOTKEYS_PANEL:
X: 5 X: 5
Y: 50 Y: 50