6 changed files with 63 additions and 42 deletions
@ -0,0 +1,30 @@ |
|||
using Avalonia.Input; |
|||
|
|||
namespace Avalonia.X11; |
|||
|
|||
internal static class X11EnumExtensions |
|||
{ |
|||
public static RawInputModifiers ToRawInputModifiers(this XModifierMask state) |
|||
{ |
|||
var rv = default(RawInputModifiers); |
|||
if (state.HasAllFlags(XModifierMask.Button1Mask)) |
|||
rv |= RawInputModifiers.LeftMouseButton; |
|||
if (state.HasAllFlags(XModifierMask.Button2Mask)) |
|||
rv |= RawInputModifiers.RightMouseButton; |
|||
if (state.HasAllFlags(XModifierMask.Button3Mask)) |
|||
rv |= RawInputModifiers.MiddleMouseButton; |
|||
if (state.HasAllFlags(XModifierMask.Button4Mask)) |
|||
rv |= RawInputModifiers.XButton1MouseButton; |
|||
if (state.HasAllFlags(XModifierMask.Button5Mask)) |
|||
rv |= RawInputModifiers.XButton2MouseButton; |
|||
if (state.HasAllFlags(XModifierMask.ShiftMask)) |
|||
rv |= RawInputModifiers.Shift; |
|||
if (state.HasAllFlags(XModifierMask.ControlMask)) |
|||
rv |= RawInputModifiers.Control; |
|||
if (state.HasAllFlags(XModifierMask.Mod1Mask)) |
|||
rv |= RawInputModifiers.Alt; |
|||
if (state.HasAllFlags(XModifierMask.Mod4Mask)) |
|||
rv |= RawInputModifiers.Meta; |
|||
return rv; |
|||
} |
|||
} |
|||
Loading…
Reference in new issue