Customizable, 3D-Printable Keyguard for Grid-based, Free-form, and Hybrid AAC Apps on Tablets

Keyguards help individuals, with limited motor control, point reliably at regions of an app running on a tablet.
46
2816
2
7238
updated June 7, 2026

Description

PDF

Go here for instructions on how to use this keyguard designer.

Keyguards help individuals with limited ability to point reliably at regions of an app running on a tablet. They do this by physically separating access to specific regions of the tablet screen with rails that rise up from the surface of the tablet.  In this case, the apps are associated with Augmentative and Alternative Communication (AAC).

Some AAC apps organize their content into grids with menus and message bars, above or below the grid.  Others are much more creative and unpredictable in their layouts.  Hybrid apps are largely grid-based but their keyguards can be enhanced by selectively exposing specific regions of the app.  

The number of possible choices for tablet, tablet case, and AAC app, make it impossible to design a few keyguards that will meet everyone's needs.  To complicate matters further, users have lots of flexibility for how they organize the content in their apps.  All of this is to say that users must be given control over the keyguard design.  I know of only one 3D modeling tool where that is possible - without requiring that each user become an expert in 3D modeling.  That tool is OpenSCAD.  OpenSCAD has a "Customizer" feature that allows users to provide input to an OpenSCAD design that can shape the design to meet their specific needs.

We have created an OpenSCAD designer that allows the user to identify their tablet, describe how the AAC app is laid out, describe their case, and choose a mounting method to mount the keyguard directly to the tablet or to the case.  Once the keyguard is fully described, you can generate and save an STL file that you can print on your 3D printer.

Here are the changes introduced in the most recent designer versions:

7 June 2026 (Version 79): Added the Samsung Galaxy Tab Pro 12.2. Added slope_gap parameter to the Sloped Edge section — lifts the sloped face slightly off the case edge to create a gap for mounting tape. Ridge inner dimension now matches the cell opening exactly. Previously, the ridge was oversized; the inner opening was larger than the cell. Fixed. Ridges placed on merged cells now wrap the entire merge group. Previously, a ridge on a merged cell only wrapped the one cell. Now it detects horizontal, vertical, L-shaped, T-shaped, and cross-shaped merge groups and generates a single perimeter ridge around the whole group. Mounting method option renamed from "No Mount" to "- none -" (existing JSON presets self-heal in the Customizer GUI). Screenshot parameter renamed from screenshot_file to screenshot_filename. Laser-Cut + Raised Tabs and Laser-Cut + Clip-on Straps now produce a clear error message instead of silently generating incorrect output.

2 June 2026 (Version 78):  This version is all about supporting the new Volksswitch Keyguard Designer Web App.  You no longer need to install OpenSCAD to do keyguard design.  The web app will very likely be acceptable to the individuals who manage your company or district-managed computer.

20 Apr 2026 (Version 77):  Added the ability to put raised tabs on the top and bottom edges of a keyguard or keyguard frame.  Snap-in tabs for keyguards in frames are now a function of the screen area thickness rather than the keyguard thickness.  Outer arcs placed in the screen region sensitive to cell chamfer values, and those in the case region sensitive to keyguard chamfer. Outer arcs can be applied to a depth less than the full depth of the keyguard. Introduced a new design for the openings_and_additions.txt file to reduce confusion and add new capabilities. The keyguard designer supports both the new and the original versionssof the O&A file.

21 Mar 2026 (Version 76):  Changed the color used to display a keyguard frame along with its frame from red to transparent pink.  Added support for displaying where the frame will be split without first generating frame halves.  Added reporting in the console for how far in mm the split will occur from the left and top side of the keyguard/frame.  Moved horizontal and vertical "tightness of fit" options from the Special Actions and Settings section to the Keyguard Frame section - they now only affect the keyguard when it is mounted in a frame.  Changed the horizontal and vertical "tightness of fit" options to run from -1.0 to 1.0.  Changed the "insert tightness of fit" option to run from -1.0 to 1.0.  Changed the "tightness of dovetail joint" option to affect the second half of the keyguard rather than the first.  Changed the "tightness of dovetail joint" option to run from -0.5 to 0.5.  

07 Feb 2026 (Version 75):  Added support for additional case variables to the openings_and_additions.txt file. Added support for the Tobii-Dynavox I-13 system. Fixed bug that prevented outer arc cuts from appearing in the case and tablet regions. Added support for outer arcs to the case_additions section as "-" shapes. Added support for the Samsung Galaxy Tab S3 and the Tobii-Dynavox T15+. Changed the keyguard horizontal and vertical tightness of fit options to run from -10 to 10. Updated measurement data for the GridPad 12 and the Tobii-Dynavox I-110. Added support for displaying where the keyguard will be split without first generating keyguard halves. Fixed bug when upper message bar was 0 height but both the upper status bar and upper command bars were > 0 height. Adjusted the logic to ignore "App Layout in mm" values if any "App Layout in px" value is > 0. Moved "split keyguard" options from Special Actions and Settings to its own section. Added the ability to simultaneously display the keyguard with the frame, removed support for 999 "cheat code".

13 Dec 2025 (Version 74):  Fixed bug that prevented engraved/embossed text from working with split keyguards. Moved case measurements from Clip-on Straps Info section to the Case Info section. Moved "unequal side" case measurements from Clip-on Straps Info section to the Special Actions and Settings" section. Changed name of "starting height" in Raised Tabs Info" section to "raised tabs starting height". Added the ability to add a ramped edge to the keyguard as an option for mounting in a typical screen protector with sloping edges.

24 Sept 2025 (Version 73): Reworked the case_addition shapes so that "-" shapes are focused entirely on removing plastic. Removed the Accent 800 tablet and replaced it with the Accent 800-30 and Accent 800-40. Fixed bug where older Profiles reported untouched vector input as changes to the default profile. Added a "Maker World" flag to allow for 2-dimensional screenshots when run locally to prevent CGAL error.

17 August 2025 (Version 72): Added support for laser-cut text on laser-cut keyguards.  Fixed bug associated with engraving/embossing text in the case region.  Fixed bug that ignored case additions when the screen region was hidden.  Modified the program so it would be usable on the Maker World website - in "lite" form.  Inputs no longer have to be enclosed in square brackets.  A screenshot file must now be named "default.svg" in order to import into the designer.  Fixed a bug that allowed tablet openings to appear sloped when the type of keyguard is Laser-Cut.

23 July 2025 (Version 71): Improved the dimensional information for the Grid Pad 13.  Added support for an OPTIONAL "tablet_openings" vector to the openings_and_additions.txt file.  Added an option to manually set the length of the posts in a post-mounted keyguard/frame system.  Added basic support for the Smartbox Grid Pad 10s, 15, and Touch Pad.  Fixed bug associated with sliding dovetails vertically.  Added basic support for the Surface Go 2, 3, and 4.  Fixed bug that caused render step to fail if slide-in tabs were 2 mm in length and had 0 distance between them.

8 May 2025 (Version 70):  Removed the swap camera and home button option in the Tablet section and replaced it with a rotate tablet 180 degrees option, which allows for tablets with unequal borders to be rotated without changing the standard tablet data.  Updated all tablet data to generate screen sizes based on pixel counts and pixel sizes.  Fixed a bug in setting screen area thickness smaller than keyguard thickness that produced non-manifold STL files.  Added support for keyguards without cases that need to have different corner radii in different corners.   Modified the definition of dovetails for split keyguards to support choosing a specific dovetail size and adjusting their location. Added support for keyguard frames that go directly on a tablet without a case.   Changed the way that split keyguard frames are generated - now each half is generated independently.   Added support for setting the corner radii of a shelf independent of the corner radii of the keyguard or frame.   Removed support for recommending pre-version 66 Customizer changes in the Console pane.  Changed the behavior of setting cell heights and widths such that the value can't cause cells to overlap - a message is shown in the Console pane describing the mm and px values actually used by the designer.  Added an error message to the Console when someone uses the "other tablet" but doesn't provide sufficient data.   Fixed bug associated with splitting a keyguard frame for a portrait-oriented keyguard. 

  

Print Settings

Printer Brand:

Prusa

Printer:

i3 MK3

Rafts:

No

Resolution:

0.2 mm

Infill:

15%

Notes:

You generally don't need supports except when printing a keyguard with raised tabs.  You may need to use a brim to print clips.

How I Designed This

Designed entirely in OpenSCAD. keyguard.scad can be edited with any text editor to extend its capabilities. Contact me if you are interested in this.

Category: Tablet

Tags



Model origin

The author marked this model as their own original creation.

License