Difference between revisions of "Abush1 nrith1 and ybai1/Final Project"
(→For Mac) |
(→Design) |
||
| (13 intermediate revisions by 3 users not shown) | |||
| Line 9: | Line 9: | ||
For more information, check out the keyboard layout page: [https://wikis.swarthmore.edu/ling073/Uyghur/Keyboard Uyghur Keyboard Layout] | For more information, check out the keyboard layout page: [https://wikis.swarthmore.edu/ling073/Uyghur/Keyboard Uyghur Keyboard Layout] | ||
| + | |||
{{kbdrow1|{{kbdkey|`|~||}} {{kbdkey|1|!}} {{kbdkey|2|@}} {{kbdkey|3|#}} {{kbdkey|4|$}} {{kbdkey|5|%}} {{kbdkey|6|^}} {{kbdkey|7|&}} {{kbdkey|8|*}} {{kbdkey|9|)}} {{kbdkey|0|(}} {{kbdkey|ژ|-|_}} {{kbdkey|=|+}} }} | {{kbdrow1|{{kbdkey|`|~||}} {{kbdkey|1|!}} {{kbdkey|2|@}} {{kbdkey|3|#}} {{kbdkey|4|$}} {{kbdkey|5|%}} {{kbdkey|6|^}} {{kbdkey|7|&}} {{kbdkey|8|*}} {{kbdkey|9|)}} {{kbdkey|0|(}} {{kbdkey|ژ|-|_}} {{kbdkey|=|+}} }} | ||
{{kbdrow2|{{kbdkey|چ}} {{kbdkey|ۋ}} {{kbdkey|ﯶ}} {{kbdkey|ر}} {{kbdkey|ت}} {{kbdkey|ي}} {{kbdkey|ﯰ}} {{kbdkey|ﯲ}} {{kbdkey|ئو}} {{kbdkey|پ}} {{kbdkey|ڭ|»|]|} }} {{kbdkey|ج|«|[|{}} {{kbdkey|ف|\|{{!}}}} }} | {{kbdrow2|{{kbdkey|چ}} {{kbdkey|ۋ}} {{kbdkey|ﯶ}} {{kbdkey|ر}} {{kbdkey|ت}} {{kbdkey|ي}} {{kbdkey|ﯰ}} {{kbdkey|ﯲ}} {{kbdkey|ئو}} {{kbdkey|پ}} {{kbdkey|ڭ|»|]|} }} {{kbdkey|ج|«|[|{}} {{kbdkey|ف|\|{{!}}}} }} | ||
| Line 23: | Line 24: | ||
==For Mac== | ==For Mac== | ||
| − | + | Our Mac keyboard layout binds hamza to initial vowel forms for insertion but not deletion. To implement it, download [https://karabiner-elements.pqrs.org/ karabiner elements]. | |
| + | |||
| + | Next, download this json file: [[File:Karabiner.json]]. | ||
| + | |||
| + | Move the json file to the config folder with this terminal command: cp ~/Downloads/karabiner.json ~/.config/karabiner/karabiner.json | ||
| + | |||
| + | If you haven't already, get the existing Uyghur keyboard layout from the keyboards section of the Mac system settings. | ||
| + | |||
| + | Lastly, open karabiner elements, go to the misc tab, and press the button to copy current configuration to default configuration. | ||
| + | |||
| + | ==For Linux== | ||
| + | Our Linux keyboard can be downloaded from github: https://github.swarthmore.edu/Ling073-sp25/ling073-uig-keyboard. Our documentation is on the wiki page: https://wikis.swarthmore.edu/ling073/Uyghur/Keyboard. | ||
| + | |||
| + | The keyboard maps all keys to their new location, and also binds hamza to initial vowel forms for input, and sometimes for delete although it is somewhat finicky. | ||
| + | |||
| + | ==For ChromeOS== | ||
| + | We created custom manifest and background files for an uyghur language extension that derives from the existing chrome keyboard, but implements our new keyboard layout. In order to install, download the files off the github and put them in a folder. Then, follow the instructions in the README to finish installing the extension. | ||
| + | |||
| + | https://github.com/aiperibush/uig-keyboards/blob/main/README.md | ||
| + | |||
| + | ==Evaluation== | ||
| + | For the evaluation of our keyboard suite, we had two native speakers of uyghur test the new keyboard. Both tested the MacOS version of the keyboard due to lack of access to other operating systems. They reported some initial difficulties adjusting to the new layout, but ultimately preferred having all the characters on the same level of the keyboard rather than needing to use the shift key. They had slightly worse typing speeds with our new keyboard, with 21 WPM and 32 WPM for the existing keyboard and 20 WPM and 29 WPM for the new keyboard, but it's hard to assess the significance of this because they haven't had the time to fully adjust to the new keyboard's layout yet. | ||
| + | |||
| + | For future work towards improving the keyboard, further evaluation may also be conducted with the specific community to gain further feedback, especially from the native speakers. | ||
| + | |||
| + | ==License== | ||
| + | |||
| + | ''MIT License'' | ||
| + | |||
| + | Copyright (c) 2025 Aiperi Bush, Yuxuan Bai, and Nyvisalsnuk Rith | ||
| + | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | ||
| + | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | ||
| + | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
[[Category:Sp25_FinalProjects]] | [[Category:Sp25_FinalProjects]] | ||
Latest revision as of 23:17, 15 May 2025
For our final project, we've developed a keyboard suite for Uyghur Language across multiple operating systems.
Design
To make the keyboard more accessible to users, we made the following changes:
- Move ڭ to the side to make room for the vowel ئۆ
- Centralized vowels and sidelined uncommon characters like ف
- Implemented context-sensitive vowel initials (e.g. ئۆ in place of ۆ at the beginning of words) w/o additional keystrokes.
- Implemented auto-deletion of initials with one keystroke
For more information, check out the keyboard layout page: Uyghur Keyboard Layout
`
1
2
3
4
5
6
7
8
9
0
ژ
_
=
چ
ۋ
ﯶ
ر
ت
ي
ﯰ
ﯲ
ئو
پ
ڭ
]
ج
[
ف
|
ھ
س
د
ئا
ئە
ئى
ق
ك
ل
گ
:
خ
"
ز
ش
غ
ﯴ
ب
ن
م
،
.
/
For Windows
Since MSKLC has no option for context sensitive input like ibus has, we are unable to input the vowels with a hamza and without a hamza using the same key, the hamza versions are for now just shift + vowel. Everything else is identical as the layout we have on the wiki for the keyboard layout assignment. None of the non-essential keys work, like colons and brackets. No alt-gr needed.
To get this to work you might need to install msklc 1.4 on your computer: https://www.microsoft.com/en-us/download/details.aspx?id=102134. It downloads a file that should be extracted, then there is a setup that can be run.
We have attached the setup: https://drive.google.com/file/d/1jSao7_D5xyspmYA3LvyhEyakxuGmi6AX/view?usp=sharing here. Download, unzip, click the file named setup and run as administrator. If you are on windows 10 or 11, then after the setup the keyboard should show up as English (US) - Uyghur w/ Hamza as shift. This is just a naming bug. If it doesn't show up, restart your computer.
For Mac
Our Mac keyboard layout binds hamza to initial vowel forms for insertion but not deletion. To implement it, download karabiner elements.
Next, download this json file: File:Karabiner.json.
Move the json file to the config folder with this terminal command: cp ~/Downloads/karabiner.json ~/.config/karabiner/karabiner.json
If you haven't already, get the existing Uyghur keyboard layout from the keyboards section of the Mac system settings.
Lastly, open karabiner elements, go to the misc tab, and press the button to copy current configuration to default configuration.
For Linux
Our Linux keyboard can be downloaded from github: https://github.swarthmore.edu/Ling073-sp25/ling073-uig-keyboard. Our documentation is on the wiki page: https://wikis.swarthmore.edu/ling073/Uyghur/Keyboard.
The keyboard maps all keys to their new location, and also binds hamza to initial vowel forms for input, and sometimes for delete although it is somewhat finicky.
For ChromeOS
We created custom manifest and background files for an uyghur language extension that derives from the existing chrome keyboard, but implements our new keyboard layout. In order to install, download the files off the github and put them in a folder. Then, follow the instructions in the README to finish installing the extension.
https://github.com/aiperibush/uig-keyboards/blob/main/README.md
Evaluation
For the evaluation of our keyboard suite, we had two native speakers of uyghur test the new keyboard. Both tested the MacOS version of the keyboard due to lack of access to other operating systems. They reported some initial difficulties adjusting to the new layout, but ultimately preferred having all the characters on the same level of the keyboard rather than needing to use the shift key. They had slightly worse typing speeds with our new keyboard, with 21 WPM and 32 WPM for the existing keyboard and 20 WPM and 29 WPM for the new keyboard, but it's hard to assess the significance of this because they haven't had the time to fully adjust to the new keyboard's layout yet.
For future work towards improving the keyboard, further evaluation may also be conducted with the specific community to gain further feedback, especially from the native speakers.
License
MIT License
Copyright (c) 2025 Aiperi Bush, Yuxuan Bai, and Nyvisalsnuk Rith
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.