{"id":3868,"date":"2021-02-19T21:13:01","date_gmt":"2021-02-19T21:13:01","guid":{"rendered":"https:\/\/volksswitch.org\/?page_id=3868"},"modified":"2024-11-29T12:57:52","modified_gmt":"2024-11-29T19:57:52","slug":"keyguard-for-a-pc-keyboard","status":"publish","type":"page","link":"https:\/\/volksswitch.org\/index.php\/volks-devices\/customizable-3d-printable-keyguard-for-grid-based-free-form-and-hybrid-aac-apps-on-tablets\/keyguard-for-a-pc-keyboard\/","title":{"rendered":"Keyguard for a PC Keyboard"},"content":{"rendered":"\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3997\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg?resize=525%2C192&#038;ssl=1\" alt=\"\" width=\"525\" height=\"192\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg?w=1500&amp;ssl=1 1500w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg?resize=300%2C110&amp;ssl=1 300w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg?resize=1024%2C375&amp;ssl=1 1024w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg?resize=768%2C281&amp;ssl=1 768w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/a><\/p>\n<p>A keyguard for a PC keyboard is\u00a0fundamentally a sheet of plastic with an arbitrary set of openings cut in it.\u00a0 One for every key on the keyboard.\u00a0 That means it qualifies as a \u201cfree-form\u201d keyguard.\u00a0 <em>More about free-form keyguards\u00a0<a href=\"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/customizable-3d-printable-keyguard-for-free-form-aac-apps-on-tablets\/\" target=\"_blank\" rel=\"noopener\">here<\/a>.\u00a0 You must use OpenSCAD and the full version of the keyguard designer to design a free-form keyguard.\u00a0 To learn how to download OpenSCAD and launch the full version of the keyguard designer go\u00a0<a href=\"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/installing-openscad-on-your-computer-and-customizing-a-design\/\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/em><\/p>\n<p>Such keyguards are typically too wide to print on a 3D printer (<em>though, in a pinch, you might be able to split it in half and then glue the halves together after printing<\/em>).\u00a0 In the end, the keyguard will very probably be made of laser-cut (or CNC-milled) acrylic.<\/p>\n<h4>Designing the keyguard<\/h4>\n<p><span style=\"color: #ff0000;\"><strong>Note that the example below uses rounded-rectangle (rr) shaped openings.\u00a0 Such shapes are anchored at their lower-left-hand corner.\u00a0 Because this keyguard will be positioned completely above the keyboard and because it might be beneficial to easily reduce or expand the size of each opening without changing its relative location, it could be more effective to use &#8220;center-anchored&#8221; shapes like circles (c), or &#8220;center-anchored&#8221; rectangles and rounded rectangles (cr and crr).<\/strong><\/span><\/p>\n<p>As an example, we\u2019ll design a keyguard for this Dell keyboard:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/standard-keyboard.jpg?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3878 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/standard-keyboard.jpg?resize=525%2C195&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/standard-keyboard.jpg?w=1500&amp;ssl=1 1500w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/standard-keyboard.jpg?resize=300%2C111&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/standard-keyboard.jpg?resize=1024%2C380&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/standard-keyboard.jpg?resize=768%2C285&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"195\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Next we\u2019ll turn to the keyguard designer and select some items from the Customizer pane.<\/p>\n<p>First choose \u201cLaser-Cut\u201d from the \u201ctype of keyguard\u201d pull-down list:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/laser-cut-keyguard.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3879 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/laser-cut-keyguard.png?resize=483%2C114&amp;ssl=1\" sizes=\"auto, (max-width: 483px) 100vw, 483px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/laser-cut-keyguard.png?w=692&amp;ssl=1 692w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/laser-cut-keyguard.png?resize=300%2C71&amp;ssl=1 300w\" alt=\"\" width=\"483\" height=\"114\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Also choose \u201cno\u201d from the \u201cuse Laser Cutting best practices\u201d pull-down list so we have complete freedom.<\/p>\n<p>From the \u201cTablet\u201d section, choose \u201cblank\u201d from the very bottom of the \u201ctype of tablet\u201d pull-down list:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-type-of-tablet.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3880 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-type-of-tablet.png?resize=469%2C236&amp;ssl=1\" sizes=\"auto, (max-width: 469px) 100vw, 469px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-type-of-tablet.png?w=694&amp;ssl=1 694w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-type-of-tablet.png?resize=300%2C151&amp;ssl=1 300w\" alt=\"\" width=\"469\" height=\"236\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Ignore what you see in the display pane.\u00a0 We\u2019ve got a couple of necessary steps to take first.<\/p>\n<p>We\u2019re going to use tablet case measurements as the core of our design.\u00a0 That\u2019s where all the openings for the keys will be cut.\u00a0 So we\u2019ll focus on this part of the keyboard:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/keys-region-of-keyboard.jpg?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3881 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/keys-region-of-keyboard.jpg?resize=525%2C149&amp;ssl=1\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/keys-region-of-keyboard.jpg?w=1364&amp;ssl=1 1364w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/keys-region-of-keyboard.jpg?resize=300%2C85&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/keys-region-of-keyboard.jpg?resize=1024%2C291&amp;ssl=1 1024w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/keys-region-of-keyboard.jpg?resize=768%2C218&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"149\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>That region measures 118 mm high\u00a0and 432 mm wide:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/size-of-keys-region.jpg?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3882 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/size-of-keys-region.jpg?resize=525%2C189&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/size-of-keys-region.jpg?w=1459&amp;ssl=1 1459w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/size-of-keys-region.jpg?resize=300%2C108&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/size-of-keys-region.jpg?resize=1024%2C369&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/size-of-keys-region.jpg?resize=768%2C277&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"189\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Those measurements become the size of the case opening.\u00a0 Go to the Tablet Case section and choose \u201cyes\u201d from \u201chave a case\u201d.\u00a0 Now set the \u201cheight of the opening in case\u201d to 118 and the \u201cwidth of opening in case\u201d to 432 .\u00a0 Leave the \u201ccase opening corner radius\u201d set to 0:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/tablet-case-settings.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3883 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/tablet-case-settings.png?resize=448%2C169&amp;ssl=1\" sizes=\"auto, (max-width: 448px) 100vw, 448px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/tablet-case-settings.png?w=682&amp;ssl=1 682w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/tablet-case-settings.png?resize=300%2C113&amp;ssl=1 300w\" alt=\"\" width=\"448\" height=\"169\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Finally, set the \u201cnumber of columns\u201d in the \u201cGrid\u201d section to 0:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/no-columns.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3886 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/no-columns.png?resize=450%2C66&amp;ssl=1\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/no-columns.png?w=668&amp;ssl=1 668w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/no-columns.png?resize=300%2C44&amp;ssl=1 300w\" alt=\"\" width=\"450\" height=\"66\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Now the model in the display region looks more representative, though still not like much:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/starting-blank.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3888 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/starting-blank.png?resize=525%2C212&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/starting-blank.png?w=1266&amp;ssl=1 1266w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/starting-blank.png?resize=300%2C121&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/starting-blank.png?resize=1024%2C413&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/starting-blank.png?resize=768%2C310&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"212\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>It\u2019s 118 mm high and 432 mm wide.\u00a0 Here\u2019s what it looks like from above:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/from-above.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3889 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/from-above.png?resize=525%2C199&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/from-above.png?w=1266&amp;ssl=1 1266w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/from-above.png?resize=300%2C114&amp;ssl=1 300w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/from-above.png?resize=1024%2C389&amp;ssl=1 1024w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/from-above.png?resize=768%2C292&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"199\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>If you start cutting holes now you\u2019ll produce something that\u2019s pretty ragged:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-holes-cut.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3890 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-holes-cut.png?resize=525%2C159&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-holes-cut.png?w=1266&amp;ssl=1 1266w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-holes-cut.png?resize=300%2C91&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-holes-cut.png?resize=1024%2C310&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-holes-cut.png?resize=768%2C232&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"159\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>This will cause some problems in a little while from now and isn\u2019t what the final keyguard will look like, so before we start cutting we\u2019ll add a border around the \u201ccase opening\u201d:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3891 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border.png?resize=525%2C199&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border.png?w=2000&amp;ssl=1 2000w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border.png?resize=300%2C114&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border.png?resize=1024%2C388&amp;ssl=1 1024w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border.png?resize=768%2C291&amp;ssl=1 768w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border.png?resize=1536%2C581&amp;ssl=1 1536w\" alt=\"\" width=\"525\" height=\"199\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>This border is 10 mm wide and has a 10 mm corner radius (your keyguard may be different):<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/border-width.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3894 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/border-width.png?resize=375%2C332&amp;ssl=1\" sizes=\"auto, (max-width: 375px) 100vw, 375px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/border-width.png?w=1270&amp;ssl=1 1270w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/border-width.png?resize=300%2C266&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/border-width.png?resize=1024%2C907&amp;ssl=1 1024w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/border-width.png?resize=768%2C680&amp;ssl=1 768w\" alt=\"\" width=\"375\" height=\"332\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>This border is called a \u201ccase addition\u201d and the instruction to add it to your design gets placed in the \u201ccase_additions\u201d data structure in the openings_and_additions.txt file.\u00a0 The instruction looks like this (click on the image below to expand it):<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/case-additions-instruction1.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-3897 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/case-additions-instruction1.png?resize=525%2C33&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/case-additions-instruction1.png?w=1266&amp;ssl=1 1266w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/case-additions-instruction1.png?resize=300%2C19&amp;ssl=1 300w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/case-additions-instruction1.png?resize=1024%2C64&amp;ssl=1 1024w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/case-additions-instruction1.png?resize=768%2C48&amp;ssl=1 768w\" alt=\"\" width=\"669\" height=\"42\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>The border is created by adding a large rounded-rectangle ( \u201crr\u201d) to the case opening.\u00a0 The addition is 138 mm high (118 + 2*10) and 452 mm wide (432 + 2*10).\u00a0 It also has a 10 mm corner radius.\u00a0 You specify the location of this rounded rectangle by specifying the x and y coordinates of its center.\u00a0 When measuring for case additions, all measurements start at the lower left of the case opening.\u00a0 The center of the case opening is 216 mm (432\/2) from the left and 59 mm (118\/2) from the bottom.\u00a0 So the x value is 216 and the y value is 59 in the case_additions instruction.\u00a0<\/p>\n<p>Save the file and the display updates to look like this:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border-in-place.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3899 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border-in-place.png?resize=525%2C175&amp;ssl=1\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border-in-place.png?w=1266&amp;ssl=1 1266w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border-in-place.png?resize=300%2C100&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border-in-place.png?resize=1024%2C342&amp;ssl=1 1024w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/blank-with-border-in-place.png?resize=768%2C257&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"175\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>It will be hard to see the border until we start adding openings for each of the keys on the keyboard.\u00a0 Get a good metric ruler and place it on the keyboard.\u00a0 Align the left edge of the left-most key with the zero point on the ruler:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/horizontal-left-edge.jpg?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3902 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/horizontal-left-edge.jpg?resize=460%2C345&amp;ssl=1\" sizes=\"auto, (max-width: 460px) 100vw, 460px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/horizontal-left-edge.jpg?w=1500&amp;ssl=1 1500w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/horizontal-left-edge.jpg?resize=300%2C225&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/horizontal-left-edge.jpg?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/horizontal-left-edge.jpg?resize=768%2C576&amp;ssl=1 768w\" alt=\"\" width=\"460\" height=\"345\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>The left edge (i.e., the \u201cx\u201d value) for the \u201cShift\u201d key will be \u201c0\u201d.\u00a0 Measure the right edge to get the \u201cwidth\u201d of the Shift key:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/width-of-shift-key.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3904 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/width-of-shift-key.png?resize=454%2C340&amp;ssl=1\" sizes=\"auto, (max-width: 454px) 100vw, 454px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/width-of-shift-key.png?w=1500&amp;ssl=1 1500w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/width-of-shift-key.png?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/width-of-shift-key.png?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/width-of-shift-key.png?resize=768%2C576&amp;ssl=1 768w\" alt=\"\" width=\"454\" height=\"340\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Here, we&#8217;re measuring the top of the key to determine its width since that&#8217;s the easiest measurement to consistently take.\u00a0 You can add to this number later so that the opening will be wider and easier to get a finger through if necessary.<\/p>\n<p>Now, record the left side (i.e., \u201cx\u201d value) of the \u201cZ\u201d key:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side-of-Z-key.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3905 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side-of-Z-key.png?resize=448%2C336&amp;ssl=1\" sizes=\"auto, (max-width: 448px) 100vw, 448px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side-of-Z-key.png?w=1500&amp;ssl=1 1500w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side-of-Z-key.png?resize=300%2C225&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side-of-Z-key.png?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side-of-Z-key.png?resize=768%2C576&amp;ssl=1 768w\" alt=\"\" width=\"448\" height=\"336\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Measure the right side of the key and subtract the value for the left side to determine the \u201cwidth\u201d of the Z key:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side-of-Z-key.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3907 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side-of-Z-key.png?resize=439%2C329&amp;ssl=1\" sizes=\"auto, (max-width: 439px) 100vw, 439px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side-of-Z-key.png?w=1500&amp;ssl=1 1500w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side-of-Z-key.png?resize=300%2C225&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side-of-Z-key.png?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side-of-Z-key.png?resize=768%2C576&amp;ssl=1 768w\" alt=\"\" width=\"439\" height=\"329\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>You\u2019ll find that many of the keys (certainly the letter and number keys) are exactly the same size (width and height).<\/p>\n<p>Now measure the height of the bottom edge of each key (i.e., the \u201cy\u201d value) as well as the \u201cheight\u201d of each key:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/vertical-measurements.jpg?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3909 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/vertical-measurements.jpg?resize=462%2C347&amp;ssl=1\" sizes=\"auto, (max-width: 462px) 100vw, 462px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/vertical-measurements.jpg?w=1500&amp;ssl=1 1500w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/vertical-measurements.jpg?resize=300%2C225&amp;ssl=1 300w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/vertical-measurements.jpg?resize=1024%2C768&amp;ssl=1 1024w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/vertical-measurements.jpg?resize=768%2C576&amp;ssl=1 768w\" alt=\"\" width=\"462\" height=\"347\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>The \u201cy\u201d value for the keys in the bottom row will all be \u201c0\u201d.\u00a0 In fact, because the keys are nicely arranged in straight rows on most keyboards, the \u201cy\u201d value and \u201cheight\u201d value of all keys in the same row will be the same.<\/p>\n<p><span style=\"color: #ff0000;\"><em>Note that the keyguard designer won&#8217;t work for you if you have a keyboard that curves the placement of the keys or has odd shaped keys<\/em><\/span>.<\/p>\n<p>It can help to have a second person record the measurements while you read those values off of the ruler.<\/p>\n<p>We find it useful to record these values in a spreadsheet (in this example, Excel):<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/spreadsheet.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3912 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/spreadsheet.png?resize=525%2C349&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/spreadsheet.png?w=1070&amp;ssl=1 1070w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/spreadsheet.png?resize=300%2C200&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/spreadsheet.png?resize=1024%2C681&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/spreadsheet.png?resize=768%2C511&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"349\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Spreadsheets are very good at copying values from one cell to many others.\u00a0 They are also good at incrementing values in one column by a constant.\u00a0 That can be helpful if you want to move a row of key openings uniformly in one direction or another; or increase the size of the openings consistently for all keys.\u00a0 \u00a0Subtracting a constant from the values in the &#8220;x&#8221; column moves all openings to the left by that amount.\u00a0 Adding a constant to all the values in the &#8220;width&#8221; column increases the widths of all openings by that amount.<\/p>\n<p>Format your spreadsheet like the one above.\u00a0 The first column should contain values that start with a left square bracket, followed by a few letters contained in double quotes that represent the key.\u00a0 [See the comments on what makes a &#8220;good&#8221; double quote, below.]\u00a0 The designer ignores this first column but putting a label there will be very handy when you want to change a measurement for a particular key.<\/p>\n<p>The last column contains only a right square bracket.\u00a0 There is nothing in the column labeled \u201cother\u201d.\u00a0 The background colors are just there to help us easily see all the keys in the spreadsheet that correspond to a single row of the keyboard.<\/p>\n<p>Each row in the spreadsheet will become an instruction that goes in the \u201ccase_openings&#8221; data structure.\u00a0 To prepare the instructions the rows must be converted to plain text and a comma has to be inserted between the cells.\u00a0 The best way to do that is to use a word processor.\u00a0 We&#8217;ll copy the rows of the spreadsheet (except the header in row 1) and paste them into a word processor (in this case Word):<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-into-Word.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3917 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-into-Word.png?resize=525%2C348&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-into-Word.png?w=1074&amp;ssl=1 1074w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-into-Word.png?resize=300%2C199&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-into-Word.png?resize=1024%2C679&amp;ssl=1 1024w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-into-Word.png?resize=768%2C509&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"348\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Next, we\u2019ll convert the table to simple text by inserting a comma between the elements in each cell:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/convert-to-text.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3918 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/convert-to-text.png?resize=525%2C248&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/convert-to-text.png?w=1266&amp;ssl=1 1266w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/convert-to-text.png?resize=300%2C142&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/convert-to-text.png?resize=1024%2C484&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/convert-to-text.png?resize=768%2C363&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"248\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Now you have lines of plain text.\u00a0 You need to put another comma at the end of each line, after the right square bracket:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/add-comma-at-end-of-each-row.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3919 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/add-comma-at-end-of-each-row.png?resize=525%2C307&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/add-comma-at-end-of-each-row.png?w=1216&amp;ssl=1 1216w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/add-comma-at-end-of-each-row.png?resize=300%2C176&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/add-comma-at-end-of-each-row.png?resize=1024%2C600&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/add-comma-at-end-of-each-row.png?resize=768%2C450&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"307\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>In Microsoft Word, \u201c^p\u201d represents the paragraph mark at the end of each line.\u00a0 This will put a comma at the end of each data line including the last one (as well as an extra paragraph containing only a comma):<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/commas-after-each-line.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3920 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/commas-after-each-line.png?resize=472%2C139&amp;ssl=1\" sizes=\"auto, (max-width: 472px) 100vw, 472px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/commas-after-each-line.png?w=794&amp;ssl=1 794w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/commas-after-each-line.png?resize=300%2C89&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/commas-after-each-line.png?resize=768%2C227&amp;ssl=1 768w\" alt=\"\" width=\"472\" height=\"139\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Go in and remove the last two commas:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/removed-extra-commas.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3921 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/removed-extra-commas.png?resize=411%2C135&amp;ssl=1\" sizes=\"auto, (max-width: 411px) 100vw, 411px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/removed-extra-commas.png?w=710&amp;ssl=1 710w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/removed-extra-commas.png?resize=300%2C98&amp;ssl=1 300w\" alt=\"\" width=\"411\" height=\"135\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Copy all the lines in the document.<\/p>\n<p>Open the \u201copenings_and_additions.txt&#8221; file and select all the data lines in the case_openings data structure:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/data-lines-selected.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-3922 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/data-lines-selected.png?resize=525%2C61&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/data-lines-selected.png?w=1266&amp;ssl=1 1266w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/data-lines-selected.png?resize=300%2C35&amp;ssl=1 300w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/data-lines-selected.png?resize=1024%2C119&amp;ssl=1 1024w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/data-lines-selected.png?resize=768%2C89&amp;ssl=1 768w\" alt=\"\" width=\"646\" height=\"75\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Now paste the contents from the document:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-from-Word.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-3923 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-from-Word.png?resize=525%2C269&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-from-Word.png?w=1266&amp;ssl=1 1266w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-from-Word.png?resize=300%2C154&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-from-Word.png?resize=1024%2C524&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/pasted-from-Word.png?resize=768%2C393&amp;ssl=1 768w\" alt=\"\" width=\"636\" height=\"326\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>The data items don\u2019t align with their headings but they will still work just fine.\u00a0<\/p>\n<p>Save the\u00a0 \u201copenings_and_additions.txt\u201d file and return to keyguard.scad.\u00a0 Your model should update automatically:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/complete-keyguard.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3924 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/complete-keyguard.png?resize=525%2C194&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/complete-keyguard.png?w=1266&amp;ssl=1 1266w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/complete-keyguard.png?resize=300%2C111&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/complete-keyguard.png?resize=1024%2C378&amp;ssl=1 1024w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/complete-keyguard.png?resize=768%2C283&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"194\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>On the other hand, you may not see anything in the display pane and there will be an error message in the Console pane:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/error-message.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter  wp-image-3925 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/error-message.png?resize=525%2C40&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/error-message.png?w=1160&amp;ssl=1 1160w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/error-message.png?resize=300%2C23&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/error-message.png?resize=1024%2C78&amp;ssl=1 1024w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/error-message.png?resize=768%2C58&amp;ssl=1 768w\" alt=\"\" width=\"643\" height=\"49\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>One of two things has probably happened.\u00a0 Either you didn\u2019t remove the extra commas at the end of the data lines, or you\u2019ve accidently included some \u201cbad\u201d double quotes in your data lines.\u00a0 Document editors like to insert special characters that serve as double quotes:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/bad-double-quotes.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3926 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/bad-double-quotes.png?resize=139%2C32&amp;ssl=1\" alt=\"\" width=\"139\" height=\"32\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>You can spot these \u201csmart\u201d quotes because they don\u2019t look exactly the same.\u00a0 The one on the left slants to the right while the one on the right slants to the left.\u00a0 OpenSCAD doesn\u2019t like \u201cbad\u201d double quotes.\u00a0<\/p>\n<p>\u201cGood\u201d double quotes look like this where both are exactly the same:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/good-double-quotes.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3927 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/good-double-quotes.png?resize=134%2C33&amp;ssl=1\" alt=\"\" width=\"134\" height=\"33\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>The nice thing about using the spreadsheet to insert these quotes is that the spreadsheet only knows about \u201cgood\u201d double quotes.\u00a0 They then carry all the way through the document editor and into the openings_and_additions.txt file.<\/p>\n<p>Before you laser-cut your design, it\u2019s a good idea to test it.\u00a0 You can do that by 3D-printing the first two layers of your design and lay the print on top of your keyboard to test how well the openings in the keyguard align with the keyboard keys.\u00a0 Two layers are enough to create a sturdy mask that you can use to test the layout of your keyguard.<\/p>\n<p>You probably don\u2019t have a printer that can print a keyguard as large as this so expand the Special Actions and Settings section and set \u201cgenerate\u201d to \u201cfirst half of keyguard\u201d:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/first-half-of-keyguard-option.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3931 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/first-half-of-keyguard-option.png?resize=411%2C224&amp;ssl=1\" sizes=\"auto, (max-width: 411px) 100vw, 411px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/first-half-of-keyguard-option.png?w=648&amp;ssl=1 648w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/first-half-of-keyguard-option.png?resize=300%2C163&amp;ssl=1 300w\" alt=\"\" width=\"411\" height=\"224\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Now scroll to the bottom of the Special Actions and Settings section and set the \u201cfirst two layers only\u201d to \u201cyes:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/first-two-layers-option.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3932 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/first-two-layers-option.png?resize=446%2C90&amp;ssl=1\" sizes=\"auto, (max-width: 446px) 100vw, 446px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/first-two-layers-option.png?w=660&amp;ssl=1 660w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/first-two-layers-option.png?resize=300%2C60&amp;ssl=1 300w\" alt=\"\" width=\"446\" height=\"90\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Assuming that you set your slicer to print 0.2 mm layers, the print will complete after printing the first two layers \u2013 a total thickness of 0.4 mm.\u00a0<\/p>\n<p>The display pane will look like this:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/two-layers.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3933 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/two-layers.png?resize=472%2C299&amp;ssl=1\" sizes=\"auto, (max-width: 472px) 100vw, 472px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/two-layers.png?w=990&amp;ssl=1 990w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/two-layers.png?resize=300%2C190&amp;ssl=1 300w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/two-layers.png?resize=768%2C486&amp;ssl=1 768w\" alt=\"\" width=\"472\" height=\"299\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>If you see something that looks like a full thickness keyguard or something distorted like this:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/distorted-look.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3934 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/distorted-look.png?resize=525%2C261&amp;ssl=1\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/distorted-look.png?w=1266&amp;ssl=1 1266w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/distorted-look.png?resize=300%2C149&amp;ssl=1 300w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/distorted-look.png?resize=1024%2C509&amp;ssl=1 1024w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/distorted-look.png?resize=768%2C382&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"261\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Just use the mouse wheel to scroll out and away from the keyguard and you\u2019ll see the keyguard displayed properly.<\/p>\n<p>Render and export the STL of \u201chalf\u201d of the keyguard.\u00a0 Load the STL file into your slicer, set the layer height to 0.2 mm, and print.\u00a0 Repeat the process with the \u201csecond half of keyguard\u201d.<\/p>\n<p>You can compare the two-layer masks directly to the keyboard:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side.jpg?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3936 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side.jpg?resize=525%2C205&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side.jpg?w=1450&amp;ssl=1 1450w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side.jpg?resize=300%2C117&amp;ssl=1 300w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side.jpg?resize=1024%2C400&amp;ssl=1 1024w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-side.jpg?resize=768%2C300&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"205\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side.jpg?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3937 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side.jpg?resize=525%2C193&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side.jpg?w=1500&amp;ssl=1 1500w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side.jpg?resize=300%2C110&amp;ssl=1 300w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side.jpg?resize=1024%2C377&amp;ssl=1 1024w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/right-side.jpg?resize=768%2C283&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"193\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>Or, better yet, use a little masking tape to hold the two halves together and get an even better feel for the fit:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-and-right-joined.jpg?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3935 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-and-right-joined.jpg?resize=525%2C195&amp;ssl=1\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-and-right-joined.jpg?w=1500&amp;ssl=1 1500w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-and-right-joined.jpg?resize=300%2C112&amp;ssl=1 300w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-and-right-joined.jpg?resize=1024%2C381&amp;ssl=1 1024w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/left-and-right-joined.jpg?resize=768%2C286&amp;ssl=1 768w\" alt=\"\" width=\"525\" height=\"195\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>If you have a really large keyboard, or a really small printer \u2013 or if you just have a troublesome part of the keyboard where you need to repeatedly change the data and reprint and you don\u2019t want to take the time (or plastic) to print more than you absolutely need to \u2013 you can print an arbitrary region of the keyguard.<\/p>\n<p>You need to provide two pieces of information \u2013 the coordinates of lower left corner and upper right corner of the rectangle you\u2019d like to print.\u00a0 In the Special Actions and Settings section you will find two options:<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/trim-to-rectangle-options.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3940 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/trim-to-rectangle-options.png?resize=429%2C111&amp;ssl=1\" sizes=\"auto, (max-width: 429px) 100vw, 429px\" srcset=\"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/trim-to-rectangle-options.png?w=638&amp;ssl=1 638w, https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/trim-to-rectangle-options.png?resize=300%2C78&amp;ssl=1 300w\" alt=\"\" width=\"429\" height=\"111\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>The \u201ctrim to rectangle lower left\u201d option is where you put the x &amp; y coordinates of the lower left corner of the rectangle.\u00a0 The \u201ctrim to rectangle upper right\u201d is where you put the x &amp; y coordinates of the upper right corner of the rectangle.\u00a0 Be sure to separate the coordinates with a comma and put them between square brackets.<\/p>\n<p>When we apply these values to our example keyguard, we single out just region containing the arrow keys and the cursor positioning keys:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/trimmed-to-rectangle.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3943 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/trimmed-to-rectangle.png?resize=339%2C239&amp;ssl=1\" sizes=\"auto, (max-width: 339px) 100vw, 339px\" srcset=\"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/trimmed-to-rectangle.png?w=714&amp;ssl=1 714w, https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/trimmed-to-rectangle.png?resize=300%2C211&amp;ssl=1 300w\" alt=\"\" width=\"339\" height=\"239\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<p>To display the entire keyguard again, change both options back to \u201c[0,0]\u201d:<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/back-to-full-keyguard.png?ssl=1\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3944 jetpack-lazy-image jetpack-lazy-image--handled\" src=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/back-to-full-keyguard.png?resize=398%2C107&amp;ssl=1\" sizes=\"auto, (max-width: 398px) 100vw, 398px\" srcset=\"https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/back-to-full-keyguard.png?w=644&amp;ssl=1 644w, https:\/\/i1.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/back-to-full-keyguard.png?resize=300%2C81&amp;ssl=1 300w\" alt=\"\" width=\"398\" height=\"107\" data-recalc-dims=\"1\" data-lazy-loaded=\"1\" \/><\/a><\/p>\n<h4>&#8220;Rinse and Repeat&#8221;<\/h4>\n<p>Repeat this process of changing the data, printing masks, and comparing masks to keyboard, until you have just the fit and opening size that you want.<\/p>\n<p><em>Note that you can be a precise with your measurements as you want in the .txt files.\u00a0 The precision of your printer, laser-cutter, or CNC mill, set the limit for how precise the process can be.<\/em><\/p>\n<p>Now set \u201cgenerate\u201d in the Special Actions and Settings section to \u201cfirst layer for SVG\/DXF file\u201d.\u00a0 Render and export your model as an SVG file for laser-cutting.<\/p>\n<h4>Related Topics<\/h4>\n<ul>\n<li><a href=\"https:\/\/volksswitch.org\/index.php\/volks-devices\/customizable-3d-printable-keyguard-for-free-form-aac-apps-on-tablets\/\" target=\"_blank\" rel=\"noopener noreferrer\">Specifying a keyguard for a free-form (or hybrid) AAC app<\/a><\/li>\n<li><a href=\"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/non-rectangular-keyguard-perimeters\/\">Adding extra plastic to the outside edge of a keyguard<\/a><\/li>\n<li><a href=\"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/designing-a-keyguard-to-be-laser-cut\/\">Can I Laser-cut My Keyguard Design?<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A keyguard for a PC keyboard is\u00a0fundamentally a sheet of plastic with an arbitrary set of openings cut in it.\u00a0 One for every key on the keyboard.\u00a0 That means it qualifies as a \u201cfree-form\u201d keyguard.\u00a0 More about free-form keyguards\u00a0here.\u00a0 You must use OpenSCAD and the full version of the keyguard designer to design a free-form &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/volksswitch.org\/index.php\/volks-devices\/customizable-3d-printable-keyguard-for-grid-based-free-form-and-hybrid-aac-apps-on-tablets\/keyguard-for-a-pc-keyboard\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Keyguard for a PC Keyboard&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":17795,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"footnotes":""},"folder":[63],"class_list":["post-3868","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Keyguard for a PC Keyboard - Volksswitch<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Keyguard for a PC Keyboard - Volksswitch\" \/>\n<meta property=\"og:description\" content=\"A keyguard for a PC keyboard is\u00a0fundamentally a sheet of plastic with an arbitrary set of openings cut in it.\u00a0 One for every key on the keyboard.\u00a0 That means it qualifies as a \u201cfree-form\u201d keyguard.\u00a0 More about free-form keyguards\u00a0here.\u00a0 You must use OpenSCAD and the full version of the keyguard designer to design a free-form &hellip; Continue reading &quot;Keyguard for a PC Keyboard&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/\" \/>\n<meta property=\"og:site_name\" content=\"Volksswitch\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-29T19:57:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"18 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/volksswitch.org\\\/index.php\\\/volks-devices\\\/fully-customizable-3d-printable-aac-keyguard-for-tablets\\\/keyguard-for-a-pc-keyboard\\\/\",\"url\":\"https:\\\/\\\/volksswitch.org\\\/index.php\\\/volks-devices\\\/fully-customizable-3d-printable-aac-keyguard-for-tablets\\\/keyguard-for-a-pc-keyboard\\\/\",\"name\":\"Keyguard for a PC Keyboard - Volksswitch\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/volksswitch.org\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/volksswitch.org\\\/index.php\\\/volks-devices\\\/fully-customizable-3d-printable-aac-keyguard-for-tablets\\\/keyguard-for-a-pc-keyboard\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/volksswitch.org\\\/index.php\\\/volks-devices\\\/fully-customizable-3d-printable-aac-keyguard-for-tablets\\\/keyguard-for-a-pc-keyboard\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/volksswitch.org\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/final-keyguard.jpg\",\"datePublished\":\"2021-02-19T21:13:01+00:00\",\"dateModified\":\"2024-11-29T19:57:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/volksswitch.org\\\/index.php\\\/volks-devices\\\/fully-customizable-3d-printable-aac-keyguard-for-tablets\\\/keyguard-for-a-pc-keyboard\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/volksswitch.org\\\/index.php\\\/volks-devices\\\/fully-customizable-3d-printable-aac-keyguard-for-tablets\\\/keyguard-for-a-pc-keyboard\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/volksswitch.org\\\/index.php\\\/volks-devices\\\/fully-customizable-3d-printable-aac-keyguard-for-tablets\\\/keyguard-for-a-pc-keyboard\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/volksswitch.org\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/final-keyguard.jpg?fit=1500%2C549&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/volksswitch.org\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/final-keyguard.jpg?fit=1500%2C549&ssl=1\",\"width\":1500,\"height\":549},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/volksswitch.org\\\/index.php\\\/volks-devices\\\/fully-customizable-3d-printable-aac-keyguard-for-tablets\\\/keyguard-for-a-pc-keyboard\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/volksswitch.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Volks-Devices\",\"item\":\"https:\\\/\\\/volksswitch.org\\\/index.php\\\/volks-devices\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Keyguard for a PC Keyboard\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/volksswitch.org\\\/#website\",\"url\":\"https:\\\/\\\/volksswitch.org\\\/\",\"name\":\"Volksswitch\",\"description\":\"The People&#039;s Assistive Technology Devices\",\"publisher\":{\"@id\":\"https:\\\/\\\/volksswitch.org\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/volksswitch.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/volksswitch.org\\\/#organization\",\"name\":\"Volksswitch\",\"url\":\"https:\\\/\\\/volksswitch.org\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/volksswitch.org\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i2.wp.com\\\/volksswitch.org\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/Volksswitch-Company-Image.png?fit=2000%2C795&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i2.wp.com\\\/volksswitch.org\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/Volksswitch-Company-Image.png?fit=2000%2C795&ssl=1\",\"width\":2000,\"height\":795,\"caption\":\"Volksswitch\"},\"image\":{\"@id\":\"https:\\\/\\\/volksswitch.org\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Keyguard for a PC Keyboard - Volksswitch","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/","og_locale":"en_US","og_type":"article","og_title":"Keyguard for a PC Keyboard - Volksswitch","og_description":"A keyguard for a PC keyboard is\u00a0fundamentally a sheet of plastic with an arbitrary set of openings cut in it.\u00a0 One for every key on the keyboard.\u00a0 That means it qualifies as a \u201cfree-form\u201d keyguard.\u00a0 More about free-form keyguards\u00a0here.\u00a0 You must use OpenSCAD and the full version of the keyguard designer to design a free-form &hellip; Continue reading \"Keyguard for a PC Keyboard\"","og_url":"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/","og_site_name":"Volksswitch","article_modified_time":"2024-11-29T19:57:52+00:00","og_image":[{"url":"https:\/\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"18 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/","url":"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/","name":"Keyguard for a PC Keyboard - Volksswitch","isPartOf":{"@id":"https:\/\/volksswitch.org\/#website"},"primaryImageOfPage":{"@id":"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/#primaryimage"},"image":{"@id":"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/#primaryimage"},"thumbnailUrl":"https:\/\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg","datePublished":"2021-02-19T21:13:01+00:00","dateModified":"2024-11-29T19:57:52+00:00","breadcrumb":{"@id":"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/#primaryimage","url":"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg?fit=1500%2C549&ssl=1","contentUrl":"https:\/\/i0.wp.com\/volksswitch.org\/wp-content\/uploads\/2021\/02\/final-keyguard.jpg?fit=1500%2C549&ssl=1","width":1500,"height":549},{"@type":"BreadcrumbList","@id":"https:\/\/volksswitch.org\/index.php\/volks-devices\/fully-customizable-3d-printable-aac-keyguard-for-tablets\/keyguard-for-a-pc-keyboard\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/volksswitch.org\/"},{"@type":"ListItem","position":2,"name":"Volks-Devices","item":"https:\/\/volksswitch.org\/index.php\/volks-devices\/"},{"@type":"ListItem","position":3,"name":"Keyguard for a PC Keyboard"}]},{"@type":"WebSite","@id":"https:\/\/volksswitch.org\/#website","url":"https:\/\/volksswitch.org\/","name":"Volksswitch","description":"The People&#039;s Assistive Technology Devices","publisher":{"@id":"https:\/\/volksswitch.org\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/volksswitch.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/volksswitch.org\/#organization","name":"Volksswitch","url":"https:\/\/volksswitch.org\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/volksswitch.org\/#\/schema\/logo\/image\/","url":"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2018\/06\/Volksswitch-Company-Image.png?fit=2000%2C795&ssl=1","contentUrl":"https:\/\/i2.wp.com\/volksswitch.org\/wp-content\/uploads\/2018\/06\/Volksswitch-Company-Image.png?fit=2000%2C795&ssl=1","width":2000,"height":795,"caption":"Volksswitch"},"image":{"@id":"https:\/\/volksswitch.org\/#\/schema\/logo\/image\/"}}]}},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P9evBA-10o","_links":{"self":[{"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/pages\/3868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/comments?post=3868"}],"version-history":[{"count":41,"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/pages\/3868\/revisions"}],"predecessor-version":[{"id":18277,"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/pages\/3868\/revisions\/18277"}],"up":[{"embeddable":true,"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/pages\/17795"}],"wp:attachment":[{"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/media?parent=3868"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/volksswitch.org\/index.php\/wp-json\/wp\/v2\/folder?post=3868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}