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 design 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.
This is a Thingiverse Customizer design but only for grid-based apps. Free-form and Hybrid apps require greater specification and visualization than Thingiverse's Customizer can support. For those keyguards you will need to download and install the latest version of OpenSCAD and a good text editor like Notepad++.
If you will be using OpenSCAD, the only files you need to download from here are called keyguard.scad and data.scad. All other files are just for illustration. You also need to go to https://wp.me/P9evBA-5b to learn how to customize the keyguard.
UPDATE 22 Jun 2018 (version 9): Combined functionality for both grid-based and free-form keyguards into a single designer. Added support rounding the corners of the keyguards, when they are placed in a case, to accommodate cases that have rounded corners on their openings. Can now create cell openings that are rounded-rectangles. Can limit the borders of a keyguard to the size of the screen for testing layouts.
UPDATE 12 Jun 2018 (version 8): Reduced the maximum slide-in tab width from 30 mm to 10 mm. Added the ability to merge circular cells horizontally and to merge both rectangular and circular cells vertically
UPDATE 25 May 2018 (version 7): Padding options have been moved to the Grid Layout section of the user interface to clarify that these affect only the grid region of the screen. Changed the width of the right border of the iPad 5th generation tablet to match width of the left border. Made some variable value changes so that it is easier to see the choices selected in the Thingiverse Customizer. Changed cover_home_button and cover_camera to display_home_button and display_camera because the original options were confusing.
UPDATE 20 May 2018 (version 6): Added support for controlling the slope of top or bottom edges of message and command bars.
UPDATE 8 May 2018 (version 5): You can print out a plug for one of the cells in the keyguard by choosing "cell cover" in the Tablet>generate pull-down. You can add a fudge factor to the height and width of the tablet to accommodate filaments that shrink slightly when printing. You can add add padding around the screen to make the keyguard stronger without affecting the grid and bars to account for cases that go right up to the edge of the screen
UPDATE 27 Apr 2018 (version 4): I've added a new version of the OpenSCAD file - keyguard v4.scad It provides support for circular cut-outs and puts an option to specify the shape of the cut-outs in the Customizer UI. At the same time, I've added support for covering one or more cells and support for merging a cell cut-out and the next cell cut-out.
UPDATE 25 Apr 2018 (version 3): I've added a new version of the OpenSCAD file - keyguard v3.scad. It has been rewritten to better support portrait mode and to use cuts to create openings to the screen surface rather than defining rails. This opens the door for openings with other geometries in the future - like circles and ovals. We fixed a bug in where padding appeared - put it around the grid rather than around the screen. We increased the depth of Velcro cut-outs to 3 mm, which roughly translates to 2 mm when printed. The cut for the home button is now made at 90 deg. to not encroach on the grid on tablets with narrow borders.
UPDATE 22 Apr 2018 (version 2): I've added a new version of the OpenSCAD file - keyguard v2.scad. It contains all the functionality of the original file and adds support for a new mounting method: "Clip-on Straps". As always, the website above is where you go to see how everything comes together.