/ergoarabic

Ergonomic Arabic Keyboard Layout

ErgoArabic: Improved Arabic Keyboard Layout

This project provides a more ergonomic and sensible Arabic keyboard Layout.

https://github.com/darkstego/ergoarabic/blob/media/ergoarabic.png

Why not use the default Arabic layout

I dislike the default (PC) arabic layout. I feel the layout suffers from several design issues including:

Wasting a dedicated key for ‘لا’.

This is a remnant of early arabic typewriters where each shape of letter needed its own key. But since computers reshape the letters as you type, there is no need to give letter combinations their own key. There is nothing special about the ‘لا’. As far as two letter combinations ‘ال’ is roughly 8 times more common and other combinations like ‘ية’ occurs just as frequently.

There are other layouts that remove the unnecessary ‘لا’ like (mac) and (OLPC). But they suffer from some of the other issues that

Poor Ergonomics

In the normal Arabic layout, many keys are too far from the center of the keyboard. Common letters like ‘د’ and ‘ج’ are at outer edge of the typing area and ‘ذ’ is in its own timezone. This requires a lot of pinkie stretching while typing that increases the risk of RSI.

Symbol shuffling

A lot of symbols like brackets, grave, tilde are shuffled around from their usual positions in the Arabic keyboard. This makes it unnecessarily more difficult to learn the keyboard layout if you already know the normal English QWERTY layout.

Why this layout

Better Ergonomics.

The entire layout falls in the middle 30 keys, reducing the need to stretch in order to reach keys. Commonly used letters like ‘و’ are moved from the bottom row to the more ergonomically friendly top row. While some letters are moved to the shift set, they are infrequently used ones, combined they are less than 2% frequency which is less than use of shift for capitalization in English.

Familiarity

The layout isn’t a huge departure from the PC/Mac layouts. It retains the home row keys that they both share. So learning this layout still makes it relatively easy to use other layouts in places like virtual keyboards on phones. Also, the symbols and punctuation keys are retained from the QWERTY keyboard.

Easy to learn

The familiarity of this setup, logical pairings of letters and their shift set and keeping the layout to the central 30 keys should make this layout easier to learn than the alternative PC/Mac ones.

Completeness

This layout provides all the symbols in both PC and Mac Layouts without the need to go to third and fourth levels in the layouts. That includes some symbols only found on the Mac like the Guillemets «» and those only found on PC like multiplication (×) and division (÷).

How to install

Linux

Easy Method

If Your System has xkeyboard-config version 2.34 or later you don’t have to do anything as ergoarabic is included. Just select it as a variant under the Arabic language layout. You may need to enable the option to expose extra keyboard layouts for it to show up depending on your Desktop Environment.

Manual Method

  1. Download ergoarabic_xkb file
    wget https://raw.githubusercontent.com/darkstego/ergoarabic/main/ergoarabic_xkb
        
  2. Append /usr/share/X11/xkb/symbols/ara with ergoarabic_xkb
    cat ergoarabic_xkb | sudo tee -a /usr/share/X11/xkb/symbols/ara 
        
  3. Download ergoarabic_evdev.xml file
    wget https://raw.githubusercontent.com/darkstego/ergoarabic/main/ergoarabic_evdev.xml
        
  4. Insert contents of ergoarabic_evdev.xml to /usr/share/X11/xkb/rules/evdev.xml in the Arabic section add:
    sudo sed -i.backup '/Arabic (Macintosh)/,/variant/!b;/variant/r ergoarabic_evdev.xml' /usr/share/X11/xkb/rules/evdev.xml 
        
  5. Add Layout using Desktop Environment’s layout Selector (Restart might be required if layout doesn’t appear on the list)

Windows

Easy Method

  1. Download and extract ergoarabic-win.
  2. Run the Setup File.

If the layout doesn’t show updoesn’t show up, try restarting

Manual Method

  1. Download, install and run Microsoft Keyboard Layout Creator.
  2. Go to File -> Load Existing Keyboard.
  3. Select Arabic (101).
  4. Replace All Characters with those found here for normal and shift-key sets.
  5. Got to Project -> Build DLL and Setup Package.
  6. Open newly created package folder and run Setup.
  7. If keyboard layout isn’t showing up after install, restart the PC.

Mac

Easy Method

  1. Download and Extract ergoarabic-macos.
  2. Move extracted Bundle to ~/Library/Keyboard Layouts/ or /Library/Keyboard Layouts to make layout available only to user or globably, respectively.
  3. Select New Layout from System Preferences > Keyboard > Input Sources.

Manual Method

  1. Download, install and run Ukelele
  2. Go to File -> New Based On.
  3. Select Arabic.
  4. Replace All Characters with those found here for normal and shift-key sets.
  5. Go to File -> Save As, Save as Bundle.
  6. In Finder, Click on the newly created bundle to install the layout.
  7. Select New Layout from System Preferences > Keyboard > Input Sources.