Add super and browser back and forward keys

Fixes #13
This commit is contained in:
Unrud 2020-08-26 03:30:22 +02:00
parent e501c8cd9a
commit ba9ed841d8
9 changed files with 503 additions and 7 deletions

View file

@ -36,6 +36,9 @@ const (
KeyMediaPlayPause
KeyMediaPrevTrack
KeyMediaNextTrack
KeyBrowserBack
KeyBrowserForward
KeySuper
KeyLimit
)

View file

@ -34,6 +34,9 @@ const (
keyeventfKeyup uint32 = 0x2
keyeventfUnicode uint32 = 0x4
vkLwin uint16 = 0x5B
vkBrowserBack uint16 = 0xA6
vkBrowserForward uint16 = 0xA7
vkVolumeMute uint16 = 0xAD
vkVolumeDown uint16 = 0xAE
vkVolumeUp uint16 = 0xAF
@ -119,7 +122,13 @@ func (p *windowsBackend) KeyboardText(text string) error {
func (p *windowsBackend) KeyboardKey(key Key) error {
input := keybdInput{typ: inputKeyboard}
if key == KeyVolumeMute {
if key == KeySuper {
input.wVk = vkLwin
} else if key == KeyBrowserBack {
input.wVk = vkBrowserBack
} else if key == KeyBrowserForward {
input.wVk = vkBrowserForward
} else if key == KeyVolumeMute {
input.wVk = vkVolumeMute
} else if key == KeyVolumeDown {
input.wVk = vkVolumeDown

View file

@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="U+1FA9F Window Emoji.svg"
width="1000"
height="1000"
viewBox="0 0 264.58333 264.58334"
version="1.1"
id="svg964">
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:snap-global="true"
inkscape:current-layer="layer1"
inkscape:window-maximized="1"
inkscape:window-y="27"
inkscape:window-x="0"
inkscape:cy="600.55213"
inkscape:cx="333.69173"
inkscape:zoom="1"
inkscape:guide-bbox="true"
showguides="true"
showgrid="false"
id="namedview8"
inkscape:window-height="1016"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff">
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide815"
orientation="0,1"
position="0,52.916667" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide817"
orientation="1,0"
position="5.2916667,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide819"
orientation="0,1"
position="0,259.29167" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide821"
orientation="1,0"
position="259.29167,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide823"
orientation="1,0"
position="29.104167,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide825"
orientation="1,0"
position="235.47917,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide827"
orientation="0,1"
position="132.29167,161.39583" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide829"
orientation="1,0"
position="132.29167,161.39583" />
</sodipodi:namedview>
<defs
id="defs958" />
<metadata
id="metadata961">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-32.41665)">
<path
d="m 144.70288,175.30013 h 112.77019 c 1.00766,0 1.81888,0.81121 1.81888,1.81887 v 112.77098 c 0,1.00766 -0.81122,1.81887 -1.81888,1.81887 H 144.70288 c -1.00766,0 -1.81888,-0.81121 -1.81888,-1.81887 V 177.119 c 0,-1.00766 0.81122,-1.81887 1.81888,-1.81887 z m -137.5920073,0 H 119.88093 c 1.00766,0 1.81887,0.81121 1.81887,1.81887 v 112.77098 c 0,1.00766 -0.81121,1.81887 -1.81887,1.81887 H 7.1108727 c -1.0076563,0 -1.8188743,-0.81121 -1.8188743,-1.81887 V 177.119 c 0,-1.00766 0.811218,-1.81887 1.8188743,-1.81887 z M 144.70288,37.707294 h 112.77019 c 1.00766,0 1.81888,0.811219 1.81888,1.818875 V 152.29702 c 0,1.00766 -0.81122,1.81887 -1.81888,1.81887 H 144.70288 c -1.00766,0 -1.81888,-0.81121 -1.81888,-1.81887 V 39.526169 c 0,-1.007656 0.81122,-1.818875 1.81888,-1.818875 z m -137.5920073,0 H 119.88093 c 1.00766,0 1.81887,0.811219 1.81887,1.818875 V 152.29702 c 0,1.00766 -0.81121,1.81887 -1.81887,1.81887 H 7.1108727 c -1.0076563,0 -1.8188743,-0.81121 -1.8188743,-1.81887 V 39.526169 c 0,-1.007656 0.811218,-1.818875 1.8188743,-1.818875 z"
style="fill:#000000;stroke-width:0.0328268;stop-color:#000000"
id="rect857" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="U+2B60 Leftwards Triangle-Headed Arrow .svg"
width="1000"
height="1000"
viewBox="0 0 264.58333 264.58334"
version="1.1"
id="svg964">
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:snap-global="false"
inkscape:current-layer="layer1"
inkscape:window-maximized="1"
inkscape:window-y="27"
inkscape:window-x="0"
inkscape:cy="398.16955"
inkscape:cx="369.80754"
inkscape:zoom="0.5710432"
inkscape:guide-bbox="true"
showguides="true"
showgrid="false"
id="namedview8"
inkscape:window-height="1016"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff">
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide815"
orientation="0,1"
position="0,52.916667" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide817"
orientation="1,0"
position="5.2916667,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide819"
orientation="0,1"
position="0,259.29167" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide821"
orientation="1,0"
position="259.29167,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide823"
orientation="1,0"
position="29.104167,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide825"
orientation="1,0"
position="235.47917,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide827"
orientation="0,1"
position="132.29167,161.39583" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide829"
orientation="1,0"
position="132.29167,161.39583" />
</sodipodi:namedview>
<defs
id="defs958" />
<metadata
id="metadata961">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-32.41665)">
<path
sodipodi:nodetypes="cccccccccccccccc"
d="m 111.13772,76.12716 c 2.15968,0.04486 3.88735,1.808597 3.8871,3.96875 v 59.46045 c 2.2e-4,2.19179 1.77696,3.96853 3.96875,3.96875 h 136.32811 c 2.19179,2.2e-4 3.96853,1.77696 3.96875,3.96875 v 34.43046 c -2.2e-4,2.19179 -1.77696,3.96854 -3.96875,3.96875 H 118.99357 c -2.19179,2.2e-4 -3.96853,1.77696 -3.96875,3.96875 v 59.46045 c -0.002,3.33572 -3.86802,5.18189 -6.46317,3.08612 L 6.7461621,167.79495 c -1.9655102,-1.58863 -1.9655102,-4.58516 0,-6.17379 L 108.56165,77.007725 c 0.72802,-0.588163 1.64034,-0.899858 2.57607,-0.880565 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.9375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path841" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
sodipodi:docname="U+2B95 Rightwards Black Arrow .svg"
width="1000"
height="1000"
viewBox="0 0 264.58333 264.58334"
version="1.1"
id="svg964">
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:snap-global="false"
inkscape:current-layer="layer1"
inkscape:window-maximized="1"
inkscape:window-y="27"
inkscape:window-x="0"
inkscape:cy="398.16955"
inkscape:cx="369.80754"
inkscape:zoom="0.5710432"
inkscape:guide-bbox="true"
showguides="true"
showgrid="false"
id="namedview8"
inkscape:window-height="1016"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff">
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide815"
orientation="0,1"
position="0,52.916667" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide817"
orientation="1,0"
position="5.2916667,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide819"
orientation="0,1"
position="0,259.29167" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide821"
orientation="1,0"
position="259.29167,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide823"
orientation="1,0"
position="29.104167,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide825"
orientation="1,0"
position="235.47917,0" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide827"
orientation="0,1"
position="132.29167,161.39583" />
<sodipodi:guide
inkscape:color="rgb(0,0,255)"
inkscape:label=""
inkscape:locked="false"
id="guide829"
orientation="1,0"
position="132.29167,161.39583" />
</sodipodi:namedview>
<defs
id="defs958" />
<metadata
id="metadata961">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-32.41665)">
<path
sodipodi:nodetypes="cccccccccccccccc"
transform="matrix(0.26458333,0,0,0.26458333,0,32.41665)"
d="m 579.87305,165.20508 c -8.16257,0.16955 -14.69235,6.83564 -14.69141,15 V 404.9375 c -8.3e-4,8.28393 -6.71607,14.99917 -15,15 H 34.925781 c -8.283925,8.3e-4 -14.999164,6.71607 -15,15 v 130.13086 c 8.36e-4,8.28393 6.716075,14.99921 15,15 H 550.18164 c 8.28393,8.3e-4 14.99917,6.71607 15,15 v 224.73242 c 0.008,12.60745 14.61929,19.58508 24.42774,11.66406 L 974.42383,511.66602 c 7.4287,-6.00428 7.4287,-17.32972 0,-23.33399 L 589.60938,168.5332 c -2.75158,-2.22298 -6.19972,-3.40104 -9.73633,-3.32812 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="path841" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -1,4 +1,4 @@
SplineFontDB: 3.0
SplineFontDB: 3.2
FontName: Icon
FullName: Icon
FamilyName: Icon
@ -21,7 +21,7 @@ OS2Version: 0
OS2_WeightWidthSlopeOnly: 0
OS2_UseTypoMetrics: 1
CreationTime: 1535548659
ModificationTime: 1538075883
ModificationTime: 1597866573
PfmFamily: 17
TTFWeight: 400
TTFWidth: 5
@ -51,11 +51,11 @@ NameList: AGL For New Fonts
DisplaySize: -48
AntiAlias: 1
FitToEm: 0
WinInfo: 0 38 14
WinInfo: 0 35 14
BeginPrivate: 0
EndPrivate
TeXData: 1 0 0 346030 173015 115343 0 1048576 115343 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144
BeginChars: 1114112 11
BeginChars: 1114112 14
StartChar: uni2328
Encoding: 9000 9000 0
@ -637,7 +637,106 @@ SplineSet
819.797851562 633.625 l 2
828.08203125 633.624023438 834.796875 626.909179688 834.797851562 618.625 c 2
EndSplineSet
Validated: 524289
Validated: 1
EndChar
StartChar: uni2B60
Encoding: 11104 11104 11
Width: 1000
HStem: 219.932 160.131<434.739 979.995>
LayerCount: 2
Fore
SplineSet
420.047851562 634.794921875 m 0
428.2109375 634.625 434.740234375 627.958984375 434.739257812 619.794921875 c 2
434.739257812 395.0625 l 2
434.740234375 386.778320312 441.455078125 380.063476562 449.739257812 380.0625 c 2
964.995117188 380.0625 l 2
973.279296875 380.061523438 979.994140625 373.346679688 979.995117188 365.0625 c 2
979.995117188 234.931640625 l 2
979.994140625 226.647460938 973.279296875 219.932617188 964.995117188 219.931640625 c 2
449.739257812 219.931640625 l 2
441.455078125 219.930664062 434.740234375 213.215820312 434.739257812 204.931640625 c 2
434.739257812 -19.80078125 l 2
434.731445312 -32.408203125 420.120117188 -39.3857421875 410.311523438 -31.46484375 c 2
25.4970703125 288.333984375 l 2
18.068359375 294.337890625 18.068359375 305.6640625 25.4970703125 311.66796875 c 2
410.311523438 631.466796875 l 2
413.063476562 633.689453125 416.51171875 634.868164062 420.047851562 634.794921875 c 0
EndSplineSet
EndChar
StartChar: uni2B62
Encoding: 11106 11106 12
Width: 1000
HStem: 219.932 160.131<19.9258 565.182>
LayerCount: 2
Fore
SplineSet
579.873046875 634.794921875 m 0
583.409179688 634.868164062 586.857421875 633.689453125 589.609375 631.466796875 c 2
974.423828125 311.66796875 l 2
981.852539062 305.6640625 981.852539062 294.337890625 974.423828125 288.333984375 c 2
589.609375 -31.46484375 l 2
579.80078125 -39.3857421875 565.189453125 -32.408203125 565.181640625 -19.80078125 c 2
565.181640625 204.931640625 l 2
565.180664062 213.215820312 558.465820312 219.930664062 550.181640625 219.931640625 c 2
34.92578125 219.931640625 l 2
26.6416015625 219.932617188 19.9267578125 226.647460938 19.92578125 234.931640625 c 2
19.92578125 365.0625 l 2
19.9267578125 373.346679688 26.6416015625 380.061523438 34.92578125 380.0625 c 2
550.181640625 380.0625 l 2
558.465820312 380.063476562 565.180664062 386.778320312 565.181640625 395.0625 c 2
565.181640625 619.794921875 l 2
565.180664062 627.958984375 571.7109375 634.625 579.873046875 634.794921875 c 0
EndSplineSet
EndChar
StartChar: u1FA9F
Encoding: 129695 129695 13
Width: 1000
HStem: -180.002 439.97<20.001 459.968 540.034 980.001> 340.034 439.97<20.001 459.968 540.034 980.001>
VStem: 20.001 439.967<-180.002 259.968 340.034 780.004> 540.034 439.967<-180.002 259.968 340.034 780.004>
LayerCount: 2
Fore
SplineSet
546.908203125 259.967773438 m 2
973.126953125 259.967773438 l 2
976.934570312 259.967773438 980.000976562 256.90234375 980.000976562 253.09375 c 2
980.000976562 -173.127929688 l 2
980.000976562 -176.935546875 976.934570312 -180.001953125 973.126953125 -180.001953125 c 2
546.908203125 -180.001953125 l 2
543.099609375 -180.001953125 540.034179688 -176.935546875 540.034179688 -173.127929688 c 2
540.034179688 253.09375 l 2
540.034179688 256.90234375 543.099609375 259.967773438 546.908203125 259.967773438 c 2
26.8759765625 259.967773438 m 2
453.09375 259.967773438 l 2
456.901367188 259.967773438 459.967773438 256.90234375 459.967773438 253.09375 c 2
459.967773438 -173.127929688 l 2
459.967773438 -176.935546875 456.901367188 -180.001953125 453.09375 -180.001953125 c 2
26.8759765625 -180.001953125 l 2
23.0673828125 -180.001953125 20.0009765625 -176.935546875 20.0009765625 -173.127929688 c 2
20.0009765625 253.09375 l 2
20.0009765625 256.90234375 23.0673828125 259.967773438 26.8759765625 259.967773438 c 2
546.908203125 780.00390625 m 2
973.126953125 780.00390625 l 2
976.934570312 780.00390625 980.000976562 776.9375 980.000976562 773.12890625 c 2
980.000976562 346.909179688 l 2
980.000976562 343.100585938 976.934570312 340.034179688 973.126953125 340.034179688 c 2
546.908203125 340.034179688 l 2
543.099609375 340.034179688 540.034179688 343.100585938 540.034179688 346.909179688 c 2
540.034179688 773.12890625 l 2
540.034179688 776.9375 543.099609375 780.00390625 546.908203125 780.00390625 c 2
26.8759765625 780.00390625 m 2
453.09375 780.00390625 l 2
456.901367188 780.00390625 459.967773438 776.9375 459.967773438 773.12890625 c 2
459.967773438 346.909179688 l 2
459.967773438 343.100585938 456.901367188 340.034179688 453.09375 340.034179688 c 2
26.8759765625 340.034179688 l 2
23.0673828125 340.034179688 20.0009765625 343.100585938 20.0009765625 346.909179688 c 2
20.0009765625 773.12890625 l 2
20.0009765625 776.9375 23.0673828125 780.00390625 26.8759765625 780.00390625 c 2
EndSplineSet
EndChar
EndChars
EndSplineFont

View file

@ -26,6 +26,8 @@ import "errors"
type Keysym int32
const (
// X11/keysymdef.h
xkSuperL Keysym = 0xffeb
// X11/XF86keysym.h
xf86xkAudioLowerVolume Keysym = 0x1008ff11
xf86xkAudioMute Keysym = 0x1008ff12
@ -33,6 +35,8 @@ const (
xf86xkAudioPlay Keysym = 0x1008ff14
xf86xkAudioPrev Keysym = 0x1008ff16
xf86xkAudioNext Keysym = 0x1008ff17
xf86xkBack Keysym = 0x1008ff26
xf86xkForward Keysym = 0x1008ff27
)
func RuneToKeysym(runeValue rune) (Keysym, error) {
@ -51,6 +55,9 @@ func RuneToKeysym(runeValue rune) (Keysym, error) {
}
func KeyToKeysym(key Key) (Keysym, error) {
if key == KeySuper {
return xkSuperL, nil
}
if key == KeyVolumeMute {
return xf86xkAudioMute, nil
}
@ -69,5 +76,11 @@ func KeyToKeysym(key Key) (Keysym, error) {
if key == KeyMediaNextTrack {
return xf86xkAudioNext, nil
}
if key == KeyBrowserBack {
return xf86xkBack, nil
}
if key == KeyBrowserForward {
return xf86xkForward, nil
}
return 0, errors.New("key not mapped to keysym")
}

View file

@ -39,6 +39,9 @@ const KEY_VOLUME_UP = 2;
const KEY_MEDIA_PLAY_PAUSE = 3;
const KEY_MEDIA_PREV_TRACK = 4;
const KEY_MEDIA_NEXT_TRACK = 5;
const KEY_BROWSER_BACK = 6;
const KEY_BROWSER_FORWARD = 7;
const KEY_SUPER = 8;
let ws;
let pad;
@ -381,7 +384,10 @@ window.addEventListener("load", function() {
requestFullscreen(document.documentElement, {navigationUI: "hide"});
}
});
[{id: "prevtrackbutton", key: KEY_MEDIA_PREV_TRACK},
[{id: "browserbackbutton", key: KEY_BROWSER_BACK},
{id: "superbutton", key: KEY_SUPER},
{id: "browserforwardbutton", key: KEY_BROWSER_FORWARD},
{id: "prevtrackbutton", key: KEY_MEDIA_PREV_TRACK},
{id: "playpausebutton", key: KEY_MEDIA_PLAY_PAUSE},
{id: "nexttrackbutton", key: KEY_MEDIA_NEXT_TRACK},
{id: "volumedownbutton", key: KEY_VOLUME_DOWN},

Binary file not shown.