Difference between revisions of "Final projects/Keyboard layouts"
| Line 1: | Line 1: | ||
| + | == Overview == | ||
For this final project option, you will need to develop additional keyboards for at least '''three''' of the following operating systems: | For this final project option, you will need to develop additional keyboards for at least '''three''' of the following operating systems: | ||
| − | * Windows | + | * [[#Windows|Windows]] |
| − | * macOS | + | * [[#macOS|macOS]] |
| − | * Android | + | * [[#Mobile keyboards|Android]] |
| − | * iOS | + | * [[#Mobile keyboards|iOS]] |
=== Mobile Keyboards === | === Mobile Keyboards === | ||
| Line 15: | Line 16: | ||
=== Windows === | === Windows === | ||
[https://msdn.microsoft.com/en-us/globalization/keyboardlayouts.aspx Microsoft Keyboard Layout Creator] is available for free from MS. I'm not sure whether it's compatible with Windows 10, but it works well for Windows 7. [https://ilgthegeek.wordpress.com/2010/05/31/editing-windows-custom-keyboard-layouts/ Instructions are available]. There are also a number of other utilities out there, but they seem to be mostly commercial products. | [https://msdn.microsoft.com/en-us/globalization/keyboardlayouts.aspx Microsoft Keyboard Layout Creator] is available for free from MS. I'm not sure whether it's compatible with Windows 10, but it works well for Windows 7. [https://ilgthegeek.wordpress.com/2010/05/31/editing-windows-custom-keyboard-layouts/ Instructions are available]. There are also a number of other utilities out there, but they seem to be mostly commercial products. | ||
| + | |||
| + | == Requirements == | ||
| + | * Publish a git repo accessible to everyone (not just Swarthmore users, e.g. use [http://github.com github.com]). | ||
| + | * Name the repo something obvious, like <code>xyz-keyboards</code>. | ||
| + | * Include one directory per OS, for a total of '''four directories''' ([[:Category:Keyboard layouts|the linux keyboard you made earlier in the semester]] and the three new ones) | ||
| + | * In each OS folder, include a '''working installable keyboard''' and instructions for how to install it (in an <code>INSTALL</code> file). | ||
| + | * For any keyboards that need to be compiled with other software, include the source file you created, and (in a <code>README</code> file) instructions for what software to get and how to compile it into a fresh installable keyboard. | ||
Revision as of 08:16, 1 February 2017
Overview
For this final project option, you will need to develop additional keyboards for at least three of the following operating systems:
Mobile Keyboards
The Divvun project has developed open source mobile keyboard layouts for iOS and Android. The code they use is available, but not well documented. You can browse their github organisation. You'll need the kbdgen tools, and giella-ime for Android keyboards and tasty-imitation-keyboard for iOS keyboards. You can also contact Sjur Moshagen for guidance, perhaps easiest is to find him on IRC (freenode#hfst, user sjnomos).
In order for the iOS keyboards to be released in the app store, you either need a [paid] dev key from Apple, or arrange with Sjur to have the keyboard released in
macOS
The best tool for developing keyboard layouts for macOS is SIL's Ukelele. It's fairly straightforward.
Windows
Microsoft Keyboard Layout Creator is available for free from MS. I'm not sure whether it's compatible with Windows 10, but it works well for Windows 7. Instructions are available. There are also a number of other utilities out there, but they seem to be mostly commercial products.
Requirements
- Publish a git repo accessible to everyone (not just Swarthmore users, e.g. use github.com).
- Name the repo something obvious, like
xyz-keyboards. - Include one directory per OS, for a total of four directories (the linux keyboard you made earlier in the semester and the three new ones)
- In each OS folder, include a working installable keyboard and instructions for how to install it (in an
INSTALLfile). - For any keyboards that need to be compiled with other software, include the source file you created, and (in a
READMEfile) instructions for what software to get and how to compile it into a fresh installable keyboard.