[XKB][LINUX] Hebrew phonetic keyboard layout

A phonetic keyboard’s layout is a model layout for a foreign language following the phonetic of another keyboard like English, it means that when you type the English ‘B’, the keyboard will print that sound in the wanted language.

AZERTY Hebrew phonetic layout

Here are some the phonetic keyboard for Arabic, on Windows/Mac :

  • http://arabic.omaralzabir.com/
  • etc

And because I’m using Linux, this is a quick layout I have created (xkb configuration clause using the standard hebrew modern layout). I still need to organize the additional signs in a better way :

partial alphanumeric_keys
xkb_symbols "phebrew_AZERTY" {
 
    name[Group1]= "Hebrew (AZERTY phonetic)";
 
//AZERTY Keyboard : 
 
    key <AD01> { [ hebrew_aleph,     hebrew_finalpe        ]    };    // A */ +
    key <AD02> { [ hebrew_zain,    hebrew_zain        ]    };    // Z */
    key <AD03> { [ hebrew_ayin,    hebrew_ayin        ]    };    // E */
    key <AD04> { [ hebrew_resh,    hebrew_resh        ]    };    // R */
    key <AD05> { [ hebrew_taw,    hebrew_tet        ]    };    // T */ +
    key <AD06> { [ hebrew_yod,    hebrew_yod        ]    };    // Y */    
    key <AD07> { [ hebrew_waw,    hebrew_waw        ]   };     // u */ - W
    //key <AD08> { [                             ]    };     // I */
    key <AD09> { [ hebrew_waw,    hebrew_waw        ]    };     // O */ - U
    key <AD10> { [ hebrew_pe,    hebrew_finalpe    ]    };    // P */
 
 
    key <AC01> { [ hebrew_qoph,    hebrew_qoph        ]       };    // Q */
    key <AC02> { [ hebrew_zade,    hebrew_finalzade    ]       };    // S */ +
    key <AC03> { [ hebrew_dalet,    hebrew_dalet        ]       };    // D */
    //key <AC04> { [                     ]    };      // F */ - P
    key <AC05> { [ hebrew_gimel,    hebrew_gimel        ]       };    // G */
    key <AC06> { [ hebrew_he,    hebrew_he        ]       };    // H */
    key <AC07> { [ hebrew_chet,    hebrew_chet        ]    };    // J */
    key <AC08> { [ hebrew_kaph,     hebrew_finalkaph    ]    };    // K */ +
    key <AC09> { [ hebrew_lamed,    hebrew_lamed        ]       };    // L */
    key <AC10> { [ hebrew_mem,    hebrew_finalmem        ]       };    // M */
    //key <AC11> { [                     ]    };    // - */ +
 
 
    key <AB01> { [ hebrew_waw,    hebrew_waw        ]       };     // W */ - U    
    key <AB02> { [ hebrew_shin,    hebrew_shin        ]       };    // X */
    key <AB03> { [ hebrew_samech,    hebrew_samech        ]       };    // C */
    //key <AB04> { [                     ]       };     // V */ - ?
    key <AB05> { [ hebrew_bet,    hebrew_bet        ]       };    // B */
    key <AB06> { [ hebrew_nun,    hebrew_finalnun        ]    };     // N */ +
    //key <AB07> { [                     ]    };    // - */
 
 
    key.type[Group1] = "THREE_LEVEL";
    
    key <TLDE> { [ 0x10005b0    ]}; // Sheva
    key <AB10> { [ period,    question,  0x10005c3    ]}; // Sof Pasuq
  
    // The following may get overriden by the iso9995-3(basic101) symbols.
    // therefore they are included here. 
    // Including them isn't a great idea (for instance: what if group 1 uses
    // UK keyboard mapping, and maps shift-3 to sterling? This mapping won't
    // preserve that, and I'm not sure that this is a good feature.
    key <AE01> { [  0x10005b1    ]}; // H. Segol
    key <AE02> { [  0x10005b2    ]}; // H. Patah
    key <AE03> { [  0x10005b3    ]}; // H.  Qamats
    key <AE04> { [  0x10005b4    ]}; // Hiriq
    key <AE05> { [  0x10005b5    ]}; // Tsere
    key <AE06> { [  0x10005b6    ]}; // Segol
    key <AE07> { [  0x10005b7    ]}; // Patah
    key <AE08> { [  0x10005b8    ]}; // Qamats
    // Mirrored: 
    key <AE09> { [  0x10005c2    ]}; // Sin dot
    key <AE10> { [  0x10005c1    ]}; // Shin dot
    key <AE11> { [ minus,  0x10005b9    ]}; // Holam
    key <AE12> { [ equal,  0x10005bc    ]}; // Dagesh/Shuruq
 
    // Mirrored: 
    key <AD11> { [ bracketright, 0x10005bf    ]}; // Rafe
    key <AD12> { [ bracketleft,  0x10005bd    ]}; // Meteg
                                      
    key <BKSL> { [ 0x10005bb    ]}; // Qubuts    
 
    include "level3(ralt_switch)"
};

 

Add this layout to the file /usr/share/X11/xkb/symbols/il or create a new configuration file.

cd /usr/share/X11/xkb/symbols/

sudo geany il

 

to update the content and to see the new layout :

sudo rm /var/lib/xkb/*.xkm && sudo dpkg-reconfigure xkb-data && gkbd-keyboard-display -l il

 

I will insh’Allah create a layout for hebrew from Arabic but also phonetic layouts for Arabic and Hebrew following AZERTY/QWERTY keyboards.

Comments

No Comments - Leave a comment

Leave a comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


Welcome , today is lundi, septembre 25, 2017