| # generated from XKB map ar | 
 | include common | 
 | map 0x401 | 
 | exclam 0x02 shift | 
 | at 0x03 shift | 
 | numbersign 0x04 shift | 
 | dollar 0x05 shift | 
 | percent 0x06 shift | 
 | asciicircum 0x07 shift | 
 | ampersand 0x08 shift | 
 | asterisk 0x09 shift | 
 | parenleft 0x0a shift | 
 | parenright 0x0b shift | 
 | minus 0x0c | 
 | underscore 0x0c shift | 
 | equal 0x0d | 
 | plus 0x0d shift | 
 | Arabic_dad 0x10 altgr | 
 | Arabic_fatha 0x10 shift altgr | 
 | Arabic_sad 0x11 altgr | 
 | Arabic_fathatan 0x11 shift altgr | 
 | Arabic_theh 0x12 altgr | 
 | Arabic_damma 0x12 shift altgr | 
 | Arabic_qaf 0x13 altgr | 
 | Arabic_dammatan 0x13 shift altgr | 
 | Arabic_feh 0x14 altgr | 
 | UFEF9 0x14 shift altgr | 
 | Arabic_ghain 0x15 altgr | 
 | Arabic_hamzaunderalef 0x15 shift altgr | 
 | Arabic_ain 0x16 altgr | 
 | grave 0x16 shift altgr | 
 | Arabic_ha 0x17 altgr | 
 | division 0x17 shift altgr | 
 | Arabic_khah 0x18 altgr | 
 | multiply 0x18 shift altgr | 
 | Arabic_hah 0x19 altgr | 
 | Arabic_semicolon 0x19 shift altgr | 
 | bracketleft 0x1a | 
 | braceleft 0x1a shift | 
 | Arabic_jeem 0x1a altgr | 
 | bracketright 0x1b | 
 | braceright 0x1b shift | 
 | Arabic_dal 0x1b altgr | 
 | Arabic_sheen 0x1e altgr | 
 | backslash 0x1e shift altgr | 
 | Arabic_seen 0x1f altgr | 
 | Arabic_yeh 0x20 altgr | 
 | bracketleft 0x20 shift altgr | 
 | Arabic_beh 0x21 altgr | 
 | bracketright 0x21 shift altgr | 
 | Arabic_lam 0x22 altgr | 
 | UFEF7 0x22 shift altgr | 
 | Arabic_alef 0x23 altgr | 
 | Arabic_hamzaonalef 0x23 shift altgr | 
 | Arabic_teh 0x24 altgr | 
 | Arabic_tatweel 0x24 shift altgr | 
 | Arabic_noon 0x25 altgr | 
 | Arabic_comma 0x25 shift altgr | 
 | Arabic_meem 0x26 altgr | 
 | slash 0x26 shift altgr | 
 | semicolon 0x27 | 
 | colon 0x27 shift | 
 | Arabic_kaf 0x27 altgr | 
 | apostrophe 0x28 | 
 | quotedbl 0x28 shift | 
 | Arabic_tah 0x28 altgr | 
 | grave 0x29 | 
 | asciitilde 0x29 shift | 
 | Arabic_thal 0x29 altgr | 
 | Arabic_shadda 0x29 shift altgr | 
 | backslash 0x2b | 
 | bar 0x2b shift | 
 | less 0x2b altgr | 
 | greater 0x2b shift altgr | 
 | Arabic_hamzaonyeh 0x2c altgr | 
 | asciitilde 0x2c shift altgr | 
 | Arabic_hamza 0x2d altgr | 
 | Arabic_sukun 0x2d shift altgr | 
 | Arabic_hamzaonwaw 0x2e altgr | 
 | Arabic_kasra 0x2e shift altgr | 
 | Arabic_ra 0x2f altgr | 
 | Arabic_kasratan 0x2f shift altgr | 
 | UFEFB 0x30 altgr | 
 | UFEF5 0x30 shift altgr | 
 | Arabic_alefmaksura 0x31 altgr | 
 | Arabic_maddaonalef 0x31 shift altgr | 
 | Arabic_tehmarbuta 0x32 altgr | 
 | apostrophe 0x32 shift altgr | 
 | comma 0x33 | 
 | less 0x33 shift | 
 | Arabic_waw 0x33 altgr | 
 | period 0x34 | 
 | greater 0x34 shift | 
 | Arabic_zain 0x34 altgr | 
 | slash 0x35 | 
 | question 0x35 shift | 
 | Arabic_zah 0x35 altgr | 
 | Arabic_question_mark 0x35 shift altgr |