Add more keys

Fixes #36
Fixes #27
Fixes #22
This commit is contained in:
Unrud 2022-01-24 08:04:15 +01:00
parent 92a46e6637
commit d22dc0f4dd
18 changed files with 1628 additions and 55 deletions

View file

@ -39,6 +39,14 @@ const (
KeyBrowserBack
KeyBrowserForward
KeySuper
KeyLeft
KeyRight
KeyUp
KeyDown
KeyHome
KeyEnd
KeyBackSpace
KeyDelete
KeyLimit
)

View file

@ -34,6 +34,14 @@ const (
keyeventfKeyup uint32 = 0x2
keyeventfUnicode uint32 = 0x4
vkBack uint16 = 0x8
vkEnd uint16 = 0x23
vkHome uint16 = 0x24
vkLeft uint16 = 0x25
vkUp uint16 = 0x26
vkRight uint16 = 0x27
vkDown uint16 = 0x28
vkDelete uint16 = 0x2E
vkLwin uint16 = 0x5B
vkBrowserBack uint16 = 0xA6
vkBrowserForward uint16 = 0xA7
@ -122,7 +130,23 @@ func (p *windowsBackend) KeyboardText(text string) error {
func (p *windowsBackend) KeyboardKey(key Key) error {
input := keybdInput{typ: inputKeyboard}
if key == KeySuper {
if key == KeyBackSpace {
input.wVk = vkBack
} else if key == KeyEnd {
input.wVk = vkEnd
} else if key == KeyHome {
input.wVk = vkHome
} else if key == KeyLeft {
input.wVk = vkLeft
} else if key == KeyUp {
input.wVk = vkUp
} else if key == KeyRight {
input.wVk = vkRight
} else if key == KeyDown {
input.wVk = vkDown
} else if key == KeyDelete {
input.wVk = vkDelete
} else if key == KeySuper {
input.wVk = vkLwin
} else if key == KeyBrowserBack {
input.wVk = vkBrowserBack

File diff suppressed because one or more lines are too long

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
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="U+2191 Upwards Arrow.svg"
width="1000"
height="1000"
viewBox="0 0 264.58333 264.58334"
version="1.1"
id="svg964"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:snap-global="false"
inkscape:current-layer="layer1"
inkscape:window-maximized="1"
inkscape:window-y="32"
inkscape:window-x="0"
inkscape:cy="397.51809"
inkscape:cx="371.25037"
inkscape:zoom="0.5710432"
inkscape:guide-bbox="true"
showguides="true"
showgrid="false"
id="namedview8"
inkscape:window-height="1011"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff"
inkscape:pagecheckerboard="0">
<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
sodipodi:nodetypes="cccccccccccccccc"
d="m 220.86574,143.56816 c -0.0449,2.15968 -1.8086,3.88735 -3.96875,3.8871 h -59.46045 c -2.19179,2.2e-4 -3.96853,1.77696 -3.96875,3.96875 v 136.32811 c -2.2e-4,2.19179 -1.77696,3.96853 -3.96875,3.96875 h -34.43046 c -2.19179,-2.2e-4 -3.96854,-1.77696 -3.96875,-3.96875 V 151.42401 c -2.2e-4,-2.19179 -1.77696,-3.96853 -3.96875,-3.96875 H 47.670631 c -3.33572,-0.002 -5.18189,-3.86802 -3.08612,-6.46317 L 129.19795,39.176603 c 1.58863,-1.96551 4.58516,-1.96551 6.17379,0 l 84.61344,101.815487 c 0.58816,0.72802 0.89985,1.64034 0.88056,2.57607 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

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="U+2193 Downwards Arrow.svg"
width="1000"
height="1000"
viewBox="0 0 264.58333 264.58334"
version="1.1"
id="svg964"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:snap-global="false"
inkscape:current-layer="layer1"
inkscape:window-maximized="1"
inkscape:window-y="32"
inkscape:window-x="0"
inkscape:cy="397.51809"
inkscape:cx="371.25037"
inkscape:zoom="0.5710432"
inkscape:guide-bbox="true"
showguides="true"
showgrid="false"
id="namedview8"
inkscape:window-height="1011"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff"
inkscape:pagecheckerboard="0">
<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
sodipodi:nodetypes="cccccccccccccccc"
d="m 43.696719,185.85518 c 0.04486,-2.15968 1.808597,-3.88735 3.96875,-3.8871 h 59.460451 c 2.19179,-2.2e-4 3.96853,-1.77696 3.96875,-3.96875 V 41.671221 c 2.2e-4,-2.19179 1.77696,-3.96853 3.96875,-3.96875 h 34.43046 c 2.19179,2.2e-4 3.96854,1.77696 3.96875,3.96875 V 177.99933 c 2.2e-4,2.19179 1.77696,3.96853 3.96875,3.96875 h 59.46045 c 3.33572,0.002 5.18189,3.86802 3.08612,6.46317 l -84.61344,101.81549 c -1.58863,1.96551 -4.58516,1.96551 -6.17379,0 L 44.577284,188.43125 c -0.588163,-0.72802 -0.899858,-1.64034 -0.880565,-2.57607 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
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="U+2326 Erase To the Right.svg"
width="1000"
height="1000"
viewBox="0 0 264.58333 264.58334"
version="1.1"
id="svg964"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:snap-global="true"
inkscape:current-layer="layer1"
inkscape:window-maximized="1"
inkscape:window-y="32"
inkscape:window-x="0"
inkscape:cy="432.54171"
inkscape:cx="961.39837"
inkscape:zoom="0.5710432"
inkscape:guide-bbox="true"
showguides="true"
showgrid="false"
id="namedview8"
inkscape:window-height="1011"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff"
inkscape:pagecheckerboard="0">
<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" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-32.41665)">
<path
id="path841"
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"
d="m 153.42494,76.12716 c 0.93573,-0.01929 1.84805,0.292402 2.57607,0.880565 L 257.8165,161.62116 c 1.96551,1.58863 1.96551,4.58516 0,6.17379 l -101.81549,84.61344 c -0.81646,0.65934 -1.75837,0.92725 -2.66651,0.88263 H 9.2409757 c -2.1917898,-2.2e-4 -3.9685409,-1.77696 -3.96875,-3.96875 V 181.92432 147.49386 80.09591 c 2.091e-4,-2.19179 1.7769602,-3.96853 3.96875,-3.96875 z M 45.447551,116.19655 c -1.015892,0 -2.03204,0.38767 -2.807065,1.16272 l -9.312609,9.31261 c -1.55009,1.55005 -1.55009,4.06304 0,5.61309 l 32.422309,32.42386 -32.422309,32.42386 c -1.549791,1.54928 -1.549791,4.06118 -0.0016,5.61155 l 9.314159,9.31416 c 1.5495,1.55057 4.062999,1.5516 5.613611,0.002 l 32.423343,-32.42541 32.42386,32.42541 c 1.55061,1.5496 4.06411,1.54857 5.61361,-0.002 l 9.31416,-9.31416 c 1.54831,-1.55038 1.54727,-4.06227 -0.002,-5.61155 L 95.605211,164.70883 128.027,132.28497 c 1.55009,-1.55005 1.55009,-4.06304 0,-5.61309 l -9.31209,-9.31261 c -0.73003,-0.73002 -1.71586,-1.14701 -2.74815,-1.16221 -1.0729,-0.0158 -2.10672,0.40347 -2.86546,1.16221 L 80.67744,149.78313 48.254097,117.35927 c -0.775025,-0.77505 -1.790657,-1.16272 -2.806546,-1.16272 z" />
<g
id="g22" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

View file

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="U+232B Erase To the Left.svg"
width="1000"
height="1000"
viewBox="0 0 264.58333 264.58334"
version="1.1"
id="svg964"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:snap-global="true"
inkscape:current-layer="layer1"
inkscape:window-maximized="1"
inkscape:window-y="32"
inkscape:window-x="0"
inkscape:cy="432.54171"
inkscape:cx="961.39837"
inkscape:zoom="0.5710432"
inkscape:guide-bbox="true"
showguides="true"
showgrid="false"
id="namedview8"
inkscape:window-height="1011"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff"
inkscape:pagecheckerboard="0">
<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
id="path841"
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"
d="M 420.04883 165.20508 C 416.51221 165.13217 413.06407 166.31022 410.3125 168.5332 L 25.498047 488.33203 C 18.069348 494.3363 18.069348 505.66174 25.498047 511.66602 L 410.3125 831.46484 C 413.39833 833.95684 416.95828 834.96942 420.39062 834.80078 L 964.99609 834.80078 C 973.28002 834.79995 979.9953 828.08471 979.99609 819.80078 L 979.99609 565.06836 L 979.99609 434.9375 L 979.99609 180.20508 C 979.9953 171.92115 973.28002 165.20591 964.99609 165.20508 L 420.04883 165.20508 z M 828.15234 316.64844 C 831.99193 316.64844 835.83249 318.11366 838.76172 321.04297 L 873.95898 356.24023 C 879.81759 362.09869 879.81759 371.59662 873.95898 377.45508 L 751.41797 500.00195 L 873.95898 622.54883 C 879.81646 628.40437 879.81646 637.89815 873.96484 643.75781 L 838.76172 678.96094 C 832.90534 684.82136 823.4055 684.82528 817.54492 678.96875 L 695 556.41602 L 572.45312 678.96875 C 566.59255 684.82551 557.09271 684.82159 551.23633 678.96094 L 516.0332 643.75781 C 510.18132 637.89811 510.18524 628.40437 516.04102 622.54883 L 638.58008 500.00195 L 516.04102 377.45508 C 510.18241 371.59662 510.18241 362.09869 516.04102 356.24023 L 551.23633 321.04297 C 553.9955 318.28384 557.72148 316.70784 561.62305 316.65039 C 565.6781 316.59052 569.58545 318.17529 572.45312 321.04297 L 695 443.58984 L 817.54492 321.04297 C 820.47415 318.11366 824.31276 316.64844 828.15234 316.64844 z "
transform="matrix(0.26458333,0,0,0.26458333,0,32.41665)" />
<g
id="g22" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

View file

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="svg964"
version="1.1"
viewBox="0 0 264.58333 264.58334"
height="1000"
width="1000"
sodipodi:docname="U+2B70 Leftwards Triangle-Headed Arrow To Bar.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1011"
id="namedview8"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="0.78434916"
inkscape:cx="345.50939"
inkscape:cy="525.27627"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
inkscape:snap-global="true"
inkscape:pagecheckerboard="0">
<sodipodi:guide
position="0,52.916667"
orientation="0,1"
id="guide815"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="5.2916667,0"
orientation="1,0"
id="guide817"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="0,259.29167"
orientation="0,1"
id="guide819"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="259.29167,0"
orientation="1,0"
id="guide821"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="29.104167,0"
orientation="1,0"
id="guide823"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="235.47917,0"
orientation="1,0"
id="guide825"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="132.29167,161.39583"
orientation="0,1"
id="guide827"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="132.29167,161.39583"
orientation="1,0"
id="guide829"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
</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
transform="translate(0,-32.41665)"
id="layer1"
inkscape:groupmode="layer">
<path
id="path832-3"
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"
d="M 35.107422 165.20508 C 26.823491 165.20591 20.108216 171.92115 20.107422 180.20508 L 20.107422 819.80078 C 20.108216 828.08471 26.823491 834.79995 35.107422 834.80078 L 165.23828 834.80078 C 173.52221 834.79995 180.23745 828.08471 180.23828 819.80078 L 180.23828 519.27539 L 555.63672 831.46484 C 565.44512 839.38586 580.05807 832.40823 580.06445 819.80078 L 580.06445 595.06836 C 580.06528 586.78443 586.78052 580.06919 595.06445 580.06836 L 964.99609 580.06836 C 973.28002 580.06757 979.99526 573.35229 979.99609 565.06836 L 979.99609 434.9375 C 979.99526 426.65357 973.28002 419.93833 964.99609 419.9375 L 595.06445 419.9375 C 586.78052 419.93667 580.06528 413.22143 580.06445 404.9375 L 580.06445 180.20508 C 580.06347 171.74797 573.07454 164.96209 564.62109 165.21094 C 561.34398 165.30679 558.18786 166.474 555.63672 168.5332 L 180.23828 480.72266 L 180.23828 180.20508 C 180.23745 171.92115 173.52221 165.20591 165.23828 165.20508 L 35.107422 165.20508 z "
transform="matrix(0.26458333,0,0,0.26458333,0,32.41665)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
id="svg964"
version="1.1"
viewBox="0 0 264.58333 264.58334"
height="1000"
width="1000"
sodipodi:docname="U+2B72 Rightwards Triangle-Headed Arrow To Bar.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1011"
id="namedview8"
showgrid="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:zoom="0.78434916"
inkscape:cx="345.50939"
inkscape:cy="326.38525"
inkscape:window-x="0"
inkscape:window-y="32"
inkscape:window-maximized="1"
inkscape:current-layer="layer1"
inkscape:snap-global="true"
inkscape:pagecheckerboard="0">
<sodipodi:guide
position="0,52.916667"
orientation="0,1"
id="guide815"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="5.2916667,0"
orientation="1,0"
id="guide817"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="0,259.29167"
orientation="0,1"
id="guide819"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="259.29167,0"
orientation="1,0"
id="guide821"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="29.104167,0"
orientation="1,0"
id="guide823"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="235.47917,0"
orientation="1,0"
id="guide825"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="132.29167,161.39583"
orientation="0,1"
id="guide827"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
<sodipodi:guide
position="132.29167,161.39583"
orientation="1,0"
id="guide829"
inkscape:locked="false"
inkscape:label=""
inkscape:color="rgb(0,0,255)" />
</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" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(0,-32.41665)"
id="layer1"
inkscape:groupmode="layer">
<path
id="path832-3"
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"
d="m 255.32188,76.12716 c 2.19179,2.2e-4 3.96854,1.77696 3.96875,3.96875 v 169.22636 c -2.1e-4,2.19179 -1.77696,3.96853 -3.96875,3.96875 h -34.43046 c -2.19179,-2.2e-4 -3.96853,-1.77696 -3.96875,-3.96875 v -79.51401 l -99.32417,82.60013 c -2.59514,2.09577 -6.46148,0.2496 -6.46317,-3.08612 v -59.46045 c -2.2e-4,-2.19179 -1.77696,-3.96853 -3.96875,-3.96875 H 9.2888386 c -2.1917898,-2.1e-4 -3.9685303,-1.77696 -3.9687499,-3.96875 v -34.43046 c 2.196e-4,-2.19179 1.7769601,-3.96853 3.9687499,-3.96875 H 107.16658 c 2.19179,-2.2e-4 3.96853,-1.77696 3.96875,-3.96875 V 80.09591 c 2.6e-4,-2.23761 1.84942,-4.033041 4.08606,-3.967199 0.86707,0.02536 1.70212,0.334184 2.37711,0.879014 l 99.32417,82.600125 V 80.09591 c 2.2e-4,-2.19179 1.77696,-3.96853 3.96875,-3.96875 z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

View file

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
sodipodi:docname="U+2B82 Rightwards Triangle-Headed Arrow Over Leftwards Triangle-Headed Arrow.svg"
width="1000"
height="1000"
viewBox="0 0 264.58333 264.58334"
version="1.1"
id="svg964"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
inkscape:document-rotation="0"
inkscape:snap-global="true"
inkscape:current-layer="layer1"
inkscape:window-maximized="1"
inkscape:window-y="32"
inkscape:window-x="0"
inkscape:cy="440.81976"
inkscape:cx="627.83421"
inkscape:zoom="0.59888422"
inkscape:guide-bbox="true"
showguides="true"
showgrid="false"
id="namedview8"
inkscape:window-height="1011"
inkscape:window-width="1920"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
guidetolerance="10"
gridtolerance="10"
objecttolerance="10"
borderopacity="1"
bordercolor="#666666"
pagecolor="#ffffff"
inkscape:pagecheckerboard="0"
inkscape:snap-page="false"
inkscape:snap-to-guides="true"
inkscape:snap-grids="false"
inkscape:snap-others="true"
inkscape:snap-nodes="true"
inkscape:snap-bbox="true">
<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
sodipodi:nodetypes="cccccccccccccccc"
d="m 174.5914,50.361898 c -2.15968,0.04486 -3.88735,1.808597 -3.8871,3.96875 v 48.877122 c -2.2e-4,2.19179 -1.77696,3.96853 -3.96875,3.96875 H 9.2407794 c -2.1917884,2.2e-4 -3.9685287,1.77696 -3.9687499,3.96875 v 34.43045 c 2.212e-4,2.19179 1.7769615,3.96854 3.9687499,3.96875 H 166.73555 c 2.19179,2.2e-4 3.96853,1.77696 3.96875,3.96875 v 48.87712 c 0.002,3.33572 3.86802,5.18189 6.46317,3.08612 l 80.64883,-74.03011 c 1.96551,-1.58863 1.96551,-4.58515 0,-6.17378 L 177.16747,51.242464 c -0.72802,-0.588164 -1.64034,-0.899859 -2.57607,-0.880566 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" />
<path
id="path16"
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"
d="M 181.25391 482.71289 L 25.498047 625.6875 C 18.069348 631.69177 18.069348 643.01721 25.498047 649.02148 L 330.3125 928.82031 C 340.12095 936.74133 354.73268 929.7637 354.74023 917.15625 L 354.74023 732.42383 C 354.74107 724.1399 361.4563 717.42466 369.74023 717.42383 L 964.99609 717.42383 C 973.28002 717.42303 979.99526 710.70776 979.99609 702.42383 L 979.99609 572.29297 C 979.99526 564.00904 973.28002 557.2938 964.99609 557.29297 L 834.09375 557.29297 C 808.85644 580.47789 783.62321 603.66677 758.38086 626.84766 C 738.58721 644.94751 718.93574 663.20661 699.09375 681.25 C 689.39662 689.8341 677.42827 696.51296 664.28516 697.35156 C 637.29619 699.42218 609.8368 678.92 606.08203 651.73828 C 605.3507 620.26206 605.20414 588.77752 605.19727 557.29297 L 369.74023 557.29297 C 361.4563 557.29214 354.74107 550.5769 354.74023 542.29297 L 354.74023 482.73242 C 296.9114 482.72628 239.08275 482.71891 181.25391 482.71289 z "
transform="matrix(0.26458333,0,0,0.26458333,0,32.41665)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.6 KiB

View file

@ -21,7 +21,7 @@ OS2Version: 0
OS2_WeightWidthSlopeOnly: 0
OS2_UseTypoMetrics: 1
CreationTime: 1535548659
ModificationTime: 1643005161
ModificationTime: 1642970773
PfmFamily: 17
TTFWeight: 400
TTFWidth: 5
@ -55,7 +55,7 @@ WinInfo: 0 35 12
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 14
BeginChars: 1114112 23
StartChar: uni2328
Encoding: 9000 9000 0
@ -176,7 +176,6 @@ SplineSet
768 201 764 205 758 205 c 2
266 205 l 2
EndSplineSet
Validated: 1
EndChar
StartChar: uni2922
@ -224,7 +223,6 @@ SplineSet
420 -82 l 2
420 -88 416 -92 410 -92 c 2
EndSplineSet
Validated: 1
EndChar
StartChar: uni27A3
@ -282,7 +280,6 @@ SplineSet
937 328 l 1
231 328 l 2
EndSplineSet
Validated: 1
EndChar
StartChar: uni21BB
@ -322,7 +319,6 @@ SplineSet
193 410 265 536 355 586 c 0
392 606 457 625 499 627 c 0
EndSplineSet
Validated: 1
EndChar
StartChar: u1F50A
@ -385,7 +381,6 @@ SplineSet
605 506 l 2
607 507 608 507 610 507 c 0
EndSplineSet
Validated: 1
EndChar
StartChar: u1F509
@ -423,7 +418,6 @@ SplineSet
605 506 l 2
607 507 608 507 610 507 c 0
EndSplineSet
Validated: 1
EndChar
StartChar: u1F507
@ -471,7 +465,6 @@ SplineSet
668 490 l 2
671 493 675 495 679 495 c 0
EndSplineSet
Validated: 1
EndChar
StartChar: uni23ED
@ -507,7 +500,6 @@ SplineSet
840 643 847 650 855 650 c 2
988 650 l 2
EndSplineSet
Validated: 1
EndChar
StartChar: uni23EE
@ -543,7 +535,6 @@ SplineSet
20 635 l 2
20 643 28 650 36 650 c 2
EndSplineSet
Validated: 1
EndChar
StartChar: uni23EF
@ -582,7 +573,6 @@ SplineSet
840 635 l 2
840 643 847 650 855 650 c 2
EndSplineSet
Validated: 1
EndChar
StartChar: uni2B60
@ -610,7 +600,6 @@ SplineSet
420 646 l 2
423 648 426 650 430 650 c 0
EndSplineSet
Validated: 1
EndChar
StartChar: uni2B62
@ -638,7 +627,6 @@ SplineSet
579 635 l 2
579 643 586 650 594 650 c 0
EndSplineSet
Validated: 1
EndChar
StartChar: u1FA9F
@ -687,7 +675,6 @@ SplineSet
20 792 l 2
20 796 24 799 28 799 c 2
EndSplineSet
Validated: 1
EndChar
StartChar: equivalence
@ -727,7 +714,328 @@ SplineSet
840 567 l 2
848 567 855 560 855 552 c 2
EndSplineSet
Validated: 1
EndChar
StartChar: uni2B70
Encoding: 11120 11120 14
Width: 1024
Flags: W
HStem: 225 164<594 1004>
VStem: 20 164<-36 288 327 650>
LayerCount: 2
Fore
SplineSet
36 650 m 2
169 650 l 2
177 650 184 643 184 635 c 2
184 327 l 1
569 646 l 2
572 648 576 650 579 650 c 0
587 650 594 643 594 635 c 2
594 404 l 2
594 396 601 389 609 389 c 2
988 389 l 2
996 389 1004 382 1004 374 c 2
1004 241 l 2
1004 233 996 225 988 225 c 2
609 225 l 2
601 225 594 218 594 210 c 2
594 -20 l 2
594 -33 579 -40 569 -32 c 2
184 288 l 1
184 -20 l 2
184 -28 177 -36 169 -36 c 2
36 -36 l 2
28 -36 20 -28 20 -20 c 2
20 635 l 2
20 643 28 650 36 650 c 2
EndSplineSet
EndChar
StartChar: uni2B72
Encoding: 11122 11122 15
Width: 1024
Flags: W
HStem: 225 164<20 430>
VStem: 840 164<-36 288 327 650>
LayerCount: 2
Fore
SplineSet
988 650 m 2
996 650 1004 643 1004 635 c 2
1004 -20 l 2
1004 -28 996 -36 988 -36 c 2
855 -36 l 2
847 -36 840 -28 840 -20 c 2
840 288 l 1
455 -32 l 2
445 -40 430 -33 430 -20 c 2
430 210 l 2
430 218 423 225 415 225 c 2
36 225 l 2
28 225 20 233 20 241 c 2
20 374 l 2
20 382 28 389 36 389 c 2
415 389 l 2
423 389 430 396 430 404 c 2
430 635 l 2
430 643 437 650 445 650 c 0
448 650 452 648 455 646 c 2
840 327 l 1
840 635 l 2
840 643 847 650 855 650 c 2
988 650 l 2
EndSplineSet
EndChar
StartChar: uni232B
Encoding: 9003 9003 16
Width: 1024
Flags: W
HStem: 495 155<546 601.75 822.25 877>
LayerCount: 2
Fore
SplineSet
430 650 m 2
988 650 l 2
996 650 1004 643 1004 635 c 2
1004 374 l 1
1004 241 l 1
1004 -20 l 2
1004 -28 996 -36 988 -36 c 2
430 -36 l 2
427 -36 423 -34 420 -32 c 2
26 295 l 2
19 301 19 313 26 319 c 2
420 646 l 2
423 648 426 650 430 650 c 2
848 495 m 0
844 495 841 493 838 490 c 2
712 365 l 1
586 490 l 2
583 493 579 495 575 495 c 0
571 495 567 493 564 490 c 2
528 455 l 2
522 449 522 439 528 433 c 2
654 307 l 1
528 181 l 2
522 175 522 166 528 160 c 2
564 124 l 2
570 118 580 118 586 124 c 2
712 250 l 1
838 124 l 2
844 118 853 118 859 124 c 2
895 160 l 2
901 166 901 175 895 181 c 2
769 307 l 1
895 433 l 2
901 439 901 449 895 455 c 2
859 490 l 2
856 493 852 495 848 495 c 0
EndSplineSet
EndChar
StartChar: uni2326
Encoding: 8998 8998 17
Width: 1024
Flags: W
HStem: 495 155<147 201.75 421.375 478>
LayerCount: 2
Fore
SplineSet
594 650 m 2
598 650 601 648 604 646 c 2
997 319 l 2
1004 313 1004 301 997 295 c 2
604 -32 l 2
601 -34 597 -36 594 -36 c 2
36 -36 l 2
28 -36 20 -28 20 -20 c 2
20 241 l 1
20 374 l 1
20 635 l 2
20 643 28 650 36 650 c 2
594 650 l 2
176 495 m 0
172 495 168 493 165 490 c 2
129 455 l 2
123 449 123 439 129 433 c 2
255 307 l 1
129 181 l 2
123 175 123 166 129 160 c 2
165 124 l 2
171 118 180 118 186 124 c 2
312 250 l 1
437 124 l 2
443 118 454 118 460 124 c 2
496 160 l 2
502 166 502 175 496 181 c 2
370 307 l 1
496 433 l 2
502 439 502 449 496 455 c 2
460 490 l 2
457 493 453 495 449 495 c 0
445 495 440 493 437 490 c 2
312 365 l 1
186 490 l 2
183 493 180 495 176 495 c 0
EndSplineSet
EndChar
StartChar: arrowleft
Encoding: 8592 8592 18
Width: 1024
Flags: W
HStem: 225 164<445 1004>
LayerCount: 2
Fore
SplineSet
430 650 m 0
438 650 445 643 445 635 c 2
445 404 l 2
445 396 453 389 461 389 c 2
988 389 l 2
996 389 1004 382 1004 374 c 2
1004 241 l 2
1004 233 996 225 988 225 c 2
461 225 l 2
453 225 445 218 445 210 c 2
445 -20 l 2
445 -33 430 -40 420 -32 c 2
26 295 l 2
19 301 19 313 26 319 c 2
420 646 l 2
423 648 426 650 430 650 c 0
EndSplineSet
EndChar
StartChar: arrowup
Encoding: 8593 8593 19
Width: 1024
Flags: W
VStem: 430 164<-184 374>
LayerCount: 2
Fore
SplineSet
855 389 m 0
855 381 848 374 840 374 c 2
609 374 l 2
601 374 594 366 594 358 c 2
594 -169 l 2
594 -177 587 -184 579 -184 c 2
445 -184 l 2
437 -184 430 -177 430 -169 c 2
430 358 l 2
430 366 423 374 415 374 c 2
184 374 l 2
171 374 165 389 173 399 c 2
500 793 l 2
506 800 518 800 524 793 c 2
851 399 l 2
853 396 855 393 855 389 c 0
EndSplineSet
EndChar
StartChar: arrowright
Encoding: 8594 8594 20
Width: 1024
Flags: W
HStem: 225 164<20 579>
LayerCount: 2
Fore
SplineSet
594 650 m 0
598 650 601 648 604 646 c 2
997 319 l 2
1004 313 1004 301 997 295 c 2
604 -32 l 2
594 -40 579 -33 579 -20 c 2
579 210 l 2
579 218 571 225 563 225 c 2
36 225 l 2
28 225 20 233 20 241 c 2
20 374 l 2
20 382 28 389 36 389 c 2
563 389 l 2
571 389 579 396 579 404 c 2
579 635 l 2
579 643 586 650 594 650 c 0
EndSplineSet
EndChar
StartChar: arrowdown
Encoding: 8595 8595 21
Width: 1024
Flags: W
VStem: 430 164<241 799>
LayerCount: 2
Fore
SplineSet
169 225 m 0
169 233 176 241 184 241 c 2
415 241 l 2
423 241 430 248 430 256 c 2
430 783 l 2
430 791 437 799 445 799 c 2
579 799 l 2
587 799 594 791 594 783 c 2
594 256 l 2
594 248 601 241 609 241 c 2
840 241 l 2
853 241 859 225 851 215 c 2
524 -178 l 2
518 -185 506 -185 500 -178 c 2
172 215 l 2
170 218 169 221 169 225 c 0
EndSplineSet
EndChar
StartChar: uni2B82
Encoding: 11138 11138 22
Width: 1024
Flags: W
HStem: 85 164<364 620 854 1004> 366 163<20 660>
LayerCount: 2
Fore
SplineSet
676 750 m 0
680 750 683 748 686 746 c 2
997 460 l 2
1004 454 1004 442 997 436 c 2
686 150 l 2
676 142 660 149 660 162 c 2
660 350 l 2
660 358 653 366 645 366 c 2
36 366 l 2
28 366 20 373 20 381 c 2
20 514 l 2
20 522 28 529 36 529 c 2
645 529 l 2
653 529 660 537 660 545 c 2
660 734 l 2
660 742 668 750 676 750 c 0
185 325 m 1
244 325 305 325 364 325 c 1
364 264 l 2
364 256 371 249 379 249 c 2
620 249 l 1
620 217 620 184 621 152 c 0
625 124 652 103 680 105 c 0
693 106 706 113 716 122 c 0
736 140 756 159 776 177 c 0
802 201 828 225 854 249 c 1
988 249 l 2
996 249 1004 241 1004 233 c 2
1004 100 l 2
1004 92 996 85 988 85 c 2
379 85 l 2
371 85 364 78 364 70 c 2
364 -120 l 2
364 -133 348 -140 338 -132 c 2
26 155 l 2
19 161 19 172 26 178 c 2
185 325 l 1
EndSplineSet
EndChar
EndChars
EndSplineFont

View file

@ -29,6 +29,14 @@ type Keysym int32
const (
// X11/keysymdef.h
xkBackSpace Keysym = 0xff08
xkDelete Keysym = 0xffff
xkHome Keysym = 0xff50
xkLeft Keysym = 0xff51
xkUp Keysym = 0xff52
xkRight Keysym = 0xff53
xkDown Keysym = 0xff54
xkEnd Keysym = 0xff57
xkSuperL Keysym = 0xffeb
// X11/XF86keysym.h
xf86xkAudioLowerVolume Keysym = 0x1008ff11
@ -57,6 +65,30 @@ func RuneToKeysym(runeValue rune) (Keysym, error) {
}
func KeyToKeysym(key Key) (Keysym, error) {
if key == KeyBackSpace {
return xkBackSpace, nil
}
if key == KeyDelete {
return xkDelete, nil
}
if key == KeyHome {
return xkHome, nil
}
if key == KeyLeft {
return xkLeft, nil
}
if key == KeyUp {
return xkUp, nil
}
if key == KeyRight {
return xkRight, nil
}
if key == KeyDown {
return xkDown, nil
}
if key == KeyEnd {
return xkEnd, nil
}
if key == KeySuper {
return xkSuperL, nil
}

View file

@ -43,6 +43,14 @@ var KEY_MEDIA_NEXT_TRACK = 5;
var KEY_BROWSER_BACK = 6;
var KEY_BROWSER_FORWARD = 7;
var KEY_SUPER = 8;
var KEY_LEFT = 9;
var KEY_RIGHT = 10;
var KEY_UP = 11;
var KEY_DOWN = 12;
var KEY_HOME = 13;
var KEY_END = 14;
var KEY_BACK_SPACE = 15;
var KEY_DELETE = 16;
var ws;
var pad;
@ -301,6 +309,7 @@ window.addEventListener("load", function() {
pad = document.getElementById("pad");
padlabel = document.getElementById("padlabel");
var keys = document.getElementById("keys");
var keys_pages = keys.querySelectorAll(".page");
var keyboard = document.getElementById("keyboard");
var fullscreenbutton = document.getElementById("fullscreenbutton");
var text = document.getElementById("text");
@ -311,11 +320,19 @@ window.addEventListener("load", function() {
});
}
function showKeys() {
function showKeys(page_index) {
if (page_index < 0 || keys_pages.length <= page_index) {
page_index = 0;
}
exitFullscreen();
showScene(keys);
if (history.state != "keys") {
history.pushState("keys", "");
for (var i = 0; i < keys_pages.length; i += 1) {
keys_pages[i].classList.toggle("hidden", i != page_index);
}
if ((history.state || "").split(":")[0] == "keys") {
history.replaceState("keys:" + page_index, "");
} else {
history.pushState("keys:" + page_index, "");
}
}
@ -352,7 +369,7 @@ window.addEventListener("load", function() {
};
document.getElementById("keysbutton").addEventListener("click", function() {
showKeys();
showKeys(0);
});
document.getElementById("keyboardbutton").addEventListener("click", function() {
showKeyboard();
@ -367,6 +384,15 @@ window.addEventListener("load", function() {
requestFullscreen(document.documentElement, {navigationUI: "hide"});
}
});
document.getElementById("switchbutton").addEventListener("click", function() {
var page_index = 0;
for (var i = 0; i < keys_pages.length; i += 1) {
if (!keys_pages[i].classList.contains("hidden")) {
page_index = i;
}
}
showKeys(page_index + 1);
});
[{id: "browserbackbutton", key: KEY_BROWSER_BACK},
{id: "superbutton", key: KEY_SUPER},
{id: "browserforwardbutton", key: KEY_BROWSER_FORWARD},
@ -375,11 +401,22 @@ window.addEventListener("load", function() {
{id: "nexttrackbutton", key: KEY_MEDIA_NEXT_TRACK},
{id: "volumedownbutton", key: KEY_VOLUME_DOWN},
{id: "volumemutebutton", key: KEY_VOLUME_MUTE},
{id: "volumeupbutton", key: KEY_VOLUME_UP}].forEach(function(o) {
{id: "volumeupbutton", key: KEY_VOLUME_UP},
{id: "backspacebutton", key: KEY_BACK_SPACE},
{id: "deletebutton", key: KEY_DELETE},
{id: "homebutton", key: KEY_HOME},
{id: "endbutton", key: KEY_END},
{id: "leftbutton", key: KEY_LEFT},
{id: "rightbutton", key: KEY_RIGHT},
{id: "upbutton", key: KEY_UP},
{id: "downbutton", key: KEY_DOWN}].forEach(function(o) {
document.getElementById(o.id).addEventListener("click", function() {
ws.send("k" + o.key);
});
});
document.getElementById("textkeysbutton").addEventListener("click", function() {
showKeys(1);
});
document.getElementById("sendbutton").addEventListener("click", function() {
if (text.value != "") {
ws.send("t" + text.value);
@ -389,8 +426,8 @@ window.addEventListener("load", function() {
});
window.onpopstate = function() {
if (authenticated) {
if (history.state == "keys") {
showKeys();
if ((history.state || "").split(":")[0] == "keys") {
showKeys(parseInt(history.state.split(":")[1]) || 0);
} else if (history.state == "keyboard") {
showKeyboard();
} else {

Binary file not shown.

View file

@ -25,9 +25,13 @@
</div>
<div id="keyboard" class="hidden">
<textarea id="text" cols=1 rows=1></textarea>
<div class="buttons">
<button id="textkeysbutton"></button>
<button id="sendbutton"></button>
</div>
</div>
<div id="keys" class="hidden">
<div class="page hidden">
<div class="buttons">
<button id="browserbackbutton"></button>
<button id="superbutton">🪟</button>
@ -43,4 +47,23 @@
<button id="volumemutebutton">🔇</button>
<button id="volumeupbutton">🔊</button>
</div>
</div>
<div class="page hidden">
<div class="buttons">
<button id="backspacebutton"></button>
<button disabled></button>
<button id="deletebutton"></button>
</div>
<div class="buttons">
<button id="homebutton"></button>
<button id="upbutton"></button>
<button id="endbutton"></button>
</div>
<div class="buttons">
<button id="leftbutton"></button>
<button id="downbutton"></button>
<button id="rightbutton"></button>
</div>
</div>
<button id="switchbutton"></button>
</div>

View file

@ -94,7 +94,7 @@ button:focus {
}
}
#pad > button {
#pad > button, #keys > button {
position: absolute;
max-width: 50%;
max-height: 50%;
@ -132,12 +132,19 @@ textarea {
padding: 0 0.5rem;
}
#sendbutton {
#keyboard .buttons {
display: flex;
flex-direction: row;
}
#keyboard .buttons > button {
border-bottom: none;
border-right: none;
border-left: none;
width: auto;
height: 1.5em;
}
#keyboard .buttons > button:last-of-type {
flex-grow: 1;
border-right: none;
}
@media (min-aspect-ratio: 4/3) {
@ -145,11 +152,18 @@ textarea {
flex-direction: row;
}
#sendbutton {
#keyboard .buttons {
flex-direction: column;
}
#keyboard .buttons > button {
border-top: none;
border-right: none;
border-left: 1px solid black;
width: 2em;
height: auto;
}
#keyboard .buttons > button:last-of-type {
border-top: 1px solid black;
}
}
@ -159,6 +173,13 @@ textarea {
justify-content: flex-end;
}
#switchbutton {
right: 0;
top: 0;
border-top: none;
border-right: none;
}
#keys .buttons {
display: flex;
justify-content: center;
@ -178,3 +199,8 @@ textarea {
width: 8rem;
min-width: 0;
}
#keys .buttons > button:disabled {
border-top: none;
border-bottom: none;
}