/layouts/arabic.js

https://github.com/Envoid/Keyboard · JavaScript · 203 lines · 178 code · 6 blank · 19 comment · 1 complexity · 063c78c0755647de779b074bb16f96e4 MD5 · raw file

  1. /* Arabic keyboard layouts
  2. * contains layout: 'arabic-azerty', 'arabic-qwerty-1', 'arabic-qwerty-2', 'arabic-qwerty-3', 'arabic-qwerty-4'
  3. *
  4. * To use:
  5. * Point to this js file into your page header: <script src="layouts/arabic.js" type="text/javascript"></script>
  6. * Initialize the keyboard using: $('input').keyboard({ layout: 'arabic-azerty' });
  7. *
  8. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  9. */
  10. /* based on http://ascii-table.com/keyboard.php/462 */
  11. $.keyboard.layouts['arabic-azerty'] = {
  12. 'default' : [
  13. '\u00b2 & \u00e9 " \' ( - \u00e8 _ \u00e7 \u00e0 ) = {bksp}',
  14. "{tab} a z e r t y u i o p ` $",
  15. "q s d f g h j k l m \u00f9 \u066d {enter}",
  16. "{shift} < w x c v b n , ; : ! {shift}",
  17. "{accept} {alt} {space} {alt} {cancel}"
  18. ],
  19. 'shift' : [
  20. "\u00b2 1 2 3 4 5 6 7 8 9 0 \u00b0 + {bksp}",
  21. "{tab} A Z E R T Y U I O P \u0308 \u00a3",
  22. "Q S D F G H J K L M \u066a \u00b5 {enter}",
  23. "{shift} > W X C V B N ? . / \u00a7 {shift}",
  24. "{accept} {alt} {space} {alt} {cancel}"
  25. ],
  26. 'alt' : [
  27. '> & \u00e9 # { [ | \u0300 \\ ^ @ ] } {bksp}',
  28. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f',
  29. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 \u0630 {enter}',
  30. '{shift} \u0640 \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  31. '{accept} {alt} {space} {alt} {cancel}'
  32. ],
  33. 'alt-shift' : [
  34. '< 1 2 3 4 5 6 7 8 9 0 \u00b0 + {bksp}',
  35. '{tab} \u064e \u064b \u064f \u064c \ufef9 \u0625 \u0060 \u00f7 \u00d7 \u061b \u062c \u00a4',
  36. '\\ \u0633 [ ] \ufef7 \u0623 \u0640 \u060c / : \u00a8 \u0651 {enter}',
  37. '{shift} | ~ \u0652 \u0650 \u064d \ufef5 \u0622 \' , . \u061f {shift}',
  38. '{accept} {alt} {space} {alt} {cancel}'
  39. ]
  40. };
  41. /* based on http://ascii-table.com/keyboard.php/470 */
  42. $.keyboard.layouts['arabic-qwerty-1'] = {
  43. 'default' : [
  44. '` 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  45. "{tab} q w e r t y u i o p [ ] \\",
  46. "a s d f g h j k l ; ' {enter}",
  47. "{shift} z x c v b n m , . / {shift}",
  48. "{accept} {alt} {space} {alt} {cancel}"
  49. ],
  50. 'shift' : [
  51. "~ ! @ # $ % ^ & * ( ) _ + {bksp}",
  52. "{tab} Q W E R T Y U I O P { } |",
  53. 'A S D F G H J K L : " {enter}',
  54. "{shift} Z X C V B N M < > ? {shift}",
  55. "{accept} {alt} {space} {alt} {cancel}"
  56. ],
  57. 'alt' : [
  58. '\u0630 \u0661 \u0662 \u0663 \u0664 \u0665 \u0666 \u0667 \u0668 \u0669 \u0660 - = {bksp}',
  59. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f \\',
  60. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 {enter}',
  61. '{shift} \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  62. '{accept} {alt} {space} {alt} {cancel}'
  63. ],
  64. 'alt-shift' : [
  65. '\u0651 ! @ # $ % ^ & * ( ) _ + {bksp}',
  66. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u00f7 \u00d7 \u061b > < |',
  67. '\u0634 \u0633 \u064a \u0628 \u0644 \u0623 \u0640 \u060c / : " {enter}',
  68. '{shift} \u0626 \u0621 \u0624 \u0631 \ufef5 \u0622 \u0629 , . \u061f {shift}',
  69. '{accept} {alt} {space} {alt} {cancel}'
  70. ]
  71. };
  72. /* based on keyboard layout from http://ascii-table.com/keyboard.php/238 */
  73. $.keyboard.layouts['arabic-qwerty-2'] = {
  74. 'default' : [
  75. '< 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  76. "{tab} q w e r t y u i o p [ ]",
  77. "a s d f g h j k l ; ' ` {enter}",
  78. "{shift} \\ z x c v b n m , . / {shift}",
  79. "{accept} {alt} {space} {alt} {cancel}"
  80. ],
  81. 'shift' : [
  82. "> ! @ # $ % ^ & * ( ) _ + {bksp}",
  83. "{tab} Q W E R T Y U I O P { }",
  84. 'A S D F G H J K L : " ~ {enter}',
  85. "{shift} | Z X C V B N M , . ? {shift}",
  86. "{accept} {alt} {space} {alt} {cancel}"
  87. ],
  88. 'alt' : [
  89. '< \u0661 \u0662 \u0663 \u0664 \u0665 \u0666 \u0667 \u0668 \u0669 \u0660 - = {bksp}',
  90. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f',
  91. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 \u0630 {enter}',
  92. '{shift} \u0640 \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  93. '{accept} {alt} {space} {alt} {cancel}'
  94. ],
  95. 'alt-shift' : [
  96. '> ! @ # $ % ^ & * ( ) _ + {bksp}',
  97. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u00f7 \u00d7 \u061b { }',
  98. '\\ \u0633 \u064a \u0628 \ufef7 \u0623 \u062a \u060c \u0645 : " \u0651 {enter}',
  99. '{shift} | \u0626 \u0621 \u0624 \u0631 \ufef5 \u0622 \u0629 , . \u061f {shift}',
  100. '{accept} {alt} {space} {alt} {cancel}'
  101. ]
  102. };
  103. /* based on keyboard layout from http://ascii-table.com/keyboard.php/239 */
  104. $.keyboard.layouts['arabic-qwerty-3'] = {
  105. 'default' : [
  106. '< 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  107. "{tab} q w e r t y u i o p \u00a2 |",
  108. "a s d f g h j k l ; ' ` {enter}",
  109. "{shift} \u0640 z x c v b n m , . / {shift}",
  110. "{accept} {alt} {space} {alt} {cancel}"
  111. ],
  112. 'shift' : [
  113. "> ! @ # $ % \u00ac & * ( ) _ + {bksp}",
  114. "{tab} Q W E R T Y U I O P \u00a3 |",
  115. 'A S D F G H J K L : " ~ {enter}',
  116. "{shift} \u00a6 Z X C V B N M , . ? {shift}",
  117. "{accept} {alt} {space} {alt} {cancel}"
  118. ],
  119. 'alt' : [
  120. '< \u0661 \u0662 \u0663 \u0664 \u0665 \u0666 \u0667 \u0668 \u0669 \u0660 - = {bksp}',
  121. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f',
  122. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 \u0630 {enter}',
  123. '{shift} \u0640 \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  124. '{accept} {alt} {space} {alt} {cancel}'
  125. ],
  126. 'alt-shift' : [
  127. '> ! @ # $ % \u00ac & * ( ) _ + {bksp}',
  128. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u00f7 \u00d7 \u061b \u00a3 |',
  129. '\u0634 \u0633 \u064a \u0628 \ufef7 \u0623 \u062a \u060c / : " \u0651 {enter}',
  130. '{shift} \u00a6 \u0626 \u0621 \u0624 \u0631 \ufef5 \u0622 \u0629 , . \u061f {shift}',
  131. '{accept} {alt} {space} {alt} {cancel}'
  132. ]
  133. };
  134. /* based on keyboard layout from http://ascii-table.com/keyboard.php/253 */
  135. $.keyboard.layouts['arabic-qwerty-4'] = {
  136. 'default' : [
  137. '< 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  138. "{tab} q w e r t y u i o p [ ]",
  139. "a s d f g h j k l ; ' ` {enter}",
  140. "{shift} \\ z x c v b n m , . / {shift}",
  141. "{accept} {alt} {space} {alt} {cancel}"
  142. ],
  143. 'shift' : [
  144. "> ! @ # $ % ^ & * ( ) _ + {bksp}",
  145. "{tab} Q W E R T Y U I O P { }",
  146. 'A S D F G H J K L : " ~ {enter}',
  147. "{shift} | Z X C V B N M , . ? {shift}",
  148. "{accept} {alt} {space} {alt} {cancel}"
  149. ],
  150. 'alt' : [
  151. '< \u0661 \u0662 \u0663 \u0664 \u0665 \u0666 \u0667 \u0668 \u0669 \u0660 - = {bksp}',
  152. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f',
  153. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 \u0630 {enter}',
  154. '{shift} \u0640 \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  155. '{accept} {alt} {space} {alt} {cancel}'
  156. ],
  157. 'alt-shift' : [
  158. '> ! @ # $ % ^ & * ( ) _ + {bksp}',
  159. '{tab} \u064e \u064b \u064f \u064c \ufef9 \u0625 \u0639 \u00f7 \u00d7 \u061b { }',
  160. '\\ \u0633 \u064a \u0628 \ufef7 \u0623 \u062a \u060c \u002f : " \u0651 {enter}',
  161. '{shift} | \u0626 \u0652 \u0650 \u064d \ufef5 \u0622 \u0629 , . \u061f {shift}',
  162. '{accept} {alt} {space} {alt} {cancel}'
  163. ]
  164. };
  165. // Keyboard Language
  166. // please update this section to match this language and email me with corrections!
  167. // ***********************
  168. if (typeof(language) === 'undefined') { var language = {}; };
  169. language.arabic = {
  170. display : {
  171. 'a' : '\u2714:Accept (Shift-Enter)', // check mark - same action as accept
  172. 'accept' : 'Accept:Accept (Shift-Enter)',
  173. 'alt' : 'AltGr:Alternate Graphemes',
  174. 'b' : '\u2190:Backspace', // Left arrow (same as &larr;)
  175. 'bksp' : 'Bksp:Backspace',
  176. 'c' : '\u2716:Cancel (Esc)', // big X, close - same action as cancel
  177. 'cancel' : 'Cancel:Cancel (Esc)',
  178. 'clear' : 'C:Clear', // clear num pad
  179. 'combo' : '\u00f6:Toggle Combo Keys',
  180. 'dec' : '.:Decimal', // decimal point for num pad (optional), change '.' to ',' for European format
  181. 'e' : '\u21b5:Enter', // down, then left arrow - enter symbol
  182. 'enter' : 'Enter:Enter',
  183. 'lock' : '\u21ea Lock:Caps Lock', // caps lock
  184. 's' : '\u21e7:Shift', // thick hollow up arrow
  185. 'shift' : 'Shift:Shift',
  186. 'sign' : '\u00b1:Change Sign', // +/- sign for num pad
  187. 'space' : '&nbsp;:Space',
  188. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  189. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  190. },
  191. // Message added to the key title while hovering, if the mousewheel plugin exists
  192. wheelMessage : 'Use mousewheel to see other keys',
  193. };
  194. // This will replace all default language options with these language options.
  195. // it is separated out here so the layout demo will work properly.
  196. $.extend(true, $.keyboard.defaultOptions, language.arabic);