keyboard-layouts-combined.js 112 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683
  1. /*** This file is dynamically generated ***
  2. █████▄ ▄████▄ █████▄ ▄████▄ ██████ ███████▄ ▄████▄ █████▄ ██ ██████ ██ ██
  3. ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
  4. ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██▀▀ ▀▀▀▀██
  5. █████▀ ▀████▀ ██ ██ ▀████▀ ██ ██ ██ ██ ▀████▀ █████▀ ██ ██ █████▀
  6. */
  7. /*! jQuery UI Virtual Keyboard - Original Layouts */
  8. /* Albanian keyboard layouts
  9. * contains layout: 'albanian-qwertz' & 'albanian-qwerty'
  10. *
  11. * To use:
  12. * Point to this js file into your page header: <script src="layouts/albanian.js" type="text/javascript"></script>
  13. * Initialize the keyboard using: jQuery('input').keyboard({ layout: 'albanian-qwertz' });
  14. *
  15. * To do: add combos appropriate to the Albanian language
  16. * missing caron, breve, ring, ogonek, double acute accent, diaeresis and cedilla accents.
  17. *
  18. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  19. */
  20. /* qwertz-albanian
  21. combined from http://en.wikipedia.org/wiki/File:Albanian_keyboard_layout.jpg,
  22. http://ascii-table.com/keyboard.php/448 & http://www.google.com/webelements/ */
  23. jQuery.keyboard.layouts['albanian-qwertz'] = {
  24. 'name' : 'Albanian-qwertz',
  25. 'lang' : ['sq'],
  26. 'normal' : [
  27. "\\ 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  28. "{tab} q w e r t z u i o p \u00e7 '",
  29. "a s d f g h j k l \u00eb [ ] {enter}",
  30. "{shift} < y x c v b n m , . / {shift}",
  31. "{accept} {alt} {space} {alt} {cancel}"
  32. ],
  33. 'shift' : [
  34. '| ! " # $ % ^ & * ( ) _ + {bksp}',
  35. "{tab} Q W E R T Z U I O P \u00c7 @",
  36. "A S D F G H J K L \u00cb { } {enter}",
  37. "{shift} > Y X C V B N M ; : ? {shift}",
  38. "{accept} {alt} {space} {alt} {cancel}"
  39. ],
  40. 'alt' : [
  41. "\\ ~ \u02c7 ^ \u02d8 \u00b0 \u02db ` \u02d9 \u00b4 \u02dd \u00a8 \u00b8 {bksp}",
  42. "{tab} q w \u20ac r t z u i o p \u00f7 \u00d7",
  43. "\u00e4 \u0111:Shortcut_(\/d) \u0110:Shortcut_(\/D) f g h j \u0142:Shortcut_(\/l) \u0141:Shortcut_(\/L) $ \u00df \u00a4 {enter}",
  44. "{shift} < y x c @ { } \u00a7 < > / {shift}",
  45. "{accept} {alt} {space} {alt} {cancel}"
  46. ]
  47. };
  48. /* based on http://ascii-table.com/keyboard.php/452 */
  49. jQuery.keyboard.layouts['albanian-qwerty'] = {
  50. 'name' : 'Albanian-qwerty',
  51. 'lang' : ['sq'],
  52. 'normal' : [
  53. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  54. "{tab} q w e r t y u i o p \u00eb '",
  55. "a s d f g h j k l ; \u00e7 # {enter}",
  56. "{shift} \\ z x c v b n m , . / {shift}",
  57. "{accept} {alt} {space} {alt} {cancel}"],
  58. 'shift' : [
  59. '\u00ac ! " \u00a7 $ % ^ & * ( ) _ + {bksp}',
  60. "{tab} Q W E R T Y U I O P \u00cb @",
  61. "A S D F G H J K L : \u00c7 ~ {enter}",
  62. "{shift} \u00a6 Z X C V B N M < > ? {shift}",
  63. "{accept} {alt} {space} {alt} {cancel}"
  64. ],
  65. 'alt' : [
  66. "| 1 2 3 4 5 6 { } [ ] - = {bksp}",
  67. "{tab} q w \u20ac r t y u i o p \u00f7 \u00d7",
  68. "a s d f g h j k l ; \u00e7 # {enter}",
  69. "{shift} \\ z x c v b n m , . / {shift}",
  70. "{accept} {alt} {space} {alt} {cancel}"
  71. ],
  72. 'alt-shift' : [
  73. '| ! " \u00a7 $ % ^ & * ( ) _ + {bksp}',
  74. "{tab} Q W \u20AC R T Y U I O P \u00cb @",
  75. "A S D F G H J K L : \u00c7 ~ {enter}",
  76. "{shift} \u00a6 Z X C V B N M < > ? {shift}",
  77. "{accept} {alt} {space} {alt} {cancel}"
  78. ]
  79. };
  80. /* Arabic keyboard layouts
  81. * contains layout: 'arabic-azerty', 'arabic-qwerty-1', 'arabic-qwerty-2', 'arabic-qwerty-3', 'arabic-qwerty-4'
  82. *
  83. * To use:
  84. * Point to this js file into your page header: <script src="layouts/arabic.js" type="text/javascript"></script>
  85. * Initialize the keyboard using: $('input').keyboard({ layout: 'arabic-azerty' });
  86. *
  87. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  88. */
  89. /* based on http://ascii-table.com/keyboard.php/462 */
  90. jQuery.keyboard.layouts['arabic-azerty'] = {
  91. 'name': 'Arabic-azerty',
  92. 'lang': ['ar'],
  93. 'normal' : [
  94. '\u00b2 & \u00e9 " \' ( - \u00e8 _ \u00e7 \u00e0 ) = {bksp}',
  95. "{tab} a z e r t y u i o p ` $",
  96. "q s d f g h j k l m \u00f9 \u066d {enter}",
  97. "{shift} < w x c v b n , ; : ! {shift}",
  98. "{accept} {alt} {space} {alt} {cancel}"
  99. ],
  100. 'shift' : [
  101. "\u00b2 1 2 3 4 5 6 7 8 9 0 \u00b0 + {bksp}",
  102. "{tab} A Z E R T Y U I O P \u0308 \u00a3",
  103. "Q S D F G H J K L M \u066a \u00b5 {enter}",
  104. "{shift} > W X C V B N ? . / \u00a7 {shift}",
  105. "{accept} {alt} {space} {alt} {cancel}"
  106. ],
  107. 'alt' : [
  108. '> & \u00e9 # { [ | \u0300 \\ ^ @ ] } {bksp}',
  109. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f',
  110. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 \u0630 {enter}',
  111. '{shift} \u0640 \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  112. '{accept} {alt} {space} {alt} {cancel}'
  113. ],
  114. 'alt-shift' : [
  115. '< 1 2 3 4 5 6 7 8 9 0 \u00b0 + {bksp}',
  116. '{tab} \u064e \u064b \u064f \u064c \ufef9 \u0625 \u0060 \u00f7 \u00d7 \u061b \u062c \u00a4',
  117. '\\ \u0633 [ ] \ufef7 \u0623 \u0640 \u060c / : \u00a8 \u0651 {enter}',
  118. '{shift} | ~ \u0652 \u0650 \u064d \ufef5 \u0622 \' , . \u061f {shift}',
  119. '{accept} {alt} {space} {alt} {cancel}'
  120. ]
  121. };
  122. /* based on http://ascii-table.com/keyboard.php/470 */
  123. jQuery.keyboard.layouts['arabic-qwerty-1'] = {
  124. 'name': 'Arabic-qwerty-1',
  125. 'lang': ['ar'],
  126. 'normal' : [
  127. '` 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  128. "{tab} q w e r t y u i o p [ ] \\",
  129. "a s d f g h j k l ; ' {enter}",
  130. "{shift} z x c v b n m , . / {shift}",
  131. "{accept} {alt} {space} {alt} {cancel}"
  132. ],
  133. 'shift' : [
  134. "~ ! @ # $ % ^ & * ( ) _ + {bksp}",
  135. "{tab} Q W E R T Y U I O P { } |",
  136. 'A S D F G H J K L : " {enter}',
  137. "{shift} Z X C V B N M < > ? {shift}",
  138. "{accept} {alt} {space} {alt} {cancel}"
  139. ],
  140. 'alt' : [
  141. '\u0630 \u0661 \u0662 \u0663 \u0664 \u0665 \u0666 \u0667 \u0668 \u0669 \u0660 - = {bksp}',
  142. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f \\',
  143. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 {enter}',
  144. '{shift} \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  145. '{accept} {alt} {space} {alt} {cancel}'
  146. ],
  147. 'alt-shift' : [
  148. '\u0651 ! @ # $ % ^ & * ( ) _ + {bksp}',
  149. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u00f7 \u00d7 \u061b > < |',
  150. '\u0634 \u0633 \u064a \u0628 \u0644 \u0623 \u0640 \u060c / : " {enter}',
  151. '{shift} \u0626 \u0621 \u0624 \u0631 \ufef5 \u0622 \u0629 , . \u061f {shift}',
  152. '{accept} {alt} {space} {alt} {cancel}'
  153. ]
  154. };
  155. /* based on keyboard layout from http://ascii-table.com/keyboard.php/238 */
  156. jQuery.keyboard.layouts['arabic-qwerty-2'] = {
  157. 'name': 'Arabic-qwerty-2',
  158. 'lang': ['ar'],
  159. 'normal' : [
  160. '< 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  161. "{tab} q w e r t y u i o p [ ]",
  162. "a s d f g h j k l ; ' ` {enter}",
  163. "{shift} \\ z x c v b n m , . / {shift}",
  164. "{accept} {alt} {space} {alt} {cancel}"
  165. ],
  166. 'shift' : [
  167. "> ! @ # $ % ^ & * ( ) _ + {bksp}",
  168. "{tab} Q W E R T Y U I O P { }",
  169. 'A S D F G H J K L : " ~ {enter}',
  170. "{shift} | Z X C V B N M , . ? {shift}",
  171. "{accept} {alt} {space} {alt} {cancel}"
  172. ],
  173. 'alt' : [
  174. '< \u0661 \u0662 \u0663 \u0664 \u0665 \u0666 \u0667 \u0668 \u0669 \u0660 - = {bksp}',
  175. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f',
  176. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 \u0630 {enter}',
  177. '{shift} \u0640 \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  178. '{accept} {alt} {space} {alt} {cancel}'
  179. ],
  180. 'alt-shift' : [
  181. '> ! @ # $ % ^ & * ( ) _ + {bksp}',
  182. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u00f7 \u00d7 \u061b { }',
  183. '\\ \u0633 \u064a \u0628 \ufef7 \u0623 \u062a \u060c \u0645 : " \u0651 {enter}',
  184. '{shift} | \u0626 \u0621 \u0624 \u0631 \ufef5 \u0622 \u0629 , . \u061f {shift}',
  185. '{accept} {alt} {space} {alt} {cancel}'
  186. ]
  187. };
  188. /* based on keyboard layout from http://ascii-table.com/keyboard.php/239 */
  189. jQuery.keyboard.layouts['arabic-qwerty-3'] = {
  190. 'name': 'Arabic-qwerty-3',
  191. 'lang': ['ar'],
  192. 'normal' : [
  193. '< 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  194. "{tab} q w e r t y u i o p \u00a2 |",
  195. "a s d f g h j k l ; ' ` {enter}",
  196. "{shift} \u0640 z x c v b n m , . / {shift}",
  197. "{accept} {alt} {space} {alt} {cancel}"
  198. ],
  199. 'shift' : [
  200. "> ! @ # $ % \u00ac & * ( ) _ + {bksp}",
  201. "{tab} Q W E R T Y U I O P \u00a3 |",
  202. 'A S D F G H J K L : " ~ {enter}',
  203. "{shift} \u00a6 Z X C V B N M , . ? {shift}",
  204. "{accept} {alt} {space} {alt} {cancel}"
  205. ],
  206. 'alt' : [
  207. '< \u0661 \u0662 \u0663 \u0664 \u0665 \u0666 \u0667 \u0668 \u0669 \u0660 - = {bksp}',
  208. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f',
  209. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 \u0630 {enter}',
  210. '{shift} \u0640 \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  211. '{accept} {alt} {space} {alt} {cancel}'
  212. ],
  213. 'alt-shift' : [
  214. '> ! @ # $ % \u00ac & * ( ) _ + {bksp}',
  215. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u00f7 \u00d7 \u061b \u00a3 |',
  216. '\u0634 \u0633 \u064a \u0628 \ufef7 \u0623 \u062a \u060c / : " \u0651 {enter}',
  217. '{shift} \u00a6 \u0626 \u0621 \u0624 \u0631 \ufef5 \u0622 \u0629 , . \u061f {shift}',
  218. '{accept} {alt} {space} {alt} {cancel}'
  219. ]
  220. };
  221. /* based on keyboard layout from http://ascii-table.com/keyboard.php/253 */
  222. jQuery.keyboard.layouts['arabic-qwerty-4'] = {
  223. 'name': 'Arabic-qwerty-4',
  224. 'lang': ['ar'],
  225. 'normal' : [
  226. '< 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  227. "{tab} q w e r t y u i o p [ ]",
  228. "a s d f g h j k l ; ' ` {enter}",
  229. "{shift} \\ z x c v b n m , . / {shift}",
  230. "{accept} {alt} {space} {alt} {cancel}"
  231. ],
  232. 'shift' : [
  233. "> ! @ # $ % ^ & * ( ) _ + {bksp}",
  234. "{tab} Q W E R T Y U I O P { }",
  235. 'A S D F G H J K L : " ~ {enter}',
  236. "{shift} | Z X C V B N M , . ? {shift}",
  237. "{accept} {alt} {space} {alt} {cancel}"
  238. ],
  239. 'alt' : [
  240. '< \u0661 \u0662 \u0663 \u0664 \u0665 \u0666 \u0667 \u0668 \u0669 \u0660 - = {bksp}',
  241. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u062f',
  242. '\u0634 \u0633 \u064a \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u0637 \u0630 {enter}',
  243. '{shift} \u0640 \u0626 \u0621 \u0624 \u0631 \ufefb \u0649 \u0629 \u0648 \u0632 \u0638 {shift}',
  244. '{accept} {alt} {space} {alt} {cancel}'
  245. ],
  246. 'alt-shift' : [
  247. '> ! @ # $ % ^ & * ( ) _ + {bksp}',
  248. '{tab} \u064e \u064b \u064f \u064c \ufef9 \u0625 \u0639 \u00f7 \u00d7 \u061b { }',
  249. '\\ \u0633 \u064a \u0628 \ufef7 \u0623 \u062a \u060c \u002f : " \u0651 {enter}',
  250. '{shift} | \u0626 \u0652 \u0650 \u064d \ufef5 \u0622 \u0629 , . \u061f {shift}',
  251. '{accept} {alt} {space} {alt} {cancel}'
  252. ]
  253. };
  254. /* Belarusian keyboard layouts
  255. * contains layout: 'belarusian-qwerty'
  256. *
  257. * To use:
  258. * Point to this js file into your page header: <script src="layouts/belarusian.js" type="text/javascript"></script>
  259. * Initialize the keyboard using: $('input').keyboard({ layout: 'belarusian-qwerty' });
  260. *
  261. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  262. */
  263. /* based on http://ascii-table.com/keyboard.php/463 & http://www.google.com/webelements/ */
  264. jQuery.keyboard.layouts['belarusian-qwerty'] = {
  265. 'name' : 'belarusian-qwerty',
  266. 'lang' : ['be'],
  267. 'normal' : [
  268. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  269. "{tab} q w e r t y u i o p [ ] \\",
  270. "a s d f g h j k l ; ' {enter}",
  271. "{shift} z x c v b n m , . / {shift}",
  272. "{accept} {alt} {space} {alt} {cancel}"
  273. ],
  274. 'shift' : [
  275. '~ ! @ # $ % ^ & * ( ) _ + {bksp}',
  276. "{tab} Q W E R T Y U I O P { } |",
  277. 'A S D F G H J K L : " {enter}',
  278. "{shift} Z X C V B N M < > ? {shift}",
  279. "{accept} {alt} {space} {alt} {cancel}"
  280. ],
  281. 'alt' : [
  282. "\u0451 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  283. "{tab} \u0439 \u0446 \u0443 \u043a \u0435 \u043d \u0433 \u0448 \u045e \u0437 \u0445 ' \\",
  284. "\u0444 \u044b \u0432 \u0430 \u043f \u0440 \u043e \u043b \u0434 \u0436 \u044d {enter}",
  285. "{shift} \u044f \u0447 \u0441 \u043c \u0456 \u0442 \u044c \u0431 \u044e . {shift}",
  286. "{accept} {alt} {space} {alt} {cancel}"
  287. ],
  288. 'alt-shift' : [
  289. '\u0401 ! " \u2116 ; \u20ac : ? * ( ) _ + {bksp}',
  290. "{tab} \u0419 \u0426 \u0423 \u041a \u0415 \u041d \u0413 \u0428 \u040e \u0417 \u0425 ' /",
  291. "\u0424 \u042b \u0412 \u0410 \u041f \u0420 \u041e \u041b \u0414 \u0416 \u042d {enter}",
  292. "{shift} \u042f \u0427 \u0421 \u041c \u0406 \u0422 \u042c \u0411 \u042e , {shift}",
  293. "{accept} {alt} {space} {alt} {cancel}"
  294. ]
  295. };
  296. /* Scandinavian keyboard layouts
  297. * contains layout: 'bengali-qwerty-1' & 'bengali-qwerty-2'
  298. *
  299. * To use:
  300. * Point to this js file into your page header: <script src="layouts/bengali.js" type="text/javascript"></script>
  301. * Initialize the keyboard using: $('input').keyboard({ layout: 'bengali-qwerty-1' });
  302. *
  303. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  304. */
  305. /* based on http://ascii-table.com/keyboard.php/480 & http://www.gate2home.com/?language=bn&sec=2 */
  306. jQuery.keyboard.layouts['bengali-qwerty-1'] = {
  307. 'name' : 'bengali-qwerty-1',
  308. 'lang' : ['bn'],
  309. 'normal' : [
  310. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  311. "{tab} q w e r t y u i o p [ ] \\",
  312. "a s d f g h j k l ; ' {enter}",
  313. "{shift} z x c v b n m , . / {shift}",
  314. "{accept} {alt} {space} {alt} {cancel}"
  315. ],
  316. 'shift' : [
  317. "~ ! @ # $ % ^ & * ( ) _ + {bksp}",
  318. "{tab} Q W E R T Y U I O P { } |",
  319. 'A S D F G H J K L : " {enter}',
  320. "{shift} Z X C V B N M < > ? {shift}",
  321. "{accept} {alt} {space} {alt} {cancel}"
  322. ],
  323. 'alt' : [
  324. '` \u09e7 \u09e8 \u09e9 \u09ea \u09eb \u09ec \u09ed \u09ee \u09ef \u09e6 - \u09c3 {bksp}',
  325. '{tab} \u09cc \u09c8 \u09be \u09c0 \u09c2 \u09ac \u09b9 \u0997 \u09a6 \u099c \u09a1 \u09bc \\',
  326. '\u09cb \u09c7 \u09cd \u09bf \u09c1 \u09aa \u09b0 \u0995 \u09a4 \u099a \u099f {enter}',
  327. '{shift} \u09ce \u0982 \u09ae \u09a8 \u09ac \u09b2 \u09b8 , . \u09df {shift}',
  328. '{accept} {alt} {space} {alt} {cancel}'
  329. ],
  330. 'alt-shift' : [
  331. '~ \u09e7 \u09e8 \u09b0 \u09cd \u099c \u09a4 \u0995 \u09b6 ( ) \u0983 \u09c3 {bksp}',
  332. '{tab} \u0994 \u0990 \u0986 \u0988 \u098a \u09ad \u0999 \u0998 \u09a7 \u099d \u09a2 \u099e |',
  333. '\u0993 \u098f \u0985 \u0987 \u0989 \u09ab \u09b0 \u0996 \u09a5 \u099b \u09a0 {enter}',
  334. '{shift} ? \u0981 \u09a3 \u09a8 \u09ac \u09b2 \u09b6 \u09b7 \u0964 \u09af {shift}',
  335. '{accept} {alt} {space} {alt} {cancel}'
  336. ]
  337. };
  338. /* based on http://www.google.com/webelements/#!/virtualkeyboard */
  339. jQuery.keyboard.layouts['bengali-qwerty-2'] = {
  340. 'name' : 'bengali-qwerty-2',
  341. 'lang' : ['bn'],
  342. 'normal' : [
  343. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  344. "{tab} q w e r t y u i o p [ ] \\",
  345. "a s d f g h j k l ; ' {enter}",
  346. "{shift} z x c v b n m , . / {shift}",
  347. "{accept} {alt} {space} {alt} {cancel}"
  348. ],
  349. 'shift' : [
  350. "~ ! @ # $ % ^ & * ( ) _ + {bksp}",
  351. "{tab} Q W E R T Y U I O P { } |",
  352. 'A S D F G H J K L : " {enter}',
  353. "{shift} Z X C V B N M < > ? {shift}",
  354. "{accept} {alt} {space} {alt} {cancel}"
  355. ],
  356. 'alt' : [
  357. '\u0982 \u0981 \u09bc \u0983 \u09fa \u09f8 \u09f9 \u09f2 \u09f3 \u09e6 \u09f4 \u09e7 \u09f5 {bksp}',
  358. '{tab} \u09e8 \u09f6 \u09e9 \u09f7 \u09ea \u09eb \u09ec \u09ed \u09ee \u09ef \u0985 \u0986 \u0987',
  359. '\u0988 \u0989 \u098a \u098b \u09e0 \u098c \u09e1 \u098f \u0990 \u0993 \u0994 {enter}',
  360. '{shift} \u0995 \u0996 \u0997 \u0998 \u0999 \u099a \u099b \u099c \u099d \u099e {shift}',
  361. '{accept} {alt} {space} {alt} {cancel}'
  362. ],
  363. 'alt-shift' : [
  364. '\u099f \u09a0 \u09a1 \u09dc \u09a2 \u09dd \u09a3 \u09a4 \u09ce \u09a5 \u09a6 \u09a7 \u09a8 {bksp}',
  365. '{tab} \u09aa \u09ab \u09ac \u09ad \u09ae \u09af \u09df \u09b0 \u09f0 \u09b2 \u09f1 \u09b6 \u09b7',
  366. '\u09b8 \u09b9 \u09bd \u09be \u09bf \u09c0 \u09c1 \u09c2 \u09c3 \u09c4 \u09e2 {enter}',
  367. '{shift} \u09e3 \u09c7 \u09c8 \u09cb \u09cc \u09cd \u09d7 {sp:3} {shift}',
  368. '{accept} {alt} {space} {alt} {cancel}'
  369. ]
  370. };
  371. /* Belarusian keyboard layouts
  372. * contains layout: 'bulgarian-qwerty'
  373. *
  374. * To use:
  375. * Point to this js file into your page header: <script src="layouts/belarusian.js" type="text/javascript"></script>
  376. * Initialize the keyboard using: $('input').keyboard({ layout: 'bulgarian-qwerty' });
  377. *
  378. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  379. */
  380. /* from http://ascii-table.com/keyboard.php/442 */
  381. jQuery.keyboard.layouts['bulgarian-qwerty'] = {
  382. 'name' : 'bulgarian-qwerty',
  383. 'lang' : ['bg'],
  384. 'normal' : [
  385. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  386. "{tab} q w e r t y u i o p [ ] \\",
  387. "a s d f g h j k l ; ' {enter}",
  388. "{shift} z x c v b n m , . / {shift}",
  389. "{accept} {alt} {space} {alt} {cancel}"
  390. ],
  391. 'shift' : [
  392. '~ ! @ # $ % ^ & * ( ) _ + {bksp}',
  393. "{tab} Q W E R T Y U I O P { } |",
  394. 'A S D F G H J K L : " {enter}',
  395. "{shift} Z X C V B N M < > ? {shift}",
  396. "{accept} {alt} {space} {alt} {cancel}"
  397. ],
  398. 'alt' : [
  399. '` 1 2 3 4 5 6 7 8 9 0 - . {bksp}',
  400. "{tab} , \u0443 \u0435 \u0438 \u0448 \u0449 \u043a \u0441 \u0434 \u0437 \u0446 ; (",
  401. "\u044c \u044f \u0430 \u043e \u0436 \u0433 \u0442 \u043d \u0432 \u043c \u0447 {enter}",
  402. "{shift} \u044e \u0439 \u044a \u044d \u0444 \u0445 \u043f \u0440 \u043b \u0431 {shift}",
  403. "{accept} {alt} {space} {alt} {cancel}"
  404. ],
  405. 'alt-shift' : [
  406. '~ ! ? + " % = : / _ \u2116 I V {bksp}',
  407. "{tab} \u044b \u0423 \u0415 \u0418 \u0428 \u0429 \u041a \u0421 \u0414 \u0417 \u0426 \u00a7 )",
  408. "\u042c \u042f \u0410 \u041e \u0416 \u0413 \u0422 \u041d \u0412 \u041c \u0427 {enter}",
  409. "{shift} \u042e \u0419 \u042a \u042d \u0424 \u0425 \u041f \u0420 \u041b \u0411 {shift}",
  410. "{accept} {alt} {space} {alt} {cancel}"
  411. ]
  412. };
  413. /* Bermese keyboard layouts
  414. * contains layout: 'burmese'
  415. *
  416. * To use:
  417. * Point to this js file into your page header: <script src="layouts/burmese.js"></script>
  418. * Initialize the keyboard using: $('input').keyboard({ layout: 'burmese' });
  419. *
  420. * thanks to @laminko (https://github.com/laminko);
  421. * see https://github.com/Mottie/Keyboard/pull/507
  422. * license for this file: WTFPL
  423. */
  424. jQuery.keyboard.layouts['burmese'] = {
  425. 'name' : 'burmese',
  426. 'lang' : ['my'], // this setting must match the "all" language definition below
  427. 'normal': [
  428. '\u1050 \u1041 \u1042 \u1043 \u1044 \u1045 \u1046 \u1047 \u1048 \u1049 \u1040 - = {bksp}',
  429. '{tab} \u1006 \u1010 \u1014 \u1019 \u1021 \u1015 \u1000 \u1004 \u101e \u1005 \u101f \u1029 \u104f',
  430. '\u1031 \u103b \u102d \u103a \u102b \u1037 \u103c \u102f \u1030 \u1038 \' {enter}',
  431. '{shift} \u1016 \u1011 \u1001 \u101c \u1018 \u100a \u102c , . / {shift}',
  432. '{accept} {alt} {space} {alt} {cancel}'
  433. ],
  434. 'shift': [
  435. '\u100e \u100d \u1052 \u100b \u1053 \u1054 \u1055 \u101b * ( ) _ + {bksp}',
  436. '{tab} \u1008 \u101d \u1023 \u104e \u1024 \u104c \u1025 \u104d \u103f \u100f \u1027 \u102a \u1051',
  437. '\u1017 \u103e \u102e \u1039 \u103d \u1036 \u1032 \u1012 \u1013 \u1002 " {enter}',
  438. '{shift} \u1007 \u100c \u1003 \u1020 \u101a \u1009 \u1026 \u104a \u104b ? {shift}',
  439. '{accept} {alt} {space} {alt} {cancel}'
  440. ],
  441. 'alt': [
  442. '~ \u00a1 \u00b2 \u00b3 \u00a4 \u20ac \u00bc \u00bd \u00be \u2018 \u2019 \u00a5 \u00d7 {bksp}',
  443. '{tab} \u00e4 \u00e5 \u00e9 \u00ae \u00fe \u00fc \u00fa \u00ed \u00f3 \u00f6 \u00ab \u00bb \u00ac',
  444. '\u00e1 \u00df \u00f0 f g h j k \u00f8 \u00b6 \u00b4 {enter}',
  445. '{shift} \u00e6 x \u00a9 v b \u00f1 \u00b5 \u00e7 > \u00bf {shift}',
  446. '{accept} {alt} {space} {alt} {cancel}'
  447. ],
  448. 'alt-shift': [
  449. '~ \u00b9 \u00b2 \u00b3 \u00a3 \u20ac \u00bc \u00bd \u00be \u2018 \u2019 \u00a5 \u00f7 {bksp}',
  450. '{tab} \u00c4 \u00c5 \u00c9 \u00ae \u00de \u00dc \u00da \u00cd \u00d3 \u00d6 \u00ab \u00bb \u00a6',
  451. '\u00c4 \u00a7 \u00d0 F G H J K \u00d8 \u00b0 \u00a8 {enter}',
  452. '{shift} \u00c6 X \u00a2 V B \u00d1 \u00b5 \u00c7 . \u00bf {shift}',
  453. '{accept} {alt} {space} {alt} {cancel}'
  454. ]
  455. };
  456. /* Catalan keyboard layouts
  457. * contains layout: 'catalan-qwerty'
  458. *
  459. * To use:
  460. * Point to this js file into your page header: <script src="layouts/catalan.js" type="text/javascript"></script>
  461. * Initialize the keyboard using: $('input').keyboard({ layout: 'catalan-qwerty' });
  462. *
  463. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  464. */
  465. /* based on http://ascii-table.com/keyboard.php/173-1 */
  466. jQuery.keyboard.layouts['catalan-qwerty'] = {
  467. 'name' : 'catalan-qwerty',
  468. 'lang' : ['ca'],
  469. 'normal' : [
  470. "\u00ba 1 2 3 4 5 6 7 8 9 0 ' \u00a1 {bksp}",
  471. "{tab} q w e r t y u i o p \u0300 +",
  472. "a s d f g h j k l \u00f1 \u0301 \u00e7 {enter}",
  473. "{shift} < z x c v b n m , . - {shift}",
  474. "{accept} {alt} {space} {alt} {cancel}"
  475. ],
  476. 'shift' : [
  477. '\u00aa ! " \u00b7 $ % & / ( ) = ? \u00bf {bksp}',
  478. "{tab} Q W E R T Y U I O P \u0302 *",
  479. "A S D F G H J K L \u00d1 \u0308 \u00c7 {enter}",
  480. "{shift} > Z X C V B N M ; : _ {shift}",
  481. "{accept} {alt} {space} {alt} {cancel}"
  482. ],
  483. 'alt' : [
  484. '\\ \u007c @ # \u0303 5 \u00ac 7 8 9 0 \u0027 \u00a1 {bksp}',
  485. "{tab} q w \u20ac r t y u i o p [ ]",
  486. "a s d f g h j k l \u00f1 { } {enter}",
  487. "{shift} \u007c z x c v b n m , . - {shift}",
  488. "{accept} {alt} {space} {alt} {cancel}"
  489. ],
  490. 'alt-shift' : [
  491. '\u00aa ! " \u00b7 $ % & / ( ) = ? \u00bf {bksp}',
  492. "{tab} Q W E R T Y U I O P [ ]",
  493. "A S D F G H J K L \u00d1 { } {enter}",
  494. "{shift} > Z X C V B N M ; : _ {shift}",
  495. "{accept} {alt} {space} {alt} {cancel}"
  496. ]
  497. };
  498. /* Chinese keyboard layouts
  499. * contains layout: 'chinese'
  500. *
  501. * To use:
  502. * Point to this js file into your page header: <script src="layouts/chinese.js" type="text/javascript"></script>
  503. * Initialize the keyboard using: $('input').keyboard({ layout: 'chinese' });
  504. *
  505. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  506. */
  507. jQuery.keyboard.layouts['chinese'] = {
  508. 'name' : 'chinese',
  509. 'lang' : ['zh'],
  510. 'normal' : [
  511. '\u20AC 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  512. '{tab} \u624B \u7530 \u6C34 \u53E3 \u5EFF \u535C \u5C71 \u6208 \u4EBA \u5FC3 [ ] \\',
  513. '\u65E5 \u5C38 \u6728 \u706B \u571F \u7AF9 \u5341 \u5927 \u4E2D ; \' {enter}',
  514. '{shift} \uFF3A \u96E3 \u91D1 \u5973 \u6708 \u5F13 \u4E00 . - / {shift}',
  515. '{accept} {alt} {space} {alt} {cancel}'
  516. ],
  517. 'shift' : [
  518. '~ ! @ # $ % ^ & * ) ( _ + {bksp}',
  519. '{tab} q w e r t y u i o p { } |',
  520. 'a s d f g h j k l : " {enter}',
  521. '{shift} z x c v b n m , < > ? {shift}',
  522. '{accept} {alt} {space} {alt} {cancel}'
  523. ],
  524. 'alt' : [
  525. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  526. "{tab} q w e r t y u i o p [ ] \\",
  527. "a s d f g h j k l ; ' {enter}",
  528. "{shift} z x c v b n m , . / {shift}",
  529. "{accept} {alt} {space} {alt} {cancel}"
  530. ],
  531. 'alt-shift' : [
  532. "~ ! @ # $ % ^ & * ( ) _ + {bksp}",
  533. "{tab} Q W E R T Y U I O P { } |",
  534. 'A S D F G H J K L : " {enter}',
  535. "{shift} Z X C V B N M < > ? {shift}",
  536. "{accept} {alt} {space} {alt} {cancel}"
  537. ]
  538. };
  539. /* Danish keyboard layouts
  540. * contains layout: 'danish-qwerty'
  541. *
  542. * To use:
  543. * Point to this js file into your page header: <script src="layouts/danish.js" type="text/javascript"></script>
  544. * Initialize the keyboard using: $('input').keyboard({ layout: 'danish-qwerty' });
  545. *
  546. * license for this file: WTFPL
  547. */
  548. /* qwerty by Torben Junker Kjær (jordbo.dk) - */
  549. jQuery.keyboard.layouts['danish-qwerty'] = {
  550. 'name' : 'danish-qwerty',
  551. 'lang' : ['da'],
  552. 'normal' : [
  553. "\u00a7 1 2 3 4 5 6 7 8 9 0 + \u0301 {b}",
  554. "{tab} q w e r t y u i o p \u00e5 \u00a8",
  555. "a s d f g h j k l \u00e6 \u00f8 ' {enter}",
  556. "{shift} < z x c v b n m , . - {shift}",
  557. "{accept} {alt} {space} {alt} {cancel}"
  558. ],
  559. 'shift' : [
  560. '\u00bd ! " # \u00a4 % & / ( ) = ? \u0300 {b}',
  561. "{tab} Q W E R T Y U I O P \u00c5 ^",
  562. "A S D F G H J K L \u00c6 \u00d8 * {enter}",
  563. "{shift} > Z X C V B N M ; : _ {shift}",
  564. "{accept} {alt} {space} {alt} {cancel}"
  565. ],
  566. 'alt' : [
  567. '\u00a7 1 @ \u00a3 $ 5 6 { [ ] } + | {b}',
  568. '{tab} q w € r t y u i o p \u00e5 ~',
  569. "a s d f g h j k l \u00e6 \u00f8 ' {enter}",
  570. '{shift} \\ z x c v b n \u00b5 , . - {shift}',
  571. '{accept} {alt} {space} {alt} {cancel}'
  572. ]
  573. };
  574. /* keyboard layout template (copy of "international" from the core plugin)
  575. */
  576. jQuery.keyboard.layouts['ethiopic'] = {
  577. 'name' : 'Amharic',
  578. 'lang' : ['amh'],
  579. 'normal': [
  580. '` \u1369 \u136A \u136B \u136C \u136D \u136E \u136F \u1370 \u1371 0 \u1365 = {bksp}',
  581. '{tab} \u1240 \u12c8 \u01dd \u1228 \u1270 \u12e8 u i o \u1330 \u1248 \u1288 \\',
  582. 'a \u1230 \u12f0 \u1348 \u1308 \u1200 \u1338 \u12a8 \u1208:Shortcut_(l_+_e_=_\u120d) ; \u12a0 {enter}',
  583. '{shift} \u12d8 \u1280 \u1278 \u1238 \u1260 \u1290 \u1218 \u1361 \u1362 / {shift}',
  584. '{accept} {alt} {space} {alt} {cancel}'
  585. ],
  586. 'shift': [
  587. '~ \u1372 \u1373 \u1374 \u1375 \u1376 \u1377 \u1378 \u1379 \u137A \u137B \u137C + {bksp}',
  588. '{tab} \u1250 \u12d0 \u018e \u122f \u1320 Y U I O \u1350 \u1310 \u12b0 \u1384',
  589. '\u0101 \u1220 \u1300 \u1358 \u1318 \u1210 \u1340 \u12b8 \u12f8 \u12A5\u130D\u12DA\u12A0\u1265\u1214\u122D\u1361 " {enter}',
  590. '{shift} \u12e0 \u1359 \u1328 \u135A \u1268 \u1298 \u1380 \u1388 \u138C \u1208\u130D\u12DA\u12A0\u1265\u1214\u122D\u1361 {shift}',
  591. '{accept} {alt} {space} {alt} {cancel}'
  592. ],
  593. 'alt': [
  594. '` 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  595. '{tab} q \u02b7 e r t y u i o \u1e57 [ ] \\',
  596. 'a \u0161 d f \u01e7 \u1e2b j k l ; \u02be {enter}',
  597. '{shift} \u017e x \u010d\u0323 \u010d b \u00f1 m , . / {shift}',
  598. '{accept} {alt} {space} {alt} {cancel}'
  599. ],
  600. 'alt-shift': [
  601. '~ ! @ # $ % ^ & * ( ) _ + {bksp}',
  602. '{tab} Q W E R T Y U I O \u1E56 { } |',
  603. 'A \u0160 D F \u01e6 \u1e2a J K L : \u02bf {enter}',
  604. '{shift} \u017d X \u010c\u0323 \u010c B \u00d1 M < > ? {shift}',
  605. '{accept} {alt} {space} {alt} {cancel}'
  606. ]
  607. };
  608. /* French keyboard layouts
  609. * contains layout: french-azerty-1 and 'french-azerty-2'
  610. *
  611. * To use:
  612. * Point to this js file into your page header: <script src="layouts/french.js" type="text/javascript"></script>
  613. * Initialize the keyboard using: $('input').keyboard({ layout: 'french-azerty-1' });
  614. *
  615. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  616. */
  617. /* based on http://ascii-table.com/keyboard.php/189 & thanks to Nathana�l SEMHOUN: http://nathanael.semhoun.net */
  618. jQuery.keyboard.layouts['french-azerty-1'] = {
  619. 'name' : 'french-azerty-1',
  620. 'lang' : ['fr'],
  621. 'normal' : [
  622. "\u00b2 & \u00e9 \" ' ( - \u00e8 _ \u00e7 \u00e0 ) = {bksp}",
  623. "{tab} a z e r t y u i o p ^ $",
  624. "q s d f g h j k l m \u00f9 * {enter}",
  625. "{shift} < w x c v b n , ; : ! {shift}",
  626. "{accept} {alt} {space} {alt} {cancel}"
  627. ],
  628. 'shift' : [
  629. "{sp:1} 1 2 3 4 5 6 7 8 9 0 \u00b0 + {bksp}",
  630. "{tab} A Z E R T Y U I O P \u00a8 \u00a3",
  631. "Q S D F G H J K L M % \u00b5 {enter}",
  632. "{shift} > W X C V B N ? . / \u00a7 {shift}",
  633. "{accept} {alt} {space} {alt} {cancel}"
  634. ],
  635. 'alt' : [
  636. "\u00b2 & ~ # { [ | ` \\ ^ @ ] } {bksp}",
  637. "{tab} a z \u20ac r t y u i o p ^ \u00a4",
  638. "q s d f g h j k l m \u00f9 * {enter}",
  639. "{shift} < w x c v b n , ; : ! {shift}",
  640. "{accept} {alt} {space} {alt} {cancel}"
  641. ],
  642. 'alt-shift' : [
  643. "{sp:1} 1 ~ # { [ | ` \\ ^ @ ] } {bksp}",
  644. "{tab} A Z \u20ac R T Y U I O P \u00a8 \u00a4",
  645. "Q S D F G H J K L M % \u00b5 {enter}",
  646. "{shift} > W X C V B N ? . / \u00a7 {shift}",
  647. "{accept} {alt} {space} {alt} {cancel}"
  648. ],
  649. };
  650. jQuery.keyboard.layouts['french-azerty-2'] = {
  651. 'name' : 'french-azerty-2',
  652. 'lang' : ['fr'],
  653. 'normal' : [
  654. "\u00b2 & \u00e9 \" ' ( - \u00e8 _ \u00e7 \u00e0 ) = {b}",
  655. "{t} a z e r t y u i o p ^ $",
  656. "q s d f g h j k l m \u00f9 * {e}",
  657. "{s} < w x c v b n , ; : ! {s}",
  658. "{a} {alt} {space} {alt} {c}"
  659. ],
  660. 'shift' : [
  661. "{sp:1} 1 2 3 4 5 6 7 8 9 0 \u00b0 + {b}",
  662. "{t} A Z E R T Y U I O P \u00a8 \u00a3",
  663. "Q S D F G H J K L M % \u00b5 {e}",
  664. "{s} > W X C V B N ? . / \u00a7 {s}",
  665. "{a} {alt} {space} {alt} {c}"
  666. ],
  667. 'alt' : [
  668. "\u00b2 & ~ # { [ | ` \\ ^ @ ] } {b}",
  669. "{t} a z \u20ac r t y u i o p ^ \u00a4",
  670. "q s d f g h j k l m \u00f9 * {e}",
  671. "{s} < w x c v b n , ; : ! {s}",
  672. "{a} {alt} {space} {alt} {c}"
  673. ],
  674. 'alt-shift' : [
  675. "{sp:1} 1 ~ # { [ | ` \\ ^ @ ] } {b}",
  676. "{t} A Z \u20ac R T Y U I O P \u00a8 \u00a4",
  677. "Q S D F G H J K L M % \u00b5 {e}",
  678. "{s} > W X C V B N ? . / \u00a7 {s}",
  679. "{a} {alt} {space} {alt} {c}"
  680. ],
  681. };
  682. jQuery.keyboard.layouts['french-bepo-V1.0rc2'] = {
  683. 'name' : 'french-bepo-V1.0rc2',
  684. 'lang' : ['fr'],
  685. 'normal' : [
  686. "$ \" \u00AB \u00BB ( ) @ + - / * = % {b}",
  687. "{t} b \u00e9 p o \u00e8 \u02c6 v d l j z w",
  688. "a u i e , c t s r n m \u00E7 {enter}",
  689. "{s} \u00ea \u00E0 y x . k \' q g h f {s}",
  690. "{a} {alt} {space} {alt} {c}"
  691. ],
  692. 'shift' : [
  693. "# 1 2 3 4 5 6 7 8 9 0 \u00b0 ` {b}",
  694. "{t} B \u00c9 P O \u00c8 ! V D L J Z W",
  695. "A U I E ; C T S R N M \u00c7 {enter}",
  696. "{s} \u00ca \u00c0 Y X : K ? Q G H F {s}",
  697. "{a} {alt} {space} {alt} {c}"
  698. ],
  699. 'alt' : [
  700. "\u2013 \u2014 < > [ ] ^ \u00b1 \u2212 \u00f7 \u00d7 \u2260 \u2030 {b}",
  701. "{t} | \u00b4 & \u0153 ` \u00a1 \u02c7 \u00f0 / \u0133 \u0259 \u02d8",
  702. "\u00e6 \u00f9 \u00a8 \u20ac \u2019 \u00a9 \u00fe \u00df \u00ae ~ \u00af \u00b8 {enter}",
  703. "{s} / \\ { } \u2026 ~ \u00bf \u00b0 \u00b5 \u2020 \u02db {s}",
  704. "{a} {alt} {space} {alt} {c}"
  705. ],
  706. 'alt-shift' : [
  707. "\u00b6 \u201e \u201c \u201d \u2264 \u2265 {empty} \u00ac \u00bc \u00bd \u00be \u2032 \u2033 {b}",
  708. "{t} \u00A6 \u02DD \u00A7 \u0152 ` \u00A1 {empty} \u00D0 {empty} \u0132 \u018F \u02d8",
  709. "\u00c6 \u00d9 \u02d9 \u00a4 \u031b \u017f \u00de \u1e9e \u2122 {empty} \u00ba , {enter}",
  710. "{s} {empty} {empty} \u2018 \u2019 \u00B7 {empty} \u0309 \u0323 {empty} \u2021 \u00AA {s}",
  711. "{a} {alt} {space} {alt} {c}"
  712. ]
  713. };
  714. /* German keyboard layouts
  715. * contains layout: 'german-qwertz-1' & 'german-qwertz-2'
  716. *
  717. * To use:
  718. * Point to this js file into your page header: <script src="layouts/german.js" type="text/javascript"></script>
  719. * Initialize the keyboard using: $('input').keyboard({ layout: 'german-qwertz-1' });
  720. *
  721. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  722. */
  723. /* from http://ascii-table.com/keyboard.php/129 */
  724. jQuery.keyboard.layouts['german-qwertz-1'] = {
  725. 'name' : 'german-qwertz-1',
  726. 'lang' : ['de'],
  727. 'normal' : [
  728. "\u0302 1 2 3 4 5 6 7 8 9 0 \u00df \u0301 {bksp}",
  729. "{tab} q w e r t z u i o p \u00fc +",
  730. "a s d f g h j k l \u00f6 \u00e4 # {enter}",
  731. "{shift} < y x c v b n m , . - {shift}",
  732. "{accept} {alt} {space} {alt} {cancel}"
  733. ],
  734. 'shift' : [
  735. '\u00b0 ! " \u00a7 $ % & / ( ) = ? \u0300 {bksp}',
  736. "{tab} Q W E R T Z U I O P \u00dc *",
  737. "A S D F G H J K L \u00d6 \u00c4 ' {enter}",
  738. "{shift} > Y X C V B N M ; : _ {shift}",
  739. "{accept} {alt} {space} {alt} {cancel}"
  740. ],
  741. 'alt' : [
  742. '\u0302 1 \u00b2 \u00b3 4 5 6 { [ ] } \\ \u0301 {bksp}',
  743. "{tab} @ w \u20ac r t z u i o p \u00fc \u0303",
  744. "a s d f g h j k l \u00f6 \u00e4 # {enter}",
  745. "{shift} \u007c y x c v b n \u00b5 , . - {shift}",
  746. "{accept} {alt} {space} {alt} {cancel}"
  747. ]
  748. };
  749. /* from http://ascii-table.com/keyboard.php/150G-1 */
  750. jQuery.keyboard.layouts['german-qwertz-2'] = {
  751. 'name' : 'german-qwertz-2',
  752. 'lang' : ['de'],
  753. 'normal' : [
  754. "\u00a7 1 2 3 4 5 6 7 8 9 0 ' \u0302 {bksp}",
  755. "{tab} q w e r t z u i o p \u00fc \u0308",
  756. "a s d f g h j k l \u00f6 \u00e4 $ {enter}",
  757. "{shift} < y x c v b n m , . - {shift}",
  758. "{accept} {alt} {space} {alt} {cancel}"
  759. ],
  760. 'shift' : [
  761. '\u00b0 + " * \u00e7 % & / ( ) = ? \u0300 {bksp}',
  762. "{tab} Q W E R T Z U I O P \u00e8 !",
  763. "A S D F G H J K L \u00e9 \u00e0 \u00a3 {enter}",
  764. "{shift} > Y X C V B N M ; : _ {shift}",
  765. "{accept} {alt} {space} {alt} {cancel}"
  766. ],
  767. 'alt' : [
  768. "\u00a7 \u007c @ # 4 5 \u00ac \u00a6 \u00a2 9 0 \u0301 \u0303 {bksp}",
  769. "{tab} q w \u20ac r t z u i o p [ ]",
  770. "a s d f g h j k l \u00f6 { } {enter}",
  771. "{shift} \\ y x c v b n m , . - {shift}",
  772. "{accept} {alt} {space} {alt} {cancel}"
  773. ]
  774. };
  775. /* Hebrew keyboard layouts
  776. * contains layout: 'hebrew-qwerty'
  777. *
  778. * To use:
  779. * Point to this js file into your page header: <script src="layouts/hebrew.js" type="text/javascript"></script>
  780. * Initialize the keyboard using: $('input').keyboard({ layout: 'hebrew-qwerty' });
  781. *
  782. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  783. */
  784. /* based on http://ascii-table.com/keyboard.php/212 */
  785. jQuery.keyboard.layouts['hebrew-qwerty'] = {
  786. 'name' : 'hebrew-qwerty',
  787. 'lang' : ['he'],
  788. 'normal' : [
  789. '; 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  790. "{tab} / ' \u05e7 \u05e8 \u05d0 \u05d8 \u05d5 \u05df \u05dd \u05e4 [ ] \\",
  791. "\u05e9 \u05d3 \u05d2 \u05db \u05e2 \u05d9 \u05d7 \u05dc \u05da \u05e3 , {enter}",
  792. "{shift} \u05d6 \u05e1 \u05d1 \u05d4 \u05e0 \u05de \u05e6 \u05ea \u05e5 . {shift}",
  793. "{accept} {alt} {space} {alt} {cancel}"
  794. ],
  795. 'alt-shift' : [
  796. "~ ! @ # $ % ^ & * ( ) _ + {bksp}",
  797. "{tab} Q W E R T Y U I O P { } |",
  798. 'A S D F G H J K L : " {enter}',
  799. "{shift} Z X C V B N M < > ? {shift}",
  800. "{accept} {alt} {space} {alt} {cancel}"
  801. ],
  802. 'alt' : [
  803. '` 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  804. "{tab} q w e r t y u i o p [ ] \\",
  805. "a s d f g h j k l ; ' {enter}",
  806. "{shift} z x c v b n m , . / {shift}",
  807. "{accept} {alt} {space} {alt} {cancel}"
  808. ]
  809. };
  810. /* Hindi keyboard layouts
  811. * contains layout: 'hindi'
  812. *
  813. * To use:
  814. * Point to this js file into your page header: <script src="layouts/hindi.js" type="text/javascript"></script>
  815. * Initialize the keyboard using: $('input').keyboard({ layout: 'hindi' });
  816. *
  817. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  818. */
  819. jQuery.keyboard.layouts['hindi'] = {
  820. 'name' : 'hindi',
  821. 'lang' : ['hi'],
  822. 'normal' : [
  823. '` \u090D \u0945 \u094D\u0930 \u0930\u094D \u091C\u094D\u091E \u0924\u094D\u0930 \u0915\u094D\u0937 \u0936\u094D\u0930 \u096F \u0966 - \u0943 {bksp}',
  824. '{tab} \u094C \u0948 \u093E \u0940 \u0942 \u092C \u0939 \u0917 \u0926 \u091C \u0921 \u093C \u0949 \\',
  825. '\u094B \u0947 \u094D \u093F \u0941 \u092A \u0930 \u0915 \u0924 \u091A \u091F {enter}',
  826. '{shift} \u0902 \u092E \u0928 \u0935 \u0932 \u0938 , . \u092F {shift}',
  827. '{accept} {alt} {space} {alt} {cancel}'
  828. ],
  829. 'shift' : [
  830. '~ \u0967 \u0968 \u0969 \u096A \u096B \u096C \u096D \u096E \u096F \u0966 \u0903 \u090B {bksp}',
  831. '{tab} \u0914 \u0910 \u0906 \u0908 \u090A \u092D \u0919 \u0918 \u0927 \u091D \u0922 \u091E \u0911',
  832. '\u0913 \u090F \u0905 \u0907 \u0909 \u092B \u0931 \u0916 \u0925 \u091B \u0920 {enter}',
  833. '{shift} "" \u0901 \u0923 \u0928 \u0935 \u0933 \u0936 \u0937 \u0964 \u095F {shift}',
  834. '{accept} {alt} {space} {alt} {cancel}'
  835. ],
  836. 'alt' : [
  837. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  838. "{tab} q w e r t y u i o p [ ] \\",
  839. "a s d f g h j k l ; ' {enter}",
  840. "{shift} z x c v b n m , . / {shift}",
  841. "{accept} {alt} {space} {alt} {cancel}"
  842. ],
  843. 'alt-shift' : [
  844. "~ ! @ # $ % ^ & * ( ) _ + {bksp}",
  845. "{tab} Q W E R T Y U I O P { } |",
  846. 'A S D F G H J K L : " {enter}',
  847. "{shift} Z X C V B N M < > ? {shift}",
  848. "{accept} {alt} {space} {alt} {cancel}"
  849. ]
  850. };
  851. /* hungarian keyboard layouts
  852. * file codepage: this file use utf8 without bom, non ansi
  853. * contains layout: 'hungarian-qwertz-1' & 'hungarian-qwertz-2'
  854. *
  855. * To use:
  856. * Point to this js file into your page header: <script src="layouts/hungarian.js" type="text/javascript"></script>
  857. * Initialize the keyboard using: $('input').keyboard({ layout: 'hungarian-qwerty-2' });
  858. *
  859. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  860. */
  861. /* qwertz by Tóth Gergely (https://github.com/tgely) - */
  862. jQuery.keyboard.layouts['hungarian-qwertz-1'] = {
  863. 'name' : 'hungarian-qwertz-1',
  864. 'lang' : ['hu'],
  865. "default" : [
  866. "0 1 2 3 4 5 6 7 8 9 \u00f6 \u00fc \u00f3 \u0171 {bksp}",
  867. "{tab} q w e r t z u i o p \u0151 \u00fa",
  868. "a s d f g h j k l \u00e9 \u00e1 {enter}",
  869. "{shift} \u00ed y x c v b n m , . - {shift}",
  870. "{accept} {alt} {space} {alt} {cancel}"
  871. ],
  872. "shift" : [
  873. "\u00a7 ' \" + ! % / = ( ) \u00d6 \u00dc \u00d3 \u0170 {bksp}",
  874. "{tab} Q W E R T Z U I O P \u0150 \u00da",
  875. "A S D F G H J K L \u00c9 \u00c1 {enter}",
  876. "{shift} \u00cd Y X C V B N M ; : _ {shift}",
  877. "{accept} {alt} {space} {alt} {cancel}"
  878. ],
  879. "alt" : [
  880. "{sp:1} ~ \u02c7 ^ \u02d8 \u00b0 \u02db ` \u02d9 \u00b4 \u02dd \u00a8 \u00b8 \u00a4 {bksp}",
  881. "{tab} \\ | \u00c4 {sp:1} {sp:1} {sp:1} \u20ac \u00cd {sp:1} {sp:1} \u00f7 \u00d7",
  882. "\u00e4 \u0111 \u0110 [ ] {sp:1} \u00ed \u0142 \u0141 $ \u00df {enter}",
  883. "{shift} < > # & @ { } < ; > * {shift}",
  884. "{accept} {alt} {space} {alt} {cancel}"
  885. ]
  886. };
  887. jQuery.keyboard.layouts['hungarian-qwertz-2'] = {
  888. 'name' : 'hungarian-qwertz-2',
  889. 'lang' : ['hu'],
  890. "default" : [
  891. "0 1 2 3 4 5 6 7 8 9 \u00f6 \u00fc \u00f3 {bksp}",
  892. "{tab} q w e r t z u i o p \u0151 \u00fa",
  893. "a s d f g h j k l \u00e9 \u00e1 \u0171 {enter}",
  894. "{shift} \u00ed y x c v b n m , . - {shift}",
  895. "{accept} {alt} {space} {alt} {cancel}"
  896. ],
  897. "shift" : [
  898. "\u00a7 ' \" + ! % / = ( ) \u00d6 \u00dc \u00d3 {bksp}",
  899. "{tab} Q W E R T Z U I O P \u0150 \u00da",
  900. "A S D F G H J K L \u00c9 \u00c1 \u0170 {enter}",
  901. "{shift} \u00cd Y X C V B N M ; : _ {shift}",
  902. "{accept} {alt} {space} {alt} {cancel}"
  903. ],
  904. "alt" : [
  905. "{sp:1} ~ \u02c7 ^ \u02d8 \u00b0 \u02db ` \u02d9 \u00b4 \u02dd \u00a8 \u00b8 {bksp}",
  906. "{tab} \\ | \u00c4 {sp:1} {sp:1} {sp:1} \u20ac \u00cd {sp:1} {sp:1} \u00f7 \u00d7",
  907. "\u00e4 \u0111 \u0110 [ ] {sp:1} \u00ed \u0142 \u0141 $ \u00df \u00a4 {enter}",
  908. "{shift} < > # & @ { } < ; > * {shift}",
  909. "{accept} {alt} {space} {alt} {cancel}"
  910. ]
  911. };
  912. /* hungarian ansi keyboard layouts
  913. * file codepage: ansi
  914. * contains layout: 'hungariansi-qwertz-1' & 'hungariansi-qwertz-2'
  915. *
  916. * To use:
  917. * Point to this js file into your page header: <script src="layouts/hungarianansi.js" type="text/javascript"></script>
  918. * Initialize the keyboard using: $('input').keyboard({ layout: 'hungarianansi-qwerty-2' });
  919. *
  920. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  921. */
  922. /* qwertz by Tóth Gergely (https://github.com/tgely) - helped :http://www.fileformat.info/info/unicode/char/search.htm */
  923. jQuery.keyboard.layouts['hungarianansi-qwertz-1'] = {
  924. 'name' : 'hungarianansi-qwertz-1',
  925. 'lang' : ['hu'],
  926. 'normal' : [
  927. "0 1 2 3 4 5 6 7 8 9 \u00f6 \u00fc \u00f3 \u0171 {bksp}",
  928. "{tab} q w e r t z u i o p \u0151 \u00fa",
  929. "a s d f g h j k l \u00e9 \u00e1 {enter}",
  930. "{shift} \u00ed y x c v b n m , . - {shift}",
  931. "{accept} {alt} {space} {alt} {cancel}"
  932. ],
  933. 'shift' : [
  934. '\u00a7 \u0027 " + ! % / = ( ) \u00d6 \u00dc \u00d3 \u0170 {bksp}',
  935. "{tab} Q W E R T Z U I O P \u0150 \u00da",
  936. "A S D F G H J K L \u00c9 \u00c1 {enter}",
  937. "{shift} \u00cd Y X C V B N M ; : _ {shift}",
  938. "{accept} {alt} {space} {alt} {cancel}"
  939. ],
  940. 'alt' : [
  941. '{sp:1} \u007e \u02c7 \u005e \u02d8 \u00b0 \u02db \u0060 \u02d9 \u00b4 \u02dd \u00a8 \u00b8 \u00a4 {bksp}', // most of non used
  942. '{tab} \\ | \u00c4 {sp:1} {sp:1} {sp:1} \u20ac \u00cd {sp:1} {sp:1} \u00f7 \u00d7',
  943. '\u00e4 \u0111 \u0110 [ ] {sp:1} \u00ed \u0142 \u0141 $ \u00df {enter}',
  944. '{shift} < > # & @ { } < ; > * {shift}',
  945. '{accept} {alt} {space} {alt} {cancel}'
  946. ]
  947. };
  948. jQuery.keyboard.layouts['hungarianansi-qwertz-2'] = {
  949. 'name' : 'hungarianansi-qwertz-2',
  950. 'lang' : ['hu'],
  951. 'normal' : [
  952. "0 1 2 3 4 5 6 7 8 9 \u00f6 \u00fc \u00f3 {bksp}",
  953. "{tab} q w e r t z u i o p \u0151 \u00fa",
  954. "a s d f g h j k l \u00e9 \u00e1 \u0171 {enter}",
  955. "{shift} \u00ed y x c v b n m , . - {shift}",
  956. "{accept} {alt} {space} {alt} {cancel}"
  957. ],
  958. 'shift' : [
  959. '\u00a7 \u0027 " + ! % / = ( ) \u00d6 \u00dc \u00d3 {bksp}',
  960. "{tab} Q W E R T Z U I O P \u0150 \u00da",
  961. "A S D F G H J K L \u00c9 \u00c1 \u0170 {enter}",
  962. "{shift} \u00cd Y X C V B N M ; : _ {shift}",
  963. "{accept} {alt} {space} {alt} {cancel}"
  964. ],
  965. 'alt' : [
  966. '{sp:1} \u007e \u02c7 \u005e \u02d8 \u00b0 \u02db \u0060 \u02d9 \u00b4 \u02dd \u00a8 \u00b8 {bksp}', // most of non used
  967. '{tab} \\ | \u00c4 {sp:1} {sp:1} {sp:1} \u20ac \u00cd {sp:1} {sp:1} \u00f7 \u00d7',
  968. '\u00e4 \u0111 \u0110 [ ] {sp:1} \u00ed \u0142 \u0141 $ \u00df \u00a4 {enter}',
  969. '{shift} < > # & @ { } < ; > * {shift}',
  970. '{accept} {alt} {space} {alt} {cancel}'
  971. ]
  972. };
  973. /* Japanese (hiragana and katakana) keyboard layouts
  974. * contains layouts for: 'japanese-kana' & 'japanese-qwerty'
  975. *
  976. * To use:
  977. * Point to this js file into your page header: <script src="layouts/japanese.js" type="text/javascript"></script>
  978. * Initialize the keyboard using: $('input').keyboard({ layout: 'japanese-kana' });
  979. *
  980. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  981. *
  982. * Japanese layout by Paco Alcantara (https://github.com/pacoalcantara), based on:
  983. * http://www.fileformat.info/info/unicode/char/search.htm
  984. * http://www.tamasoft.co.jp/en/general-info/unicode.html
  985. * http://ascii-table.com/keyboard.php/194
  986. * Preferably use 'japanese-kana' unless roma-ji characters are needed on input.
  987. */
  988. jQuery.keyboard.layouts['japanese-kana'] = {
  989. 'name' : 'japanese-kana',
  990. 'lang' : ['ja'],
  991. 'normal' : [
  992. '0 1 2 3 4 5 6 7 8 9',
  993. '\u3042 \u3044 \u3046 \u3048 \u304a \u306f \u3072 \u3075 \u3078 \u307b',
  994. '\u304b \u304d \u304f \u3051 \u3053 \u307e \u307f \u3080 \u3081 \u3082',
  995. '\u3055 \u3057 \u3059 \u305b \u305d \u3084 \u3086 \u3088 {bksp}',
  996. '\u305f \u3061 \u3064 \u3066 \u3068 \u3089 \u308a \u308b \u308c \u308d',
  997. '\u306a \u306b \u306c \u306d \u306e \u308f \u3092 \u3093 \u3090 \u3091',
  998. '\u3041 \u3043 \u3045 \u3047 \u3049 \u3099 \u309a \u0301 {shift}',
  999. '\u3083 \u3085 \u3087 \u3063 \u0301 \u30fb \u30fc \u301c {alt}',
  1000. '{accept} {space} {cancel} {enter}'
  1001. ],
  1002. 'shift' : [
  1003. '0 1 2 3 4 5 6 7 8 9',
  1004. '\u30a2 \u30a4 \u30a6 \u30a8 \u30aa \u30cf \u30d2 \u30d5 \u30d8 \u30db',
  1005. '\u30ab \u30ad \u30af \u30b1 \u30b3 \u30de \u30df \u30e0 \u30e1 \u30e2',
  1006. '\u30b5 \u30b7 \u30b9 \u30bb \u30bd \u30e4 \u30e6 \u30e8 {bksp}',
  1007. '\u30bf \u30c1 \u30c4 \u30c6 \u30c8 \u30e9 \u30ea \u30eb \u30ec \u30ed',
  1008. '\u30ca \u30cb \u30cc \u30cd \u30ce \u30ef \u30f2 \u30f3 \u30f0 \u30f1',
  1009. '\u30a1 \u30a3 \u30a5 \u30a7 \u30a9 \u3099 \u309a \u0301 {shift}',
  1010. '\u30e3 \u30e5 \u30e7 \u30c3 \u0301 \u30fb \u30fc \u301c {alt}',
  1011. '{accept} {space} {cancel} {enter}'
  1012. ],
  1013. 'alt' : [
  1014. '0 1 2 3 4 5 6 7 8 9 - ^ \uffe5 {bksp}',
  1015. "{tab} q w e r t y u i o p \u0040 [",
  1016. "a s d f g h j k l ; : ] {enter}",
  1017. " {shift} z x c v b n m , . / \\ {shift}",
  1018. "{accept} {space} {alt} {cancel}"
  1019. ],
  1020. 'alt-shift' : [
  1021. '0 1 2 3 4 5 6 7 8 9 - ^ \uffe5 {bksp}',
  1022. "{tab} Q W E R T Y U I O P \u0040 [",
  1023. "A S D F G H J K L ; : ] {enter}",
  1024. " {shift} Z X C V B N M , . / \\ {shift}",
  1025. "{accept} {space} {alt} {cancel}"
  1026. ]
  1027. };
  1028. jQuery.keyboard.layouts['japanese-qwerty'] = {
  1029. 'name' : 'japanese-qwerty',
  1030. 'lang' : ['ja'],
  1031. 'normal' : [
  1032. "1 2 3 4 5 6 7 8 9 0 - ^ \u00a5 {bksp}",
  1033. "{tab} q w e r t y u i o p \u0040 [",
  1034. "a s d f g h j k l ; : ] {enter}",
  1035. "{shift} z x c v b n m , . / \\ {shift}",
  1036. "{accept} {alt} {space} {alt} {cancel}"
  1037. ],
  1038. 'shift' : [
  1039. "! \" # $ % & \' ( ) \u0301 = ~ | {bksp}",
  1040. "{tab} Q W E R T Y U I O P \u0060 {",
  1041. "A S D F G H J K L + * } {enter}",
  1042. "{shift} Z X C V B N M < > ? _ {shift}",
  1043. "{accept} {alt} {space} {alt} {cancel}"
  1044. ],
  1045. 'alt' : [
  1046. "\u306c \u3075 \u3042 \u3046 \u3048 \u304a \u3084 \u3086 \u3088 \u308f \u307b \u3078 \uff70 {bksp}",
  1047. "{tab} \u305f \u3066 \u3044 \u3059 \u304b \u3093 \u306a \u306b \u3089 \u305b \uff9e \uff9f",
  1048. "\u3061 \u3068 \u3057 \u306f \u304d \u304f \u307e \u306e \u308a \u308c \u3051 \u3080 {enter}",
  1049. "{shift} \u3064 \u3055 \u305d \u3072 \u3053 \u307f \u3082 \u306d \u308b \u3081 \u308d {shift}",
  1050. "{accept} {alt} {space} {alt} {cancel}"
  1051. ],
  1052. 'alt-shift' : [
  1053. "\u0301 \u0301 \u3041 \u3045 \u3047 \u3049 \u3083 \u3085 \u3087 \u3092 \u0301 \u0301 \u0301 {bksp}",
  1054. "{tab} \u0301 \u0301 \u3043 \u0301 \u0301 \u0301 \u0301 \u0301 \u0301 \u0301 \u0301 \uff62",
  1055. "\u0301 \u0301 \u0301 \u0301 \u0301 \u0301 \u0301 \u0301 \u0301 \u0301 \u30f6 \uff63 {enter}",
  1056. "{shift} \u3063 \u0301 \u0301 \u0301 \u0301 \u0301 \u0301 \uff64 \uff61 \uff65 \u00a6 {shift}",
  1057. "{accept} {alt} {space} {alt} {cancel}"
  1058. ]
  1059. };
  1060. /* Latvian keyboard layouts
  1061. * contains layout: 'latvian-qwerty'
  1062. *
  1063. * To use:
  1064. * Point to this js file into your page header: <script src="layouts/latvian.js" type="text/javascript"></script>
  1065. * Initialize the keyboard using: $('input').keyboard({ layout: 'latvian-qwerty' });
  1066. *
  1067. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1068. */
  1069. jQuery.keyboard.layouts['latvian-qwerty'] = {
  1070. 'name' : 'latvian-qwerty',
  1071. 'lang' : ['lv'],
  1072. 'normal' : [
  1073. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  1074. "{tab} q w e r t y u i o p [ ] \u00B0",
  1075. "a s d f g h j k l ; ' {enter}",
  1076. "{shift} z x c v b n m , . / {shift}",
  1077. "{accept} {alt} {space} {alt} {cancel}"
  1078. ],
  1079. 'shift' : [
  1080. '~ ! @ # $ % ^ & * ( ) _ + {bksp}',
  1081. "{tab} Q W E R T Y U I O P { } |",
  1082. 'A S D F G H J K L : " {enter}',
  1083. "{shift} Z X C V B N M < > ? {shift}",
  1084. "{accept} {alt} {space} {alt} {cancel}"
  1085. ],
  1086. 'alt' : [
  1087. "\u00ac 1 \u00AB \u00BB \u20AC 5 \u2019 7 8 9 0 \u2013 = {bksp}",
  1088. "{tab} q w \u0113 \u0157 t y \u016B \u012B \u014D p [ ] \u00B0",
  1089. "\u0101 \u0161 d f \u0123 h j \u0137 \u013C ; \u00B4 {enter}",
  1090. "{shift} \u017E x \u010D v b \u0146 m , . / {shift}",
  1091. "{accept} {alt} {space} {alt} {cancel}"
  1092. ],
  1093. 'alt-shift' : [
  1094. '~ 1 2 3 4 \u00A7 \u00AB 7 \u00B1 \u00D7 0 \u2014 = {bksp}',
  1095. "{tab} Q W \u0112 \u0156 T Y \u016A \u012A \u014C P { } |",
  1096. '\u0100 \u0160 D F \u0122 H J \u0136 \u013B : \u00A8 {enter}',
  1097. "{shift} \u017D X \u010C V B \u0145 M < > ? {shift}",
  1098. "{accept} {alt} {space} {alt} {cancel}"
  1099. ]
  1100. };
  1101. /* Mongolian keyboard layouts
  1102. * contains layout: 'mongolian'
  1103. *
  1104. * To use:
  1105. * Point to this js file into your page header: <script src="layouts/mongolian.js" type="text/javascript"></script>
  1106. * Initialize the keyboard using: $('input').keyboard({ layout: 'mongolian' });
  1107. *
  1108. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1109. */
  1110. jQuery.keyboard.layouts['mongolian'] = {
  1111. 'name' : 'mongolian',
  1112. 'lang' : ['mn'],
  1113. 'normal' : [
  1114. '= \u2116 - " \u20AE : . _ , % ? \u0435 \u0449 {bksp}',
  1115. '{tab} \u0444 \u0446 \u0443 \u0436 \u044d \u043D \u0433 \u0448 \u04af \u0437 \u043A \u044A \\',
  1116. '\u0439 \u044B \u0431 \u04e9 \u0430 \u0445 \u0440 \u043e \u043B \u0434 \u043f {enter}',
  1117. '{shift} \u044F \u0447 \u0451 \u0441 \u043c \u0438 \u0442 \u044c \u0432 \u044e {shift}',
  1118. '{accept} {alt} {space} {alt} {cancel}'
  1119. ],
  1120. 'shift' : [
  1121. '+ 1 2 3 4 5 6 7 8 9 0 \u0415 \u0429 {bksp}',
  1122. '{tab} \u0424 \u0426 \u0423 \u0416 \u042d \u041D \u0413 \u0428 \u04AE \u0417 \u041a \u042A |',
  1123. '\u0419 \u042B \u0411 \u04e8 \u0410 \u0425 \u0420 \u041e \u041b \u0414 \u041f {enter}',
  1124. '{shift} \u042F \u0427 \u0401 \u0421 \u041c \u0418 \u0422 \u042c \u0412 \u042e {shift}',
  1125. '{accept} {alt} {space} {alt} {cancel}'
  1126. ],
  1127. 'alt' : [
  1128. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  1129. "{tab} q w e r t y u i o p [ ] \\",
  1130. "a s d f g h j k l ; ' {enter}",
  1131. "{shift} z x c v b n m , . / {shift}",
  1132. "{accept} {alt} {space} {alt} {cancel}"
  1133. ],
  1134. 'alt-shift' : [
  1135. "~ ! @ # $ % ^ & * ( ) _ + {bksp}",
  1136. "{tab} Q W E R T Y U I O P { } |",
  1137. 'A S D F G H J K L : " {enter}',
  1138. "{shift} Z X C V B N M < > ? {shift}",
  1139. "{accept} {alt} {space} {alt} {cancel}"
  1140. ]
  1141. };
  1142. /* Persian (Farsi) keyboard layouts
  1143. * translate by Majid Ramezani -> majid.r830@gmail.com
  1144. * ---------------------------------------------------------------------------------------------------------
  1145. * To use:
  1146. * Point to this js file into your page header: <script src="layouts/persian.js" type="text/javascript"></script>
  1147. * Initialize the keyboard using: $('input').keyboard({ layout: 'Persian' });
  1148. * in select add - > "Persian (Farsi), persian, Persian",
  1149. *
  1150. * based on http://unicode-table.com/en/#
  1151. */
  1152. jQuery.keyboard.layouts['Persian'] = {
  1153. 'name': 'Persian (Farsi)',
  1154. 'lang': ['fa'],
  1155. 'normal': [
  1156. '~ \u06f1 \u06f2 \u06f3 \u06f4 \u06f5 \u06f6 \u06f7 \u06f8 \u06f9 \u06f0 - = {bksp}',
  1157. '{tab} \u0636 \u0635 \u062b \u0642 \u0641 \u063a \u0639 \u0647 \u062e \u062d \u062c \u0686 \u067e',
  1158. '{lock} \u0634 \u0633 \u06cc \u0628 \u0644 \u0627 \u062a \u0646 \u0645 \u0643 \u06af {enter}',
  1159. '{shift} \u0638 \u0637 \u0632 \u0698 \u0631 \u0630 \u062f \u0678 \u0648 . \u061f {shift}',
  1160. '{accept} {alt} {space} {alt} {cancel}'
  1161. ],
  1162. 'shift': [
  1163. '\u00a9 \u0021 \u0040 \u0023 \u0024 \u0025 \u005e \u0026 \u002a \u0028 \u0029 \u005f \u002b {bksp}',
  1164. '{tab} \u064b \u064c \u064d \u00ae \u060c \u061b \u002c \u005d \u005b \u007d \u007b \u00d7 \u00b1',
  1165. '{lock} \u064e \u064f \u0650 \u0651 \u06c0 \u0622 \u0640 \u00ab \u00bb : " {enter}',
  1166. '{shift} \u0629 \u064a \u00b0 \u0624 \u0625 \u0623 \u0621 \u003c \u003e \u00a6 \u00f7 {shift}',
  1167. '{accept} {alt} {space} {alt} {cancel}'
  1168. ],
  1169. 'alt': [
  1170. '` 1 2 3 4 5 6 7 8 9 0 - = {bksp}',
  1171. '{tab} q w e r t y u i o p [ ] \\',
  1172. '{lock} a s d f g h j k l ; \' {enter}',
  1173. '{shift} z x c v b n m , . / {shift}',
  1174. '{accept} {alt} {space} {alt} {cancel}'
  1175. ],
  1176. 'alt-shift': [
  1177. '~ ! @ # $ % ^ & * ( ) _ + {bksp}',
  1178. '{tab} Q W E R T Y U I O P { } |',
  1179. '{lock} A S D F G H J K L : " {enter}',
  1180. '{shift} Z X C V B N M < > ? {shift}',
  1181. '{accept} {alt} {space} {alt} {cancel}'
  1182. ]
  1183. };
  1184. /* Polish keyboard layouts
  1185. * contains layout: 'polish-qwerty'
  1186. * Author: Piotr Roznicki
  1187. *
  1188. * To use:
  1189. * Point to this js file into your page header: <script src="layouts/polish.js" type="text/javascript"></script>
  1190. * Initialize the keyboard using: $('input').keyboard({ layout: 'polish-qwerty' });
  1191. *
  1192. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1193. */
  1194. jQuery.keyboard.layouts['polish-qwerty'] = {
  1195. 'name' : 'polish-qwerty',
  1196. 'lang' : ['pl'],
  1197. 'normal' : [
  1198. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  1199. "{tab} q w e r t y u i o p [ ] \u00B0",
  1200. "a s d f g h j k l ; ' {enter}",
  1201. "{shift} z x c v b n m , . / {shift}",
  1202. "{accept} {alt} {space} {alt} {cancel}"
  1203. ],
  1204. 'shift' : [
  1205. '~ ! @ # $ % ^ & * ( ) _ + {bksp}',
  1206. "{tab} Q W E R T Y U I O P { } |",
  1207. 'A S D F G H J K L : " {enter}',
  1208. "{shift} Z X C V B N M < > ? {shift}",
  1209. "{accept} {alt} {space} {alt} {cancel}"
  1210. ],
  1211. 'alt' : [
  1212. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  1213. "{tab} q w \u0119 r t y \u20ac i \u00f3 p [ ] \u00B0",
  1214. '\u0105 \u015b d f g h j k \u0142 : " {enter}',
  1215. "{shift} \u017c \u017a \u0107 v b \u0144 m , . / {shift}",
  1216. "{accept} {alt} {space} {alt} {cancel}"
  1217. ]
  1218. };
  1219. /* Portuguese (pt) keyboard layout
  1220. * contains layout: 'portuguese-qwerty'
  1221. *
  1222. * To use:
  1223. * Point to this js file into your page header: <script src="layouts/portuguese-pt.js" type="text/javascript"></script>
  1224. * Initialize the keyboard using: $('input').keyboard({ layout: 'portuguese-pt' });
  1225. *
  1226. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1227. * Portuguese-pt layout by Luiz Castelo-Branco ( translations at Castelo-Branco . org ), based on:
  1228. * http://ascii-table.com/keyboard.php/163 and/with
  1229. * Unicode 6.2 from http://www.unicode.org/Public/6.2.0/charts/CodeCharts.pdf
  1230. */
  1231. // portuguese-pt
  1232. jQuery.keyboard.layouts['portuguese-qwerty'] = {
  1233. 'name' : 'portuguese-qwerty',
  1234. 'lang' : ['pt'],
  1235. 'normal' : [
  1236. "\u005C 1 2 3 4 5 6 7 8 9 0 \u0027 \u00ab {bksp}",
  1237. "{tab} q w e r t y u i o p \u002b \u00b4",
  1238. "a s d f g h j k l \u00e7 \u00ba \u007e {enter}",
  1239. "{shift} \u003c z x c v b n m \u002c \u002e \u002d {shift}",
  1240. "{cancel} {space} {alt} {combo} {accept}"
  1241. ],
  1242. 'shift' : [
  1243. "\u007c \u0021 \u0022 \u0023 \u0024 \u0025 \u0026 \u002f \u0028 \u0029 \u003d \u003F \u00bb {bksp}",
  1244. "{tab} Q W E R T Y U I O P \u002a \u0060",
  1245. "A S D F G H J K L \u00c7 \u00aa \u005e {enter}",
  1246. "{shift} \u003e Z X C V B N M \u003b \u003a \u005f {shift}",
  1247. "{cancel} {space} {alt} {combo} {accept}"
  1248. ],
  1249. // AltGr
  1250. 'alt' : [
  1251. "\u005C 1 \u0040 \u00a3 \u00a7 \u20ac 6 \u007b \u005b \u005d \u007d \u0027 \u00ab {bksp}",
  1252. "{tab} q w \u20ac r t y u i o p \u0308 \u00b4",
  1253. "a s d f g h j k l \u00e7 \u00ba \u007e {enter}",
  1254. "{shift} \u003c z x c v b n m \u002c \u002e \u002d {shift}",
  1255. "{cancel} {space} {alt} {combo} {accept}"
  1256. ],
  1257. 'alt-shift' : [
  1258. "\u007c \u0021 \u0022 \u0023 \u0024 \u0025 \u0026 \u002f \u0028 \u0029 \u003d \u003F \u00bb {bksp}",
  1259. "{tab} Q W \u20ac R T Y U I O P \u0308 \u0060",
  1260. "A S D F G H J K L \u00c7 \u00aa \u005e {enter}",
  1261. "{shift} \u003e Z X C V B N M \u003b \u003a \u005f {shift}",
  1262. "{cancel} {space} {alt} {combo} {accept}"
  1263. ]
  1264. };
  1265. /* Romanian keyboard layouts
  1266. * contains layout: Romanian National Standard SR 13392:2004
  1267. *
  1268. * To use:
  1269. * Point to this js file into your page header: <script src="layouts/romanian.js" type="text/javascript"></script>
  1270. * Initialize the keyboard using: $('input').keyboard({ layout: 'romanian' });
  1271. *
  1272. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1273. */
  1274. /* based on http://en.wikipedia.org/wiki/Romanian_keyboard_layout for the actual (standard) layout.
  1275. More details http://www.microsoft.com/resources/msdn/goglobal/keyboards/kbdrost.html and http://ascii-table.com/keyboard.php/446 (for the actual codes)*/
  1276. /* Submitted July 2014 - Alex Florea <alecz.fia@gmail.com>*/
  1277. jQuery.keyboard.layouts['romanian'] = {
  1278. 'normal' : [
  1279. "\u201e 1 2 3 4 5 6 7 8 9 0 \u002d \u003d {bksp}",
  1280. "{tab} q w e r t y u i o p \u0103 \u00ee \u00e2",
  1281. "a s d f g h j k l \u0219 \u021b {enter}",
  1282. "{shift} \u005c z x c v b n m \u002c \u002e \u002f {shift}",
  1283. "{accept} {alt} {space} {alt} {cancel}"
  1284. ],
  1285. 'shift' : [
  1286. "\u201d \u0021 \u0040 \u0023 \u0024 \u0025 \u005e \u0026 \u002a \u0028 \u0029 \u005f \u002b {bksp}",
  1287. "{tab} Q W E R T Y U I O P \u0102 \u00ce \u00c2",
  1288. "A S D F G H J K L \u0218 \u021a {enter}",
  1289. "{shift} \u007c Z X C V B N M \u003b \u003a ? {shift}",
  1290. "{accept} {alt} {space} {alt} {cancel}"
  1291. ],
  1292. 'alt' : [
  1293. "\u0060 \u0303 \u030c \u0302 \u0306 \u030a \u0328 \u0300 \u0307 \u0301 \u030b \u0308 \u0327 {bksp}",
  1294. "{tab} a z \u20ac r t y u i o p \u007b \u007d \u005c",
  1295. "a \u00df \u0111 f g h j k \u0142 \u003b \u0027 {enter}",
  1296. "{shift} \u005c z x \u00a9 v b n m \u003c \u003e \u002f {shift}",
  1297. "{accept} {alt} {space} {alt} {cancel}"
  1298. ],
  1299. 'alt-shift' : [
  1300. "\u007e 1 2 3 4 5 6 7 8 9 0 \u2013 \u00b1 {bksp}",
  1301. "{tab} q w e r t y u i o p \u007b \u007d \u007c",
  1302. "a s \u0110 f g h j k \u0141 \u003a \u0022 {enter}",
  1303. "{shift} \u005c z x c v b n m \u00ab \u00bb \u002f {shift}",
  1304. "{accept} {alt} {space} {alt} {cancel}"
  1305. ],
  1306. };
  1307. /* Russian keyboard layouts
  1308. * contains layout: 'russian-qwerty' & 'russian-mac'
  1309. *
  1310. * To use:
  1311. * Point to this js file into your page header: <script src="layouts/russian.js" type="text/javascript"></script>
  1312. * Initialize the keyboard using: $('input').keyboard({ layout: 'russian-qwerty' });
  1313. *
  1314. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1315. */
  1316. /* Thanks to Yury Kotlyarov (https://github.com/yura) */
  1317. jQuery.keyboard.layouts['russian-qwerty'] = {
  1318. 'name' : 'Russian-qwerty',
  1319. 'lang' : ['ru'],
  1320. 'normal' : [
  1321. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  1322. "{tab} q w e r t y u i o p [ ] \\",
  1323. "a s d f g h j k l ; ' {enter}",
  1324. "{shift} z x c v b n m , . / {shift}",
  1325. "{accept} {alt} {space} {alt} {cancel}"
  1326. ],
  1327. 'shift' : [
  1328. '~ ! @ # $ % ^ & * ( ) _ + {bksp}',
  1329. "{tab} Q W E R T Y U I O P { } |",
  1330. 'A S D F G H J K L : " {enter}',
  1331. "{shift} Z X C V B N M < > ? {shift}",
  1332. "{accept} {alt} {space} {alt} {cancel}"
  1333. ],
  1334. 'alt' : [
  1335. "\u0451 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  1336. "{tab} \u0439 \u0446 \u0443 \u043a \u0435 \u043d \u0433 \u0448 \u0449 \u0437 \u0445 \u044a \\",
  1337. "\u0444 \u044b \u0432 \u0430 \u043f \u0440 \u043e \u043b \u0434 \u0436 \u044d {enter}",
  1338. "{shift} \u044f \u0447 \u0441 \u043c \u0438 \u0442 \u044c \u0431 \u044e . {shift}",
  1339. "{accept} {alt} {space} {alt} {cancel}"
  1340. ],
  1341. 'alt-shift' : [
  1342. '\u0401 ! " \u2116 ; \u20ac : ? * ( ) _ + {bksp}',
  1343. "{tab} \u0419 \u0426 \u0423 \u041a \u0415 \u041d \u0413 \u0428 \u0429 \u0417 \u0425 \u042a /",
  1344. "\u0424 \u042b \u0412 \u0410 \u041f \u0420 \u041e \u041b \u0414 \u0416 \u042d {enter}",
  1345. "{shift} \u042f \u0427 \u0421 \u041c \u0418 \u0422 \u042c \u0411 \u042e , {shift}",
  1346. "{accept} {alt} {space} {alt} {cancel}"
  1347. ]
  1348. };
  1349. jQuery.keyboard.layouts["russian-mac"] = {
  1350. 'name' : 'Russian-mac',
  1351. 'lang' : ['ru'],
  1352. "default": [
  1353. "] 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  1354. "{tab} \u0439 \u0446 \u0443 \u043a \u0435 \u043d \u0433 \u0448 \u0449 \u0437 \u0445 \u044a \u0451",
  1355. "\u0444 \u044b \u0432 \u0430 \u043f \u0440 \u043e \u043b \u0434 \u0436 \u044d {enter}",
  1356. "{shift} \u044f \u0447 \u0441 \u043c \u0438 \u0442 \u044c \u0431 \u044e / {shift}",
  1357. "{accept} {alt} {space} {alt} {cancel}"
  1358. ],
  1359. shift: [
  1360. '[ ! " \u2116 % : , . ; ( ) _ + {bksp}',
  1361. "{tab} \u0419 \u0426 \u0423 \u041a \u0415 \u041d \u0413 \u0428 \u0429 \u0417 \u0425 \u042a \u0401",
  1362. "\u0424 \u042b \u0412 \u0410 \u041f \u0420 \u041e \u041b \u0414 \u0416 \u042d {enter}",
  1363. "{shift} \u042f \u0427 \u0421 \u041c \u0418 \u0422 \u042c \u0411 \u042e ? {shift}",
  1364. "{accept} {alt} {space} {alt} {cancel}"
  1365. ],
  1366. alt: [
  1367. "] ! @ # $ % ^ & * ( ) \u2013 \u00bb {bksp}",
  1368. "{tab} \u0458 \u045f \u045c \u00ae \u2020 \u045a \u0453 \u0455 \u045e \u2018 \u201c \u044a \u0451",
  1369. "\u0192 \u044b \u045b \u00f7 \u00a9 } \u00b0 \u0459 \u2206 \u2026 \u044d {enter}",
  1370. "{shift} \u0452 \u2248 \u2260 \u00b5 \u0438 \u2122 ~ \u2264 \u2265 \u201c {shift}",
  1371. "{accept} {alt} {space} {alt} {cancel}"
  1372. ],
  1373. "alt-shift": [
  1374. "[ | \" \u00a3 \u20ac \u221e \u00ac \u00b6 \u221a ' ` \u2014 \u00ab {bksp}",
  1375. "{tab} \u0408 \u040f \u040c \u00ae \u2020 \u040a \u0403 \u0405 \u040e \u2019 \u201d \u042a \u0401 ",
  1376. "\u0192 \u042b \u040b \u00f7 \u00a9 { \u2022 \u0409 \u2206 \u2026 \u042d {enter}",
  1377. "{shift} \u0402 \u2248 \u2260 \u00b5 \u0418 \u2122 ~ < > \u201e {shift}",
  1378. "{accept} {alt} {space} {alt} {cancel}"
  1379. ]
  1380. };
  1381. /* Serbian keyboard layouts
  1382. * contains layout: 'sr-Cyrl' & 'sr'
  1383. *
  1384. * To use:
  1385. * Point to this js file into your page header: <script src="layouts/russian.js" type="text/javascript"></script>
  1386. * Initialize the keyboard using: $('input').keyboard({ layout: 'russian-qwerty' });
  1387. *
  1388. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1389. */
  1390. /* Serbian Cyrillic Keyboard Layout (српски) * generated from http://www.greywyvern.com/code/javascript/keyboard layouts */
  1391. jQuery.keyboard.layouts["sr-Cyrl"] = {
  1392. 'name' : "Serbian Cyrillic (sr-Cyrl)",
  1393. 'lang' : ['sr'],
  1394. "default" : [
  1395. "` 1 2 3 4 5 6 7 8 9 0 ' + {bksp}",
  1396. "{tab} \u0459 \u045a \u0435 \u0440 \u0442 \u0437 \u0443 \u0438 \u043e \u043f \u0448 \u0452 \u0436",
  1397. " \u0430 \u0441 \u0434 \u0444 \u0433 \u0445 \u0458 \u043a \u043b \u0447 \u045b {enter}",
  1398. "{shift} < \u0455 \u045f \u0446 \u0432 \u0431 \u043d \u043c , . - {shift}",
  1399. "{accept} {alt} {space} {alt} {cancel}"
  1400. ],
  1401. 'shift' : [
  1402. '~ ! " # $ % & / ( ) = ? * {bksp}',
  1403. "{tab} \u0409 \u040a \u0415 \u0420 \u0422 \u0417 \u0423 \u0418 \u041e \u041f \u0428 \u0402 \u0416",
  1404. " \u0410 \u0421 \u0414 \u0424 \u0413 \u0425 \u0408 \u041a \u041b \u0427 \u040b {enter}",
  1405. "{shift} > \u0405 \u040f \u0426 \u0412 \u0411 \u041d \u041c ; : _ {shift}",
  1406. "{accept} {alt} {space} {alt} {cancel}"
  1407. ],
  1408. 'alt' : [
  1409. "` 1 2 3 4 5 6 7 8 9 0 ' + {bksp}",
  1410. "{tab} \u0459 \u045a \u0435 \u0440 \u0442 \u0437 \u0443 \u0438 \u043e \u043f \u0448 \u0452 \u0436",
  1411. " \u0430 \u0441 \u0434 \u0444 \u0433 \u0445 \u0458 \u043a \u043b \u0447 \u045b {enter}",
  1412. "{shift} < \u0455 \u045f \u0446 \u0432 \u0431 \u043d \u043c , . - {shift}",
  1413. "{accept} {alt} {space} {alt} {cancel}"
  1414. ]
  1415. };
  1416. /* Serbian Latin Keyboard Layout (Srpski) * generated from http://www.greywyvern.com/code/javascript/keyboard layouts */
  1417. jQuery.keyboard.layouts.sr = {
  1418. 'name' : "Serbian Latin (sr)",
  1419. 'lang' : ['sr'],
  1420. "default" : [
  1421. "\u00b8 1 2 3 4 5 6 7 8 9 0 ' + {bksp}",
  1422. "{tab} q w e r t z u i o p \u0161 \u0111 \u017e",
  1423. " a s d f g h j k l \u010d \u0107 {enter}",
  1424. "{shift} < y x c v b n m , . - {shift}",
  1425. "{accept} {alt} {space} {alt} {cancel}"
  1426. ],
  1427. shift : [
  1428. '\u00a8 ! " # $ % & / ( ) = ? * {bksp}',
  1429. "{tab} Q W E R T Z U I O P \u0160 \u0110 \u017d",
  1430. " A S D F G H J K L \u010c \u0106 {enter}",
  1431. "{shift} > Y X C V B N M ; : _ {shift}",
  1432. "{accept} {alt} {space} {alt} {cancel}"
  1433. ],
  1434. alt : [
  1435. "\u00b8 1 2 3 4 5 6 7 8 9 0 ' + {bksp}",
  1436. "{tab} q w e r t z u i o p \u0161 \u0111 \u017e",
  1437. " a s d f g h j k l \u010d \u0107 {enter}",
  1438. "{shift} < y x c v b n m , . - {shift}",
  1439. "{accept} {alt} {space} {alt} {cancel}"
  1440. ]
  1441. };
  1442. /* Serbian Cyrillic Keyboard Layout (српски) for Mac */
  1443. jQuery.keyboard.layouts["sr-Cyrl-mac"] = {
  1444. 'name' : "Serbian Cyrillic for Mac (sr-Cyrl)",
  1445. 'lang' : ['sr'],
  1446. "default" : [
  1447. "< 1 2 3 4 5 6 7 8 9 0 ' + {bksp}",
  1448. "{tab} \u0459 \u045a \u0435 \u0440 \u0442 \u0437 \u0443 \u0438 \u043e \u043f \u0448 \u0452 \u0436",
  1449. " \u0430 \u0441 \u0434 \u0444 \u0433 \u0445 \u0458 \u043a \u043b \u0447 \u045b {enter}",
  1450. "{shift} \u0455 \u045f \u0446 \u0432 \u0431 \u043d \u043c , . - {shift}",
  1451. "{accept} {alt} {space} {alt} {cancel}"
  1452. ],
  1453. shift : [
  1454. '> ! " # $ % & / ( ) = ? * {bksp}',
  1455. "{tab} \u0409 \u040a \u0415 \u0420 \u0422 \u0417 \u0423 \u0418 \u041e \u041f \u0428 \u0402 \u0416",
  1456. " \u0410 \u0421 \u0414 \u0424 \u0413 \u0425 \u0408 \u041a \u041b \u0427 \u040b {enter}",
  1457. "{shift} \u0405 \u040f \u0426 \u0412 \u0411 \u041d \u041c ; : _ {shift}",
  1458. "{accept} {alt} {space} {alt} {cancel}"
  1459. ],
  1460. alt : [
  1461. "` \u2020 \u00b0 \u20ac \u201e \u2122 \u221e \u00a3 \u0490 \u00b6 \u2022 \u2013 = {bksp}",
  1462. "{tab} q w e r t y u i o p [ ] \u2018",
  1463. ' a s d f g h j k l ; " {enter}',
  1464. "{shift} z x c v b n m , . / {shift}",
  1465. "{accept} {alt} {space} {alt} {cancel}"
  1466. ],
  1467. "alt-shift" : [
  1468. "~ ! @ # \u201c % ^ & * ( ) \u2014 + {bksp}",
  1469. "{tab} Q W E R T Y U I O P { } \u2019",
  1470. " A S D F G H J K L : \u201d {enter}",
  1471. "{shift} Z X C V B N M < > ? {shift}",
  1472. "{accept} {alt} {space} {alt} {cancel}"
  1473. ]
  1474. };
  1475. /* Serbian Latin Keyboard Layout (Srpski) for Mac */
  1476. jQuery.keyboard.layouts["sr-mac"] = {
  1477. 'name' : "Serbian Latin for Mac (sr)",
  1478. 'lang' : ['sr'],
  1479. "default" : [
  1480. "< 1 2 3 4 5 6 7 8 9 0 / + {bksp}",
  1481. "{tab} q w e r t z u i o p \u0161 \u0111 \u017e",
  1482. " a s d f g h j k l \u010d \u0107 {enter}",
  1483. "{shift} y x c v b n m , . - {shift}",
  1484. "{accept} {alt} {space} {alt} {cancel}"
  1485. ],
  1486. shift : [
  1487. "> ! \" # $ % & ' ( ) = ? * {bksp}",
  1488. "{tab} Q W E R T Z U I O P \u0160 \u0110 \u017d",
  1489. " A S D F G H J K L \u010c \u0106 {enter}",
  1490. "{shift} Y X C V B N M ; : _ {shift}",
  1491. "{accept} {alt} {space} {alt} {cancel}"
  1492. ],
  1493. alt : [
  1494. "` \u00a1 \u2122 \u00a3 \u00a2 \u221e \u00a7 \u00b6 \u2022 \u00aa \u00ba - \u2260 {bksp}",
  1495. "{tab} \u0153 \u2211 \u00b4 \u00ae \u2020 \u2014 \u00a8 ^ \u00f8 \u03c0 [ ] ",
  1496. "\u00e5 \u00df \u2202 \u0192 \u00a9 \u030f \u2206 \u0311 \u00ac \u2026 ^ {enter}",
  1497. "{shift} \u03a9 \u2248 \u00e7 \u221a \u222b ~ \u00b5 \u2264 \u2265 \u00f7 {shift}",
  1498. "{accept} {alt} {space} {alt} {cancel}"
  1499. ],
  1500. "alt-shift" : [
  1501. "~ \u2044 @ \u2039 \u203a \u20ac \u0131 \u2013 \u00b0 \u00b7 \u201a _ \u00b1 {bksp}",
  1502. "{tab} \u0152 \u201e \u2030 \u201c \u2018 \u201d \u2019 \u00c9 \u00d8 \u220f { } |",
  1503. "\u00c5 \u00cd \u00ce \u00cf \u00cc \u00d3 \u00d4 \uf8ff \u00d2 \u00e6 \u00c6 {enter}",
  1504. "{shift} \u00ab \u00bb \u00c7 \u25ca \u00d1 \u02c6 \u00af \u00c8 \u02c7 \u00bf {shift}",
  1505. "{accept} {alt} {space} {alt} {cancel}"
  1506. ]
  1507. };
  1508. /* Spanish keyboard layouts
  1509. * contains layouts: 'spanish-qwerty' and 'spanish-qwerty-sp'
  1510. *
  1511. * To use:
  1512. * Point to this js file into your page header: <script src="layouts/spanish.js" type="text/javascript"></script>
  1513. * Initialize the keyboard using: $('input').keyboard({ layout: 'spanish-qwerty' });
  1514. *
  1515. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1516. *
  1517. * Spanish layouts by Paco Alcantara (https://github.com/pacoalcantara)
  1518. * Based on: http://ascii-table.com/keyboard.php/171 and http://ascii-table.com/keyboard.php/071-2
  1519. */
  1520. jQuery.keyboard.layouts['spanish-qwerty'] = {
  1521. 'name' : 'spanish-qwerty',
  1522. 'lang' : ['es'],
  1523. 'normal' : [
  1524. "\u007c 1 2 3 4 5 6 7 8 9 0 \' \u00bf {bksp}",
  1525. "{tab} q w e r t y u i o p \u0301 +",
  1526. "a s d f g h j k l \u00f1 \u007b \u007d {enter}",
  1527. "{shift} < z x c v b n m , . - {shift}",
  1528. "{accept} {alt} {space} {alt} {cancel}"
  1529. ],
  1530. 'shift' : [
  1531. "\u00b0 ! \" # $ % & / ( ) = ? \u00a1 {bksp}",
  1532. "{tab} Q W E R T Y U I O P \u0308 *",
  1533. "A S D F G H J K L \u00d1 \u005b \u005d {enter}",
  1534. "{shift} > Z X C V B N M ; : _ {shift}",
  1535. "{accept} {alt} {space} {alt} {cancel}"
  1536. ],
  1537. 'alt' : [
  1538. "\u00ac 1 2 3 4 5 6 7 8 9 0 \\ \u00bf {bksp}",
  1539. "{tab} @ w e r t y u i o p \u0301 \u0303",
  1540. "a s d f g h j k l \u00f1 \u0302 \u0300 {enter}",
  1541. "{shift} < z x c v b n m , . - {shift}",
  1542. "{accept} {alt} {space} {alt} {cancel}"
  1543. ],
  1544. 'alt-shift' : [
  1545. "\u00b0 ! \" # $ % & / ( ) = ? \u00a1 {bksp}",
  1546. "{tab} Q W E R T Y U I O P \u0308 *",
  1547. "A S D F G H J K L \u00d1 \u005b \u005d {enter}",
  1548. "{shift} > Z X C V B N M ; : _ {shift}",
  1549. "{accept} {alt} {space} {alt} {cancel}"
  1550. ]
  1551. };
  1552. jQuery.keyboard.layouts['spanish-qwerty-sp'] = {
  1553. 'name' : 'spanish-qwerty-sp',
  1554. 'lang' : ['es'],
  1555. 'normal' : [
  1556. "\u00ba 1 2 3 4 5 6 7 8 9 0 \' \u00a1 {bksp}",
  1557. "{tab} q w e r t y u i o p \u0300 +",
  1558. "a s d f g h j k l \u00f1 \u0301 \u00e7 {enter}",
  1559. "{shift} < z x c v b n m , . - {shift}",
  1560. "{accept} {alt} {space} {alt} {cancel}"
  1561. ],
  1562. 'shift' : [
  1563. "\u00aa ! \" \u00b7 $ % & / ( ) = ? \u00bf {bksp}",
  1564. "{tab} Q W E R T Y U I O P \u005e *",
  1565. "A S D F G H J K L \u00d1 \u0308 \u00c7 {enter}",
  1566. "{shift} > Z X C V B N M ; : _ {shift}",
  1567. "{accept} {alt} {space} {alt} {cancel}"
  1568. ],
  1569. 'alt' : [
  1570. "\\ \u007c @ # 4 5 \u00ac 7 8 9 0 \u0027 \u00a1 {bksp}",
  1571. "{tab} q w e r t y u i o p [ ]",
  1572. "a s d f g h j k l \u00f1 { } {enter}",
  1573. "{shift} \u007c z x c v b n m , . - {shift}",
  1574. "{accept} {alt} {space} {alt} {cancel}"
  1575. ],
  1576. 'alt-shift' : [
  1577. "\u00aa ! \" \u00b7 $ % & / ( ) = ? \u00bf {bksp}",
  1578. "{tab} Q W E R T Y U I O P [ ]",
  1579. "A S D F G H J K L \u00d1 { } {enter}",
  1580. "{shift} > Z X C V B N M ; : _ {shift}",
  1581. "{accept} {alt} {space} {alt} {cancel}"
  1582. ]
  1583. };
  1584. /* Swedish keyboard layouts
  1585. * contains layout: 'swedish-qwerty' & 'swedish-dvorak'
  1586. *
  1587. * To use:
  1588. * Point to this js file into your page header: <script src="layouts/scandinavian.js" type="text/javascript"></script>
  1589. * Initialize the keyboard using: $('input').keyboard({ layout: 'swedish-qwerty' });
  1590. *
  1591. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1592. */
  1593. /* qwerty by Mika Perreri Korhonen (https://github.com/jouk0) - */
  1594. jQuery.keyboard.layouts['swedish-qwerty'] = {
  1595. 'name' : 'swedish-qwerty',
  1596. 'lang' : ['sv'],
  1597. 'normal' : [
  1598. "\u00a7 1 2 3 4 5 6 7 8 9 0 + \u0301 {bksp}",
  1599. "{tab} q w e r t y u i o p \u00e5 \u0308",
  1600. "a s d f g h j k l \u00f6 \u00e4 ' {enter}",
  1601. "{shift} < z x c v b n m , . - {shift}",
  1602. "{accept} {alt} {space} {alt} {cancel}"
  1603. ],
  1604. 'shift' : [
  1605. '\u00bd ! " # \u00a4 % & / ( ) = ? \u0300 {bksp}',
  1606. "{tab} Q W E R T Y U I O P \u00c5 \u0302",
  1607. "A S D F G H J K L \u00d6 \u00c4 * {enter}",
  1608. "{shift} > Z X C V B N M ; : _ {shift}",
  1609. "{accept} {alt} {space} {alt} {cancel}"
  1610. ],
  1611. 'alt' : [
  1612. '\u00a7 1 @ \u00a3 $ 5 6 { [ ] } \\ \u0301 {bksp}',
  1613. '{tab} q w € r t y u i o p \u00e5 \u0303',
  1614. "a s d f g h j k l \u00f6 \u00e4 ' {enter}",
  1615. '{shift} | z x c v b n \u00b5 , . - {shift}',
  1616. '{accept} {alt} {space} {alt} {cancel}'
  1617. ]
  1618. };
  1619. /* dvorak - from http://www.ludd.luth.se/~torger/se_dvorak.html */
  1620. jQuery.keyboard.layouts['swedish-dvorak'] = {
  1621. 'name' : 'swedish-qwerty',
  1622. 'lang' : ['sv'],
  1623. 'normal' : [
  1624. "\u00a7 1 2 3 4 5 6 7 8 9 0 + \u0301 {bksp}",
  1625. "{tab} \u00f6 \u00e5 \u00e4 p y f g c r l q \u00a8",
  1626. "a o e u i d h t n s - < {enter}",
  1627. "{shift} ' , . j k x b m w v z {shift}",
  1628. "{accept} {alt} {space} {alt} {cancel}"
  1629. ],
  1630. 'shift' : [
  1631. '\u00bd ! " # \u00a4 % & / ( ) = ? ` {bksp}',
  1632. "{tab} \u00d6 \u00c5 \u00c4 P Y F G C R L Q ^",
  1633. "A O E U I D H T N S _ > {enter}",
  1634. "{shift} * ; : J K X B M W V Z {shift}",
  1635. "{accept} {alt} {space} {alt} {cancel}"
  1636. ],
  1637. 'alt' : [
  1638. "\u00a7 1 @ \u00a3 $ 5 6 { [ ] } \\ \u00b4 {bksp}",
  1639. "{tab} \u00f6 \u00e5 \u00e4 p y f g c r l q ~",
  1640. "a o e u i d h t n s - | {enter}",
  1641. "{shift} ' , . j k x b m w v z {shift}",
  1642. "{accept} {alt} {space} {alt} {cancel}"
  1643. ]
  1644. };
  1645. /* Tamil keyboard layouts
  1646. * contains layout: 'tamil-qwerty'
  1647. *
  1648. * To use:
  1649. * Point to this js file into your page header: <script src="layouts/tamil.js" type="text/javascript"></script>
  1650. * Initialize the keyboard using: $('input').keyboard({ layout: 'tamil-tamil99-mod' });
  1651. *
  1652. * Copyright 2013, Muthiah Annamalai
  1653. *
  1654. * Author : Muthiah Annamalai <ezhillang@gmail.com>
  1655. *
  1656. * This file derives from general keyboard jQuery plugin.
  1657. * You may reuse this file under MIT License
  1658. *
  1659. * Acknowledgements : Thamiza project contributors Mugunth, Sethu have reference implementations of
  1660. * of the keyboard
  1661. */
  1662. /* based on Tamil99 keyboard layout - modified Tamil 99 keyboard */
  1663. jQuery.keyboard.layouts['tamil-tamil99-mod'] = {
  1664. 'name' : 'tamil-tamil99-mod',
  1665. 'lang' : ['ta'],
  1666. 'normal' : [
  1667. /* ா ி ீ ு ூ ெ ே ை ொ ோ ௌ ஃ */
  1668. "\u0BBE \u0BBF \u0BC0 \u0BC1 \u0BC2 \u0BC6 \u0BC7 \u0BC8 \u0BCA \u0BCB \u0BCC \u0B83 {bksp}",
  1669. /* ஆ ஈ ஊ ஐ ஏ ள ற ன ட ண ச ஞ \ */
  1670. "{tab} \u0b86 \u0b88 \u0b8a \u0b90 \u0b8f \u0bb3 \u0bb1 \u0ba9 \u0b9f \u0ba3 \u0b9a \u0b9e ",
  1671. /* அ இ உ ் எ க ப ம த ந ய */
  1672. "\u0b85 \u0b87 \u0b89 \u0bcd \u0b8e \u0b95 \u0baa \u0bae \u0ba4 \u0ba8 \u0baf {enter}",
  1673. /* ஔ ஒ ஓ வ ங ல ர , . ழ */
  1674. "{shift} \u0b94 \u0b93 \u0b92 \u0bb5 \u0b99 \u0bb2 \u0bb0 , . \u0bb4 {shift}",
  1675. "{accept} {alt} {space} {alt} {cancel}"
  1676. ],
  1677. 'shift' : [
  1678. /* numeric key row */
  1679. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  1680. /* sanskrit row */
  1681. /* ஸ ஷ ஜ ஹ ஶ்ரீ க்ஷ */
  1682. "{tab} \u0bb8 \u0bb7 \u0b9c \u0bb9 \u0bb6\u0bcd\u0bb0\u0bc0 \u0b95\u0bcd\u0bb7 \u0020 [ ] { } ",
  1683. /* ௹ ௺ ௸ ஃ \u0020 \u0020 \u0020 \" : ; \' {enter} */
  1684. "\u0bf9 \u0bfa \u0bf8 \u0b83 \u0020 \u0020 \u0020 \" : ; \' {enter}",
  1685. /* ௳ ௴ ௵ ௶ ௷ */
  1686. "{shift} \u0bf3 \u0bf4 \u0bf5 \u0bf6 \u0bf7 \u0020 / \u0020 \u0020 / {shift}",
  1687. "{accept} {alt} {space} {alt} {cancel}"
  1688. ],
  1689. 'alt' : [
  1690. "\u0060 1 2 3 4 5 6 7 8 9 0 - \u003D {bksp}",
  1691. "{tab} q w e r t y u i o p \u005B \u005D \u005C",
  1692. "a s d f g h j k l ; \u0027 {enter}",
  1693. "{shift} z x c v b n m , . / {shift}",
  1694. "{accept} {alt} {space} {alt} {cancel}"
  1695. ],
  1696. 'alt-shift' : [
  1697. "\u007E | @ # $ % \u00ac & * ( ) _ + {bksp}",
  1698. "{tab} Q W E R T Y U I O P ! \u00a6 \u00a2",
  1699. "A S D F G H J K L : \" {enter}",
  1700. "{shift} Z X C V B N M { } ? {shift}",
  1701. "{accept} {alt} {space} {alt} {cancel}"
  1702. ]
  1703. };
  1704. /* Thai keyboard layouts
  1705. * contains layout: 'thai-qwerty'
  1706. *
  1707. * To use:
  1708. * Point to this js file into your page header: <script src="layouts/thai.js" type="text/javascript"></script>
  1709. * Initialize the keyboard using: $('input').keyboard({ layout: 'thai-qwerty' });
  1710. *
  1711. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1712. */
  1713. /* based on http://ascii-table.com/keyboard.php/190 */
  1714. jQuery.keyboard.layouts['thai-qwerty'] = {
  1715. 'name' : 'thai-qwerty',
  1716. 'lang' : ['th'],
  1717. 'normal' : [
  1718. "\u005F \u0E45 \u002F \u002D \u0E20 \u0E16 \u0E38 \u0E36 \u0E04 \u0E05 \u0E08 \u0E02 \u0E0A {bksp}",
  1719. "{tab} \u0E46 \u0E44 \u0E33 \u0E1E \u0E30 \u0E31 \u0E35 \u0E23 \u0E19 \u0E22 \u0E1A \u0E25 \u0E03 ",
  1720. "\u0E1F \u0E2B \u0E01 \u0E14 \u0E40 \u0E49 \u0E48 \u0E32 \u0E2A \u0E27 \u0E07 {enter}",
  1721. "{shift} \u0E1C \u0E1B \u0E41 \u0E2D \u0E34 \u0E37 \u0E17 \u0E21 \u0E43 \u0E1D {shift}",
  1722. "{accept} {alt} {space} {alt} {cancel}"
  1723. ],
  1724. 'shift' : [
  1725. "% + \u0E51 \u0E52 \u0E53 \u0E54 \u0E39 \u0E3F \u0E55 \u0E56 \u0E57 \u0E58 \u0E59 {bksp}",
  1726. "{tab} \u0E50 \u0022 \u0E0E \u0E11 \u0E18 \u0E4D \u0E4A \u0E13 \u0E2F \u0E0D \u0E10 \u002C \u0E05",
  1727. "\u0E24 \u0E06 \u0E0F \u0E42 \u0E0C \u0E47 \u0E4B \u0E29 \u0E28 \u0E0B \u002E {enter}",
  1728. "{shift} ( ) \u0E09 \u0E2E \u0E3A \u0E4C \u003F \u0E12 \u0E2C \u0E26 {shift}",
  1729. "{accept} {alt} {space} {alt} {cancel}"
  1730. ],
  1731. 'alt' : [
  1732. "\u0060 1 2 3 4 5 6 7 8 9 0 - \u003D {bksp}",
  1733. "{tab} q w e r t y u i o p \u005B \u005D \u005C",
  1734. "a s d f g h j k l ; \u0027 {enter}",
  1735. "{shift} z x c v b n m , . / {shift}",
  1736. "{accept} {alt} {space} {alt} {cancel}"
  1737. ],
  1738. 'alt-shift' : [
  1739. "\u007E | @ # $ % \u00ac & * ( ) _ + {bksp}",
  1740. "{tab} Q W E R T Y U I O P ! \u00a6 \u00a2",
  1741. "A S D F G H J K L : \" {enter}",
  1742. "{shift} Z X C V B N M { } ? {shift}",
  1743. "{accept} {alt} {space} {alt} {cancel}"
  1744. ]
  1745. };
  1746. /* Turkish keyboard layouts
  1747. * contains layout: 'turkish-q' & 'turkish-f'
  1748. *
  1749. * Contributor Baris Aydinoglu
  1750. *
  1751. * To use:
  1752. * Point to this js file into your page header: <script src="layouts/turkish.js" type="text/javascript"></script>
  1753. * Initialize the keyboard using: $('input').keyboard({ layout: 'turkish-q' });
  1754. *
  1755. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1756. */
  1757. /* from http://ascii-table.com/keyboard.php/179 */
  1758. jQuery.keyboard.layouts['turkish-q'] = {
  1759. 'name' : 'turkish-q',
  1760. 'lang' : ['tr'],
  1761. 'normal' : [
  1762. "\u0022 1 2 3 4 5 6 7 8 9 0 \u002a \u002d {bksp}",
  1763. "{tab} q w e r t y u \u0131 o p \u011f \u00fc",
  1764. "{lock} a s d f g h j k l \u015f \u0069 , {enter}",
  1765. "{shift} < z x c v b n m \u00f6 \u00e7 . {shift}",
  1766. "{accept} {alt} {space} {alt} {cancel}"
  1767. ],
  1768. 'shift' : [
  1769. '\u00e9 ! \u0027 \u0302 + % & / ( ) = ? \u005f {bksp}',
  1770. "{tab} Q W E R T Y U \u0049 O P \u011e \u00DC",
  1771. "{lock} A S D F G H J K L \u015e \u0130 ; {enter}",
  1772. "{shift} > Z X C V B N M \u00d6 \u00c7 : {shift}",
  1773. "{accept} {alt} {space} {alt} {cancel}"
  1774. ],
  1775. 'alt' : [
  1776. "\u0022 1 \u00a3 # $ \u00bd 6 { [ ] } \u005c \u002d {bksp}",
  1777. "{tab} @ w \u20ac r t y u \u0131 o p \u0308 \u0303",
  1778. "{lock} a s d f g h j k l \u0301 \u0069 \u0300 {enter}",
  1779. "{shift} | z x c v b n m \u00f6 \u00e7 . {shift}",
  1780. "{accept} {alt} {space} {alt} {cancel}"
  1781. ]
  1782. };
  1783. /* from http://ascii-table.com/keyboard.php/440 */
  1784. jQuery.keyboard.layouts['turkish-f'] = {
  1785. 'name' : 'turkish-f',
  1786. 'lang' : ['tr'],
  1787. 'normal' : [
  1788. "\u002B \u0031 \u0032 \u0033 \u0034 \u0035 \u0036 \u0037 \u0038 \u0039 \u0030 \u002F \u002D {bksp}",
  1789. "{tab} \u0066 \u0067 \u011F \u0131 \u006F \u0064 \u0072 \u006E \u0068 \u0070 \u0071 \u0077",
  1790. "{lock} \u0075 \u0069 \u0065 \u0061 \u00FC \u0074 \u006B \u006D \u006C \u0079 \u015F \u0078 {enter}",
  1791. "{shift} \u003C \u006A \u00F6 \u0076 \u0063 \u00E7 \u007A \u0073 \u0062 \u002E \u002C {shift}",
  1792. "{accept} {alt} {space} {alt} {cancel}"
  1793. ],
  1794. 'shift' : [
  1795. "\u002A \u0021 \u0022 \u0302 \u0024 \u0025 \u0026 \u0027 \u0028 \u0029 \u003D \u003F \u005F {bksp}",
  1796. "{tab} \u0046 \u0047 \u011E \u0049 \u004F \u0044 \u0052 \u004E \u0048 \u0050 \u0051 \u0057",
  1797. "{lock} \u0055 \u0130 \u0045 \u0041 \u00DC \u0054 \u004B \u004D \u004C \u0059 \u015E \u0058 {enter}",
  1798. "{shift} \u003E \u004A \u00D6 \u0056 \u0043 \u00C7 \u005A \u0053 \u0042 \u003A \u003B {shift}",
  1799. "{accept} {alt} {space} {alt} {cancel}"
  1800. ],
  1801. 'alt' : [
  1802. "\u00AC \u00B9 \u00B2 \u0023 \u00BC \u00BD \u00BE \u007B \u005B \u005D \u007D \u005C \u002D {bksp}",
  1803. "{tab} \u0040 \u0067 \u011F \u0131 \u006F \u00A5 \u0072 \u006E \u0068 \u00A3 \u0308 \u0303",
  1804. "{lock} \u0075 \u00DF \u20AC \u0061 \u00FC \u0074 \u006B \u006D \u006C \u0301 \u015F \u0300 {enter}",
  1805. "{shift} \u007C \u00AB \u00BB \u0076 \u0063 \u00E7 \u007A \u0073 \u00D7 \u00F7 \u002C {shift}",
  1806. "{accept} {alt} {space} {alt} {cancel}"
  1807. ]
  1808. };
  1809. /* Vietnamese keyboard layouts + Telex key combinations (see https://github.com/Mottie/Keyboard/pull/136)
  1810. * contains layout: 'vietnamese-qwerty'
  1811. * Vinh Can Code: tbvinh@gmail.com
  1812. *
  1813. * To use:
  1814. * Point to this js file into your page header: <script src="layouts/vietnamese.js" type="text/javascript"></script>
  1815. * Initialize the keyboard using: $('input').keyboard({ layout: 'vietnamese-qwerty' });
  1816. *
  1817. * license for this file: WTFPL, unless the source layout site has a problem with me using them as a reference
  1818. */
  1819. /* based on http://ascii-table.com/keyboard.php/461 */
  1820. jQuery.keyboard.layouts['vietnamese-qwerty'] = {
  1821. 'name' : 'vietnamese-qwerty',
  1822. 'lang' : ['vi'],
  1823. 'normal' : [
  1824. "` 1 2 3 4 5 6 7 8 9 0 - = {bksp}",
  1825. "{tab} q w e r t y u i o p [ ] \\",
  1826. "a s d f g h j k l ; ' {enter}",
  1827. "{shift} z x c v b n m < > , . / {shift}",
  1828. "{accept} {alt} {space} {alt} {cancel}"
  1829. ],
  1830. 'shift' : [
  1831. '~ ! @ # $ % ^ & * ( ) _ + {bksp}',
  1832. "{tab} Q W E R T Y U I O P { } |",
  1833. "A S D F G H J K L : ' {enter}",
  1834. "{shift} Z X C V B N M < > ; : ? {shift}",
  1835. "{accept} {alt} {space} {alt} {cancel}"
  1836. ],
  1837. 'alt' : [
  1838. '{empty} \u0103 \u00e2 \u00ea \u00f4 {empty} \u031b {empty} {empty} {empty} \u0111 \u002d \u20ab {bksp}',
  1839. "{tab} {empty} {empty} {empty} {empty} {empty} \u00ff {empty} {empty} \u0153 {empty} \u01b0 \u01a1 {empty}",
  1840. "{empty} {empty} {empty} {empty} {empty} {empty} {empty} {empty} { } \u0302 {enter}",
  1841. "{shift} {empty} {empty} \u00e7 {empty} {empty} {empty} {empty} {empty} {empty} {empty} {empty} {empty} {shift}",
  1842. "{accept} {alt} {space} {alt} {cancel}"
  1843. ],
  1844. 'alt-shift' : [
  1845. '{empty} \u0102 \u00c2 \u00ca \u00d4 {empty} {empty} {empty} {empty} {empty} \u0110 \u005f + {bksp}',
  1846. "{tab} {empty} {empty} {empty} {empty} {empty} \u0178 {empty} {empty} \u0152 {empty} \u01af \u01a0 {empty}",
  1847. "{empty} {empty} {empty} {empty} {empty} {empty} {empty} {empty} { } \u0308 {enter}",
  1848. "{shift} {empty} {empty} \u00c7 {empty} {empty} {empty} {empty} {empty} {empty} {empty} {empty} {empty} {shift}",
  1849. "{accept} {alt} {space} {alt} {cancel}"
  1850. ]
  1851. };
  1852. // Keyboard Language
  1853. // Ethiopic kezboard to support Amahric and Gǝʿǝz made by Pietro Liuzzo and Solomon Gebreyes Beyene.
  1854. // ***********************
  1855. jQuery.keyboard.language.amh = {
  1856. language: 'ፊደል (Fidal) Amharic and Gǝʿǝz',
  1857. display: {
  1858. 'a': '\u2714:መቀበል (Shift+Enter)', // check mark - same action as accept
  1859. 'accept': 'Accept:መቀበል (Shift+Enter)',
  1860. 'alt': 'AltGr:ተለዋጭ፡ ፊደል፡',
  1861. 'b': '\u2190:ማጥፊያ', // Left arrow (same as &larr;)
  1862. 'bksp': 'Bksp:ማጥፊያ',
  1863. 'c': '\u2716:መሠረዝ', // big X, close - same action as cancel
  1864. 'cancel': 'Cancel:መሠረዝ',
  1865. 'clear': 'C:ማፅዳት', // clear num pad
  1866. 'combo': '\u00f6:Toggle Combo Keys',
  1867. 'dec': '.:የአሀዝ፡ ቁጥር', // decimal point for num pad (optional), change '.' to ',' for European format
  1868. 'e': '\u21b5:መጀመር', // down, then left arrow - enter symbol
  1869. 'enter': 'Enter:መጀመር',
  1870. 'lock': '\u21ea Lock:አሮጌ፡ ለውጥ', // caps lock
  1871. 's': '\u21e7:መለወጥ', // thick hollow up arrow
  1872. 'shift': 'Shift:መለወጥ',
  1873. 'sign': '\u00b1:የሒሣብ፡ ምልክት፡ መቀየር', // +/- sign for num pad
  1874. 'space': '&nbsp;:ክፍት፡ቦታ',
  1875. 't': '\u21e5:መግፊያ', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  1876. 'tab': '\u21e5 Tab:መግፊያ' // \u21b9 is the true tab symbol (left & right arrows)
  1877. },
  1878. // Message added to the key title while hovering, if the mousewheel plugin exists
  1879. wheelMessage: 'Use mousewheel to see other keys',
  1880. comboRegex: /([`\'~\^\"a-z0-9\{\}\[\]\|<>])([a-z0-9_\-\.\|`\'~\^\"!,=])/mig,
  1881. combos: {
  1882. a: {
  1883. a: '\u02be', '.': '\u1ea1', 1: "\u00e0", 2: "\u00e1", 3: "\u00e3", '=': "\u00e2", 9: "\u00e4", '-': "\u0101", ',': '\u1360'
  1884. },
  1885. A: {
  1886. A: '\u02bf', '-': "\u0100", 1: "\u00c0", 2: "\u00c1", 3: "\u00c3", 9: "\u00c4", '=': "\u00c2"
  1887. },
  1888. e: {
  1889. e: '\u01dd', '-': "\u0113", ',': '\u1367', 1: "\u00e8", 2: "\u00e9", 3: "\u1ebd", 9: "\u00eb", '=': "\u00ea"
  1890. },
  1891. E: {
  1892. E: '\u018e', '-': "\u0112", 1: "\u00c8", 2: "\u00c9", 3: "\u1ebc", 9: "\u00cb", '=': "\u00ca"
  1893. },
  1894. i: {
  1895. 1: "\u00ec", 2: "\u00ed", 3: "\u0129", 9: "\u00ef", 9: "\u00f6", '=': "\u00ee"
  1896. },
  1897. I: {
  1898. 1: "\u00cc", 2: "\u00cd", 3: "\u0128", 9: "\u00cf", '=': "\u00ce"
  1899. },
  1900. o: {
  1901. 1: "\u00f2", 2: "\u00f3", 3: "\u00f5", '=': "\u00f4"
  1902. },
  1903. O: {
  1904. 1: "\u00d2", 2: "\u00d3", 3: "\u00d5", 9: "\u00d6", '=': "\u00d4"
  1905. },
  1906. u: {
  1907. 1: "\u00f9", 2: "\u00fa", 3: "\u0169", 9: "\u00fc", '=': "\u00fb"
  1908. },
  1909. U: {
  1910. 1: "\u00d9", 2: "\u00da", 3: "\u0168", 9: "\u00dc", '=': "\u00db"
  1911. },
  1912. 'h': {
  1913. a: "\u1200", u: "\u1201", i: "\u1202", A: "\u1203", E: "\u1204", e: "\u1205", o: "\u1206", '!': '\u1207', '_': '\u1e2b', '.': '\u1e25'
  1914. },
  1915. "l": {
  1916. a: "\u1208", u: "\u1209", i: "\u120a", A: "\u120b", E: "\u120c", e: "\u120d", o: "\u120e", '!': '\u120F'
  1917. },
  1918. "H": {
  1919. a: "\u1210", u: "\u1211", i: "\u1212", A: "\u1213", E: "\u1214", e: "\u1215", o: "\u1216", '!': '\u1217', '_': '\u1e2a'
  1920. },
  1921. "m": {
  1922. a: "\u1218", u: "\u1219", i: "\u121a", A: "\u121b", E: "\u121c", e: "\u121d", o: "\u121e", '!': '\u121F'
  1923. },
  1924. "S": {
  1925. a: "\u1220", u: "\u1221", i: "\u1222", A: "\u1223", E: "\u1224", e: "\u1225", o: "\u1226", '!': '\u1227', '.': '\u1e62', '|': '\u0160', 6: "\u015A"
  1926. },
  1927. "r": {
  1928. a: "\u1228", u: "\u1229", i: "\u122a", A: "\u122b", E: "\u122c", e: "\u122d", o: "\u122e", '!': '\u122F'
  1929. },
  1930. "s": {
  1931. a: "\u1230", u: "\u1231", i: "\u1232", A: "\u1233", E: "\u1234", e: "\u1235", o: "\u1236", '!': '\u1237', '.': '\u1e63', '|': '\u0161', 6: "\u015b"
  1932. },
  1933. "v": {
  1934. a: "\u1238", u: "\u1239", i: "\u123a", A: "\u123b", E: "\u123c", e: "\u123d", o: "\u123e", '!': '\u123F'
  1935. },
  1936. "q": {
  1937. a: "\u1240", u: "\u1241", i: "\u1242", A: "\u1243", E: "\u1244", e: "\u1245", o: "\u1246", '!': '\u1247'
  1938. },
  1939. "b": {
  1940. a: "\u1260", u: "\u1261", i: "\u1262", A: "\u1263", E: "\u1264", e: "\u1265", o: "\u1266", '!': '\u1267', ',': '\u1363'
  1941. },
  1942. "B": {
  1943. a: "\u1268", u: "\u1269", i: "\u126A", A: "\u126B", E: "\u126C", e: "\u126D", o: "\u126E", '!': '\u126F'
  1944. },
  1945. "t": {
  1946. a: "\u1270", u: "\u1271", i: "\u1272", A: "\u1273", E: "\u1274", e: "\u1275", o: "\u1276", '!': '\u1277', '.': '\u1e6d'
  1947. },
  1948. "c": {
  1949. a: "\u1278", u: "\u1279", i: "\u127a", A: "\u127b", E: "\u127c", e: "\u127d", o: "\u127e", '!': '\u127F', '_': '\u010d\u0323', '|': '\u010d', ',': '\u1364'
  1950. },
  1951. "x": {
  1952. a: "\u1280", u: "\u1281", i: "\u1282", A: "\u1283", E: "\u1284", e: "\u1285", o: "\u1286", '!': '\u1287'
  1953. },
  1954. "n": {
  1955. a: "\u1290", u: "\u1291", i: "\u1292", A: "\u1293", E: "\u1294", e: "\u1295", o: "\u1296", '!': '\u1297', 3: "\u00f1"
  1956. },
  1957. "N": {
  1958. a: "\u1298", u: "\u1299", i: "\u129a", A: "\u129b", E: "\u129c", e: "\u129d", o: "\u129e", '!': '\u129F', 3: "\u00d1"
  1959. },
  1960. "'": {
  1961. a: "\u12a0", u: "\u12a1", i: "\u12a2", A: "\u12a3", E: "\u12a4", e: "\u12a5", o: "\u12a6", '!': '\u12A7'
  1962. },
  1963. "k": {
  1964. a: "\u12a8", u: "\u12a9", i: "\u12aa", A: "\u12ab", E: "\u12ac", e: "\u12ad", o: "\u12ae", '!': '\u12AF'
  1965. },
  1966. "K": {
  1967. a: "\u12b8", u: "\u12b9", i: "\u12ba", A: "\u12bb", E: "\u12bc", e: "\u12bd", o: "\u12be"
  1968. },
  1969. "w": {
  1970. a: "\u12c8", u: "\u12c9", i: "\u12ca", A: "\u12cb", E: "\u12cc", e: "\u12cd", o: "\u12ce", '!': '\u12CF', '=': "\u02b7"
  1971. },
  1972. "W": {
  1973. a: "\u12d0", u: "\u12d1", i: "\u12d2", A: "\u12d3", E: "\u12d4", e: "\u12d5", o: "\u12d6"
  1974. },
  1975. "z": {
  1976. a: "\u12d8", u: "\u12d9", i: "\u12da", A: "\u12db", E: "\u12dc", e: "\u12dd", o: "\u12de", '!': '\u12DF', '|': '\u017e'
  1977. },
  1978. "Z": {
  1979. a: "\u12e0", u: "\u12e1", i: "\u12e2", A: "\u12e3", E: "\u12e4", e: "\u12e5", o: "\u12e6", '!': '\u12E7', '|': '\u017d'
  1980. },
  1981. "y": {
  1982. a: "\u12e8", u: "\u12e9", i: "\u12ea", A: "\u12eb", E: "\u12ec", e: "\u12ed", o: "\u12ee", '!': '\u12EF', 1: "\u1ef3", 2: "\u00fd", 3: "\u1ef9", 9: "\u00ff", '=': "\u0177"
  1983. },
  1984. "d": {
  1985. a: "\u12f0", u: "\u12f1", i: "\u12f2", A: "\u12f3", E: "\u12f4", e: "\u12f5", o: "\u12f6", '!': '\u12F7', '.': '\u1e0d', ',': '\u1366'
  1986. },
  1987. "L": {
  1988. a: "\u12F8", u: "\u12F9", i: "\u12FA", A: "\u12FB", E: "\u12FC", e: "\u12FD", o: "\u12FE", '!': '\u12FF'
  1989. },
  1990. "D": {
  1991. a: "\u1300", u: "\u1301", i: "\u1302", A: "\u1303", E: "\u1304", e: "\u1305", o: "\u1306", '!': '\u1307', '.': '\u1e0c'
  1992. },
  1993. "g": {
  1994. a: "\u1308", u: "\u1309", i: "\u130a", A: "\u130b", E: "\u130c", e: "\u130d", o: "\u130e", '!': '\u130F', '|': '\u01e7'
  1995. },
  1996. "G": {
  1997. a: "\u1318", u: "\u1319", i: "\u131a", A: "\u131b", E: "\u131c", e: "\u131d", o: "\u131e", '!': '\u131F', '|': '\u01e6'
  1998. },
  1999. "T": {
  2000. a: "\u1320", u: "\u1321", i: "\u1322", A: "\u1323", E: "\u1324", e: "\u1325", o: "\u1326", '!': '\u1327', '.': '\u1e6c'
  2001. },
  2002. "C": {
  2003. a: "\u1328", u: "\u1329", i: "\u132a", A: "\u132b", E: "\u132c", e: "\u132d", o: "\u132e", '!': '\u132F'
  2004. },
  2005. "p": {
  2006. a: "\u1330", u: "\u1331", i: "\u1332", A: "\u1333", E: "\u1334", e: "\u1335", o: "\u1336", '!': '\u1337', 6: "\u1e57"
  2007. },
  2008. "j": {
  2009. a: "\u1338", u: "\u1339", i: "\u133a", A: "\u133b", E: "\u133c", e: "\u133d", o: "\u133e", '!': '\u133F'
  2010. },
  2011. "J": {
  2012. a: "\u1340", u: "\u1341", i: "\u1342", A: "\u1343", E: "\u1344", e: "\u1345", o: "\u1346", '!': '\u1347'
  2013. },
  2014. "f": {
  2015. a: "\u1348", u: "\u1349", i: "\u134a", A: "\u134b", E: "\u134c", e: "\u134d", o: "\u134e", '!': '\u134F', ',': '\u1368'
  2016. },
  2017. "P": {
  2018. a: "\u1350", u: "\u1351", i: "\u1352", A: "\u1353", E: "\u1354", e: "\u1355", o: "\u1356", '!': '\u1357', 6: "\u1E56"
  2019. },
  2020. "Q": {
  2021. a: "\u1250", u: "\u1251", i: "\u1252", A: "\u1253", E: "\u1254", e: "\u1255", o: "\u1256"
  2022. },
  2023. "[": {
  2024. a: "\u1248", i: "\u124a", A: "\u124b", E: "\u124c", e: "\u124d"
  2025. },
  2026. "]": {
  2027. a: "\u1288", i: "\u128a", A: "\u128b", E: "\u128c", e: "\u128d"
  2028. },
  2029. "}": {
  2030. a: "\u12b0", i: "\u12b2", A: "\u12b3", E: "\u12b4", e: "\u12b5"
  2031. },
  2032. "{": {
  2033. a: "\u1310", i: "\u1312", A: "\u1313", E: "\u1314", e: "\u1315"
  2034. },
  2035. "M": {
  2036. a: "\u1380", i: "\u1381", E: "\u1382", e: "\u1383"
  2037. },
  2038. "|": {
  2039. a: "\u1384", i: "\u1385", E: "\u1386", e: "\u1387"
  2040. },
  2041. "<": {
  2042. a: "\u1388", i: "\u1389", E: "\u138A", e: "\u138B"
  2043. },
  2044. ">": {
  2045. a: "\u138C", i: "\u138D", E: "\u138E", e: "\u138F"
  2046. },
  2047. 'Y': {
  2048. 1: "\u1ef2", 2: "\u00dd", 3: "\u1ef8", 9: "\u0178", '=': "\u0176"
  2049. }
  2050. },
  2051. // language direction
  2052. rtl: false
  2053. };
  2054. // Keyboard Language
  2055. // please update this section to match this language and email me with corrections!
  2056. // de = ISO 639-1 code for German
  2057. // ***********************
  2058. jQuery.keyboard.language.de = {
  2059. language: 'Deutsch (German)',
  2060. display : {
  2061. 'a' : '\u2714:\u00dcbernehmen (Umschalt+Enter)', // check mark - same action as accept
  2062. 'accept' : '\u00dcbernehmen:\u00dcbernehmen (Umschalt+Enter)',
  2063. 'alt' : 'AltGr:Alt Graph',
  2064. 'b' : '\u2190:R\u00fccktaste', // Left arrow (same as &larr;)
  2065. 'bksp' : 'R\u00fcck:R\u00fccktaste',
  2066. 'c' : '\u2716:Abbrechen (Esc)', // big X, close - same action as cancel
  2067. 'cancel' : 'Abbrechen:Abbrechen (Esc)',
  2068. 'clear' : 'C:L\u00f6schen', // clear num pad
  2069. 'combo' : '\u00f6:Tottasten umschalten',
  2070. 'dec' : ',:Dezimal', // decimal point for num pad (optional), change '.' to ',' for European format
  2071. 'e' : '\u21b5:Eingabe', // down, then left arrow - enter symbol
  2072. 'enter' : 'Enter:Eingabe',
  2073. 'lock' : '\u21E9:Feststelltaste', // caps lock
  2074. 's' : '\u21e7:Umschalttaste', // thick hollow up arrow
  2075. 'shift' : 'Umschalt:Umschalttaste',
  2076. 'sign' : '\u00b1:Vorzeichen wechseln', // +/- sign for num pad
  2077. 'space' : '&nbsp;:Leertaste',
  2078. 't' : '\u21e5:Tabulatortaste', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2079. 'tab' : '\u21e5 Tab:Tabulatortaste' // \u21b9 is the true tab symbol (left & right arrows)
  2080. },
  2081. // Message added to the key title while hovering, if the mousewheel plugin exists
  2082. wheelMessage : 'Mausrad benutzen, um weitere Tasten zu sehen',
  2083. };
  2084. // Keyboard Language
  2085. // please update this section to match this language and email me with corrections!
  2086. // es = ISO 639-1 code for Spanish
  2087. // ***********************
  2088. jQuery.keyboard.language.es = {
  2089. language: 'Espa\u00f1ol (Spanish)',
  2090. display : {
  2091. 'a' : '\u2714:Acceptar (Cambio+Inscribir)', // check mark - same action as accept
  2092. 'accept' : 'Acceptar:Acceptar (Cambio+Inscribir)',
  2093. 'alt' : 'AltGr:Grafemas Alternativos',
  2094. 'b' : '\u2190:Retroceso', // Left arrow (same as &larr;)
  2095. 'bksp' : 'Bksp:Retroceso',
  2096. 'c' : '\u2716:Cancelar (Esc)', // big X, close - same action as cancel
  2097. 'cancel' : 'Cancelar:Cancelar (Esc)',
  2098. 'clear' : 'C:Vaciar', // clear num pad
  2099. 'combo' : '\u00f6:Alternar las Teclas Combinados',
  2100. 'dec' : ',:Decimal', // decimal point for num pad (optional), change '.' to ',' for European format
  2101. 'e' : '\u21b5:Inscribir', // down, then left arrow - enter symbol
  2102. 'enter' : 'Inscribir:Inscribir',
  2103. 'lock' : '\u21ea Bloq:Mayús', // caps lock
  2104. 's' : '\u21e7:Cambio', // thick hollow up arrow
  2105. 'shift' : 'Cambio:Cambio',
  2106. 'sign' : '\u00b1:Cambiar Signo', // +/- sign for num pad
  2107. 'space' : '&nbsp;:Espacio',
  2108. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2109. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2110. },
  2111. wheelMessage : 'Utilice la rueda del mouse para ver otras teclas'
  2112. };
  2113. // Keyboard Language
  2114. // please update this section to match this language and email me with corrections!
  2115. // fa = ISO 639-1 code for Farsi
  2116. // ***********************
  2117. jQuery.keyboard.language.fa = {
  2118. language: '\u0641\u0627\u0631\u0633\u06cc (Farsi)',
  2119. display: {
  2120. 'a' : '\u2714:\u062a\u0623\u06cc\u06cc\u062f (Shift+Enter)',
  2121. 'accept' : '\u062a\u0623\u06cc\u06cc\u062f:\u062a\u0623\u06cc\u06cc\u062f (Shift+Enter)',
  2122. 'alt' : 'Lng:Alternate Graphemes',
  2123. 'b' : '\u2190:\u2b05 Backspace',
  2124. 'bksp' : '\u2b05 Bksp:\u2b05 Backspace',
  2125. 'c' : '\u2716:\u0627\u0646\u0635\u0631\u0627\u0641 (Esc)',
  2126. 'cancel' : '\u0627\u0646\u0635\u0631\u0627\u0641:\u0627\u0646\u0635\u0631\u0627\u0641 (Esc)',
  2127. 'clear' : 'C:Clear',
  2128. 'combo' : '\u00f6:Toggle Combo Keys',
  2129. 'dec' : '.:Decimal',
  2130. 'e' : '\u21b5:Enter',
  2131. 'enter' : 'Enter:Enter',
  2132. 'lock' : '\u21ea Lock:Caps Lock',
  2133. 's' : '\u21e7:Shift',
  2134. 'shift' : 'Shift:Shift',
  2135. 'sign' : '\u00b1:Change Sign',
  2136. 'space' : '&nbsp;:Space',
  2137. 't' : '\u21e5:Tab',
  2138. 'tab' : '\u21e5 Tab:Tab'
  2139. },
  2140. // Message added to the key title while hovering, if the mousewheel plugin exists
  2141. wheelMessage: 'Use mousewheel to see other keys',
  2142. rtl: true
  2143. // uncomment, then include changes to the comboRegex here
  2144. //, comboRegex: /([`\'~\^\"ao])([a-z])/mig,
  2145. // uncomment, then include any changes to the combos option here
  2146. /*
  2147. , combos : {
  2148. // grave
  2149. '`' : { a:"\u00e0", A:"\u00c0", e:"\u00e8", E:"\u00c8", i:"\u00ec", I:"\u00cc", o:"\u00f2", O:"\u00d2",
  2150. u:"\u00f9", U:"\u00d9", y:"\u1ef3", Y:"\u1ef2" },
  2151. // acute & cedilla
  2152. "'" : { a:"\u00e1", A:"\u00c1", e:"\u00e9", E:"\u00c9", i:"\u00ed", I:"\u00cd", o:"\u00f3", O:"\u00d3",
  2153. u:"\u00fa", U:"\u00da", y:"\u00fd", Y:"\u00dd" },
  2154. // umlaut/trema
  2155. '"' : { a:"\u00e4", A:"\u00c4", e:"\u00eb", E:"\u00cb", i:"\u00ef", I:"\u00cf", o:"\u00f6", O:"\u00d6",
  2156. u:"\u00fc", U:"\u00dc", y:"\u00ff", Y:"\u0178" },
  2157. // circumflex
  2158. '^' : { a:"\u00e2", A:"\u00c2", e:"\u00ea", E:"\u00ca", i:"\u00ee", I:"\u00ce", o:"\u00f4", O:"\u00d4",
  2159. u:"\u00fb", U:"\u00db", y:"\u0177", Y:"\u0176" },
  2160. // tilde
  2161. '~' : { a:"\u00e3", A:"\u00c3", e:"\u1ebd", E:"\u1ebc", i:"\u0129", I:"\u0128", o:"\u00f5", O:"\u00d5",
  2162. u:"\u0169", U:"\u0168", y:"\u1ef9", Y:"\u1ef8", n:"\u00f1", N:"\u00d1" }
  2163. }
  2164. */
  2165. };
  2166. // Keyboard Language
  2167. // please update this section to match this language and email me with corrections!
  2168. // fr = ISO 639-1 code for French
  2169. // ***********************
  2170. jQuery.keyboard.language.fr = {
  2171. language: 'Fran\u00e7ais (French)',
  2172. display : {
  2173. 'a' : '\u2714:Valider (Shift+Enter)', // check mark - same action as accept
  2174. 'accept' : 'Valider:Valider (Shift+Enter)',
  2175. 'alt' : 'AltGr:Charact\u00e8re alternatif',
  2176. 'b' : '\u2190:Suppr arri\u00e8re', // Left arrow (same as &larr;)
  2177. 'bksp' : '\u2190Suppr:Suppr arri\u00e8re',
  2178. 'c' : '\u2716:Annuler', // big X, close - same action as cancel
  2179. 'cancel' : 'Annuler:Annuler (\u00c9chap)',
  2180. 'clear' : 'C:Effacer', // clear num pad
  2181. 'combo' : '\u00f6:Bacsuler les touches combo',
  2182. 'dec' : '.:Decimal', // decimal point for num pad (optional), change '.' to ',' for European format
  2183. 'e' : '\u21b5:Entr\u00e9e', // down, then left arrow - enter symbol
  2184. 'enter' : 'Entr\u00e9e:Entr\u00e9e',
  2185. 'lock' : '\u21ea Verr Mag:Verouillage majuscule', // caps lock
  2186. 's' : '\u21e7:Majuscule', // thick hollow up arrow
  2187. 'shift' : 'Maj:Majuscule',
  2188. 'sign' : '\u00b1:Change de signe', // +/- sign for num pad
  2189. 'space' : '&nbsp;:Espace',
  2190. 't' : '\u21e5:Tabulation', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2191. 'tab' : '\u21e5 Tab:Tabulation' // \u21b9 is the true tab symbol (left & right arrows)
  2192. },
  2193. // Message added to the key title while hovering, if the mousewheel plugin exists
  2194. wheelMessage : 'Utiliser la molette de la souris pour voir les autres lettres',
  2195. };
  2196. // Keyboard Language
  2197. // please update this section to match this language and email me with corrections!
  2198. // he = ISO 639-1 code for Hebrew
  2199. // ***********************
  2200. jQuery.keyboard.language.he = {
  2201. language: '\u05e2\u05d1\u05e8\u05d9\u05ea (Hebrew)',
  2202. display : {
  2203. 'a' : '\u2714:אישור (Shift+Enter)', // check mark - same action as accept
  2204. 'accept' : 'אישור:אישור (Shift+Enter)',
  2205. 'alt' : 'Alt:תווים נוספים',
  2206. 'b' : '\u2190:Backspace', // Left arrow (same as &larr;)
  2207. 'bksp' : 'Bksp:Backspace',
  2208. 'c' : '\u2716:ביטול (Esc)', // big X, close - same action as cancel
  2209. 'cancel' : 'ביטול:ביטול (Esc)',
  2210. 'clear' : 'C:ניקוי', // clear num pad
  2211. 'combo' : '\u00f6:Toggle Combo Keys',
  2212. 'dec' : '.:נקודה עשרונית', // decimal point for num pad (optional), change '.' to ',' for European format
  2213. 'e' : '\u21b5:Enter', // down, then left arrow - enter symbol
  2214. 'enter' : 'Enter:Enter',
  2215. 'lock' : '\u21ea Lock:Caps Lock', // caps lock
  2216. 's' : '\u21e7:Shift', // thick hollow up arrow
  2217. 'shift' : 'Shift:Shift',
  2218. 'sign' : '\u00b1:שינוי סימן', // +/- sign for num pad
  2219. 'space' : '&nbsp;:רווח',
  2220. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2221. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2222. },
  2223. // Message added to the key title while hovering, if the mousewheel plugin exists
  2224. wheelMessage : 'ניתן להשתמש בגלגלת העכבר כדי לראות מקשים נוספים',
  2225. // language direction
  2226. rtl : true
  2227. };
  2228. // Keyboard Language
  2229. // please update this section to match this language and email me with corrections!
  2230. // hu = ISO 639-1 code for Hungarian
  2231. // ***********************
  2232. jQuery.keyboard.language.hu = {
  2233. language: 'Magyar (Hungarian)',
  2234. display : {
  2235. 'a' : '\u2714:Rendben (Shift+Enter)', // check mark - same action as accept
  2236. 'accept' : 'Rendben:Rendben (Shift+Enter)',
  2237. 'alt' : 'AltGr:Alternate Graphemes',
  2238. 'b' : '\u2190:Backspace', // Left arrow (same as &larr;)
  2239. 'bksp' : 'T\u00f6r\u00f6l:Backspace',
  2240. 'c' : '\u2716:Cancel (Esc)', // big X, close - same action as cancel
  2241. 'cancel' : 'M\u00e9gsem:Cancel (Esc)',
  2242. 'clear' : 'C:Clear', // clear num pad
  2243. 'combo' : '\u00f6:Toggle Combo Keys',
  2244. 'dec' : '.:Decimal', // decimal point for num pad (optional), change '.' to ',' for European format
  2245. 'e' : '\u21b5:Enter', // down, then left arrow - enter symbol
  2246. 'enter' : 'Enter:Enter',
  2247. 'lock' : '\u21ea Lock:Caps Lock', // caps lock
  2248. 's' : '\u21e7:Shift', // thick hollow up arrow
  2249. 'shift' : 'Shift:Shift',
  2250. 'sign' : '\u00b1:Change Sign', // +/- sign for num pad
  2251. 'space' : '&nbsp;:Space',
  2252. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2253. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2254. },
  2255. // Message added to the key title while hovering, if the mousewheel plugin exists
  2256. wheelMessage : 'Haszn\u00e1ld az eg\u00e9r g\u00f6rget\u0151t a t\u00f6bbi billenty\u0171 \u00e1tv\u00e1lt\u00e1shoz',
  2257. };
  2258. // Keyboard Language
  2259. // please update this section to match this language and email me with corrections!
  2260. // "all" is used here for example purposes, by convention it should be the ISO 639-1 code for the specified language
  2261. // ***********************
  2262. jQuery.keyboard.language.it = {
  2263. language: 'Italiano (Italian)', // e.g. 'Русский (Russian)'
  2264. display : {
  2265. 'a' : '\u2714:Accetta (Shift+Enter)', // check mark - same action as accept
  2266. 'accept' : 'Accetta:Accetta (Shift+Enter)',
  2267. 'alt' : 'AltGr:Grafemi Alternativi',
  2268. 'b' : '\u2190:Cancella', // Left arrow (same as &larr;)
  2269. 'bksp' : 'Canc:Cancella',
  2270. 'c' : '\u2716:Annulla (Esc)', // big X, close - same action as cancel
  2271. 'cancel' : 'Annulla:Annulla (Esc)',
  2272. 'clear' : 'C:Pulisci', // clear num pad
  2273. 'combo' : '\u00f6:Tasti Combinati',
  2274. 'dec' : ',:Decimale', // decimal point for num pad (optional), change '.' to ',' for European format
  2275. 'e' : '\u21b5:Invio', // down, then left arrow - enter symbol
  2276. 'enter' : 'Invio:Invio',
  2277. 'lock' : '\u21ea Bloc:Bloc Maiusc', // caps lock
  2278. 's' : '\u21e7:Maiusc', // thick hollow up arrow
  2279. 'shift' : 'Maiusc:Maiusc',
  2280. 'sign' : '\u00b1:Cambia Segno', // +/- sign for num pad
  2281. 'space' : '&nbsp;:Spazio',
  2282. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2283. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2284. },
  2285. // Message added to the key title while hovering, if the mousewheel plugin exists
  2286. wheelMessage : 'Usa la rotella del mouse per vedere altri tasti'
  2287. // uncomment, then include changes to the comboRegex here
  2288. /*
  2289. , comboRegex : /([`\'~\^\"ao])([a-z])/mig,
  2290. */
  2291. // uncomment, then include any changes to the combos option here
  2292. /*
  2293. , combos : {
  2294. // grave
  2295. '`' : { a:"\u00e0", A:"\u00c0", e:"\u00e8", E:"\u00c8", i:"\u00ec", I:"\u00cc", o:"\u00f2", O:"\u00d2",
  2296. u:"\u00f9", U:"\u00d9", y:"\u1ef3", Y:"\u1ef2" },
  2297. // acute & cedilla
  2298. "'" : { a:"\u00e1", A:"\u00c1", e:"\u00e9", E:"\u00c9", i:"\u00ed", I:"\u00cd", o:"\u00f3", O:"\u00d3",
  2299. u:"\u00fa", U:"\u00da", y:"\u00fd", Y:"\u00dd" },
  2300. // umlaut/trema
  2301. '"' : { a:"\u00e4", A:"\u00c4", e:"\u00eb", E:"\u00cb", i:"\u00ef", I:"\u00cf", o:"\u00f6", O:"\u00d6",
  2302. u:"\u00fc", U:"\u00dc", y:"\u00ff", Y:"\u0178" },
  2303. // circumflex
  2304. '^' : { a:"\u00e2", A:"\u00c2", e:"\u00ea", E:"\u00ca", i:"\u00ee", I:"\u00ce", o:"\u00f4", O:"\u00d4",
  2305. u:"\u00fb", U:"\u00db", y:"\u0177", Y:"\u0176" },
  2306. // tilde
  2307. '~' : { a:"\u00e3", A:"\u00c3", e:"\u1ebd", E:"\u1ebc", i:"\u0129", I:"\u0128", o:"\u00f5", O:"\u00d5",
  2308. u:"\u0169", U:"\u0168", y:"\u1ef9", Y:"\u1ef8", n:"\u00f1", N:"\u00d1" }
  2309. },
  2310. // language direction
  2311. rtl : false
  2312. */
  2313. };
  2314. // Keyboard Language
  2315. // please update this section to match this language and email me with corrections!
  2316. // lv = ISO 639-1 code for Latvian
  2317. // ***********************
  2318. jQuery.keyboard.language.lv = {
  2319. language: 'Latvie\u0161u (Latvian)',
  2320. display : {
  2321. 'a' : '\u2714:Pie\u0146emt (Shift+Enter)', // check mark - same action as accept
  2322. 'accept' : 'Pie\u0146emt:Pie\u0146emt (Shift+Enter)',
  2323. 'alt' : 'AltGr:Altern\u0113\u0161anas tausti\u0146\u0161',
  2324. 'b' : '\u2190:Atpaka\u013Catk\u0101pe', // Left arrow (same as &larr;)
  2325. 'bksp' : 'Bksp:Atpaka\u013Catk\u0101pe',
  2326. 'c' : '\u2716:Atcelt (Esc)', // big X, close - same action as cancel
  2327. 'cancel' : 'Atcelt:Atcelt (Esc)',
  2328. 'clear' : 'C:Clear', // clear num pad
  2329. 'combo' : '\u00f6:Toggle Combo Keys',
  2330. 'dec' : '.:Decimal', // decimal point for num pad (optional), change '.' to ',' for European format
  2331. 'e' : '\u21b5:Enter', // down, then left arrow - enter symbol
  2332. 'enter' : 'Enter:Enter',
  2333. 'lock' : '\u21ea Lock:Caps Lock', // caps lock
  2334. 's' : '\u21e7:Shift', // thick hollow up arrow
  2335. 'shift' : 'Shift:Shift',
  2336. 'sign' : '\u00b1:Change Sign', // +/- sign for num pad
  2337. 'space' : '&nbsp;:Space',
  2338. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2339. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2340. },
  2341. // Message added to the key title while hovering, if the mousewheel plugin exists
  2342. wheelMessage : 'Izmanto peles riten\u012Bti, lai apskat\u012Btu citus tausti\u0146us',
  2343. // New combos using specific accents
  2344. combos : {
  2345. // duplicated from regular combos, used specific accents here instead
  2346. // acute & cedilla c C é É n N ó Ó s S z Z
  2347. "'" : { c:"\u0107", C:"\u0106", e:"\u00e9", E:"\u00c9", n:"\u0144", N:"\u0143", o:"\u00f3", O:"\u00d3", s:"\u015b", S:"\u015a", z:"\u017a", Z:"\u0179" },
  2348. // diaeresis: ä Ä ö Ö ü Ü
  2349. '\u00a8' : { a:"\u00e4", A:"\u00c4", o:"\u00f6", O:"\u00d6", u:"\u00fc", U:"\u00dc" },
  2350. // degree sign å Å e E g z Z
  2351. '\u00b0' : { a:"\u00e5", A:"\u00c5", e:"\u0117", E:"\u0116", g:"\u0121", z:"\u017c", Z:"\u017b" },
  2352. },
  2353. comboRegex : /([`\'~\^\"ao\u00a8\u00b0])([a-z])/mig
  2354. };
  2355. /**
  2356. * Burmese Keyboard Language
  2357. * please update this section to match this language and email me with corrections!
  2358. * my = ISO 639-1 code for Burmese
  2359. * thanks to @laminko (https://github.com/laminko);
  2360. * see https://github.com/Mottie/Keyboard/pull/507
  2361. * license for this file: WTFPL
  2362. */
  2363. jQuery.keyboard.language.my = {
  2364. language: '\u1017\u1019\u102c (Burmese)', // e.g. 'Русский (Russian)'
  2365. display : {
  2366. 'a' : '\u2714:Accept (Shift+Enter)', // check mark - same action as accept
  2367. 'accept' : 'Accept:Accept (Shift+Enter)',
  2368. 'alt' : 'AltGr:Alternate Graphemes',
  2369. 'b' : '\u2190:Backspace', // Left arrow (same as &larr;)
  2370. 'bksp' : 'Bksp:Backspace',
  2371. 'c' : '\u2716:Cancel (Esc)', // big X, close - same action as cancel
  2372. 'cancel' : 'Cancel:Cancel (Esc)',
  2373. 'clear' : 'C:\u101b\u103e\u1004\u103a\u1038\u101c\u1004\u103a\u1038\u101b\u1014\u103a', // clear num pad
  2374. 'combo' : '\u00f6:Toggle Combo Keys',
  2375. 'dec' : '.:\u1012\u101e\u1019', // decimal point for num pad (optional), change '.' to ',' for European format
  2376. 'e' : '\u21b5:Enter', // down, then left arrow - enter symbol
  2377. 'enter' : 'Enter:Enter',
  2378. 'lock' : '\u21ea Lock:Caps Lock', // caps lock
  2379. 's' : '\u21e7:Shift', // thick hollow up arrow
  2380. 'shift' : 'Shift:Shift',
  2381. 'sign' : '\u00b1:Change Sign', // +/- sign for num pad
  2382. 'space' : '&nbsp;:Space',
  2383. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2384. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2385. },
  2386. // Message added to the key title while hovering, if the mousewheel plugin exists
  2387. wheelMessage : '\u1021\u1001\u103c\u102c\u1038\u1001\u101c\u102f\u1010\u103a\u1019\u103b\u102c\u1038\u1000\u102d\u102f \u1019\u103c\u1004\u103a\u101b\u1005\u1031\u101b\u1014\u103a \u1019\u1031\u102c\u1000\u103a\u1005\u103a\u101d\u103e\u102e\u1038\u101c\u103a\u1000\u102d\u102f \u1021\u101e\u102f\u1036\u1038\u1015\u103c\u102f\u1015\u102b'
  2388. // uncomment, then include changes to the comboRegex here
  2389. /*
  2390. , comboRegex : /([`\'~\^\"ao])([a-z])/mig,
  2391. */
  2392. // uncomment, then include any changes to the combos option here
  2393. /*
  2394. , combos : {
  2395. // grave
  2396. '`' : { a:"\u00e0", A:"\u00c0", e:"\u00e8", E:"\u00c8", i:"\u00ec", I:"\u00cc", o:"\u00f2", O:"\u00d2",
  2397. u:"\u00f9", U:"\u00d9", y:"\u1ef3", Y:"\u1ef2" },
  2398. // acute & cedilla
  2399. "'" : { a:"\u00e1", A:"\u00c1", e:"\u00e9", E:"\u00c9", i:"\u00ed", I:"\u00cd", o:"\u00f3", O:"\u00d3",
  2400. u:"\u00fa", U:"\u00da", y:"\u00fd", Y:"\u00dd" },
  2401. // umlaut/trema
  2402. '"' : { a:"\u00e4", A:"\u00c4", e:"\u00eb", E:"\u00cb", i:"\u00ef", I:"\u00cf", o:"\u00f6", O:"\u00d6",
  2403. u:"\u00fc", U:"\u00dc", y:"\u00ff", Y:"\u0178" },
  2404. // circumflex
  2405. '^' : { a:"\u00e2", A:"\u00c2", e:"\u00ea", E:"\u00ca", i:"\u00ee", I:"\u00ce", o:"\u00f4", O:"\u00d4",
  2406. u:"\u00fb", U:"\u00db", y:"\u0177", Y:"\u0176" },
  2407. // tilde
  2408. '~' : { a:"\u00e3", A:"\u00c3", e:"\u1ebd", E:"\u1ebc", i:"\u0129", I:"\u0128", o:"\u00f5", O:"\u00d5",
  2409. u:"\u0169", U:"\u0168", y:"\u1ef9", Y:"\u1ef8", n:"\u00f1", N:"\u00d1" }
  2410. },
  2411. // language direction
  2412. rtl : false
  2413. */
  2414. };
  2415. // Keyboard Language
  2416. // please update this section to match this language and email me with corrections!
  2417. // pl = ISO 639-1 code for Polish
  2418. // ***********************
  2419. jQuery.keyboard.language.pl = {
  2420. language: 'Polski (Polish)',
  2421. display : {
  2422. 'a' : '\u2714:Akceptuj (Shift+Enter)', // check mark - same action as accept
  2423. 'accept' : 'Accept:Akceptuj (Shift+Enter)',
  2424. 'alt' : 'AltGr:Polskie znaki',
  2425. 'b' : '\u2190:Cofnij', // Left arrow (same as &larr;)
  2426. 'bksp' : 'Bksp:Cofnij',
  2427. 'c' : '\u2716:Anuluj (Esc)', // big X, close - same action as cancel
  2428. 'cancel' : 'Cancel:Anuluj (Esc)',
  2429. 'clear' : 'C:Czyść', // clear num pad
  2430. 'combo' : '\u00f6:Klawisze kombo',
  2431. 'dec' : '.:Dziesiętny', // decimal point for num pad (optional), change '.' to ',' for European format
  2432. 'e' : '\u21b5:Enter', // down, then left arrow - enter symbol
  2433. 'enter' : 'Enter:Enter',
  2434. 'lock' : '\u21ea Lock:Caps Lock', // caps lock
  2435. 's' : '\u21e7:Shift', // thick hollow up arrow
  2436. 'shift' : 'Shift:Shift',
  2437. 'sign' : '\u00b1:Zmień znak', // +/- sign for num pad
  2438. 'space' : '&nbsp;:Spacja',
  2439. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2440. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2441. },
  2442. // Message added to the key title while hovering, if the mousewheel plugin exists
  2443. wheelMessage : 'Użyj rolki aby zobaczyć pozozstałe klawisze',
  2444. };
  2445. // Keyboard Language
  2446. // please update this section to match this language and email me with corrections!
  2447. // pt = ISO 639-1 code for Portuguese
  2448. // ***********************
  2449. jQuery.keyboard.language.pt = {
  2450. language: 'Portugu\u00eas (Portuguese)',
  2451. display : {
  2452. 'a' : '\u2714:Aceitar (Shift+Enter)', // ALTERNATE accept button - unicode for check mark symbol
  2453. 'accept' : 'Aceitar:Concluir (Shift+Enter)', // Accept button text
  2454. 'alt' : 'AltGr:Carateres Adicionais/CTRL+ALT', // Alt button text (AltGr is for international key sets)
  2455. 'b' : '\u2190:Retroceder', // ALTERNATE backspace button - unicode for left arrow. Same as ← ( &larr; ) - Left arrow
  2456. 'bksp' : '\u2190 Bksp:Retroceder', // Backspace button text
  2457. 'c' : '\u2716:Cancelar/Escape (Esc)', // ALTERNATE cancel button - unicode for big X
  2458. 'cancel' : 'Cancel:Cancelar/Escape(Esc)', // Cancel button text
  2459. 'clear' : 'C:Limpar', // Clear window content (used in num pad)
  2460. 'combo' : '\u00f6:Acentuação Automática', // (Toggle combo (diacritic) key
  2461. 'dec' : '.:Decimal', // Decimal point for num pad (optional), change '.' to ',' for European format
  2462. 'e' : '\u21b5:Introduzir/Mudar de Linha', // ALTERNATE enter button - unicode for down, then left arrow (enter symbol)
  2463. 'enter' : 'Enter\u21b5:Introduzir/Mudar de Linha', // Enter button text
  2464. 'lock' : '\u21ea Lock:CapsLock/Maiúsculas', // Caps lock button - unicode for double lined up arrow
  2465. 's' : '\u21e7:Shift/Maiúsculas', // ALTERNATE shift button - unicode for a thick up arrow
  2466. 'shift' : '\u21ea Shift:Maiúsculas-Minúsculas', // Shift button text
  2467. 'sign' : '\u00b1:Mudar Sinal', // Change sign (used in num pad) - unicode for a +- symbol
  2468. 'space' : '&nbsp;:Espaço', // Space button text
  2469. 't' : '\u21e5:Tab/Tabela/Avançar', // ALTERNATE tab button - unicode for right arrow to bar (used since only one directional tabs available)
  2470. 'tab' : '\u21e5 Tab:Tabela/Avançar' // Tab button text (Note: \u21b9 is the true tab symbol (left & right arrows) but not used here)
  2471. },
  2472. wheelMessage : 'Use a roda do rato/navegador para ver mais teclas',
  2473. // Update regex for the combos above
  2474. comboRegex : /([`\'~\^\"ao\u00b4])([a-z])/mig,
  2475. // New combos using specific accents
  2476. combos : {
  2477. "\u00b4" : { a:"\u00e1", A:"\u00c1", e:"\u00e9", E:"\u00c9", i:"\u00ed", I:"\u00cd", o:"\u00f3", O:"\u00d3", u:"\u00fa", U:"\u00da", y:"\u00fd", Y:"\u00dd" }, // acute & cedilla
  2478. // remove apostrophe combo
  2479. "'" : {}
  2480. }
  2481. };
  2482. // Keyboard Language
  2483. // please update this section to match this language and email me with corrections!
  2484. // ro = ISO 639-1 code for Romanian
  2485. // ***********************
  2486. jQuery.keyboard.language.ro = {
  2487. language: 'Rom\u00e2n\u0103 (Romanian)',
  2488. display : {
  2489. 'a' : '\u2714:Accept (Shift+Enter)', // check mark - same action as accept
  2490. 'accept' : 'Accept:Accept (Shift+Enter)',
  2491. 'alt' : 'AltGr:Alternate Graphemes',
  2492. 'b' : '\u2190:Backspace', // Left arrow (same as &larr;)
  2493. 'bksp' : 'Bksp:Backspace',
  2494. 'c' : '\u2716:Cancel (Esc)', // big X, close - same action as cancel
  2495. 'cancel' : 'Cancel:Cancel (Esc)',
  2496. 'clear' : 'C:Clear', // clear num pad
  2497. 'combo' : '\u00f6:Toggle Combo Keys',
  2498. 'dec' : ',:Decimal', // decimal point for num pad (optional), change '.' to ',' for European format
  2499. 'e' : '\u21b5:Enter', // down, then left arrow - enter symbol
  2500. 'enter' : 'Enter:Enter',
  2501. 'lock' : '\u21ea Lock:Caps Lock', // caps lock
  2502. 's' : '\u21e7:Shift', // thick hollow up arrow
  2503. 'shift' : 'Shift:Shift',
  2504. 'sign' : '\u00b1:Schimba semnul', // +/- sign for num pad
  2505. 'space' : '&nbsp;:Spatiu',
  2506. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2507. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2508. },
  2509. // Message added to the key title while hovering, if the mousewheel plugin exists
  2510. wheelMessage : 'Foloseste rotita mouse-ului pentru a vedea si celelalte caractere',
  2511. };
  2512. // Keyboard Language
  2513. // please update this section to match this language and email me with corrections!
  2514. // ru = ISO 639-1 code for Russian
  2515. // ***********************
  2516. jQuery.keyboard.language.ru = {
  2517. language: '\u0420\u0443\u0441\u0441\u043a\u0438\u0439 (Russian)',
  2518. display : {
  2519. 'a' : '\u2714:Сохранить (Shift+Enter)', // check mark - same action as accept
  2520. 'accept' : 'Сохранить:Сохранить (Shift+Enter)',
  2521. 'alt' : 'РУС:Русская клавиатура',
  2522. 'b' : '\u2190:Удалить символ слева', // Left arrow (same as &larr;)
  2523. 'bksp' : '\u21e6:Удалить символ слева',
  2524. 'c' : '\u2716:Отменить (Esc)', // big X, close - same action as cancel
  2525. 'cancel' : 'Отменить:Отменить (Esc)',
  2526. 'clear' : 'C:Очистить', // clear num pad
  2527. 'combo' : '\u00f6:Toggle Combo Keys',
  2528. 'dec' : ',:Decimal', // decimal point for num pad (optional), change '.' to ',' for European format
  2529. 'e' : '\u21b5:Ввод', // down, then left arrow - enter symbol
  2530. 'enter' : 'Ввод:Перевод строки',
  2531. 'lock' : '\u21ea Lock:Caps Lock', // caps lock
  2532. 's' : '\u21e7:Верхний регистр', // thick hollow up arrow
  2533. 'shift' : '\u21e7:Верхний регистр',
  2534. 'sign' : '\u00b1:Сменить знак', // +/- sign for num pad
  2535. 'space' : 'Пробел:',
  2536. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2537. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2538. },
  2539. // Message added to the key title while hovering, if the mousewheel plugin exists
  2540. wheelMessage : 'Use mousewheel to see other keys',
  2541. };
  2542. // Keyboard Language
  2543. // please update this section to match this language and email me with corrections!
  2544. // sq = ISO 639-1 code for Albanian
  2545. // ***********************
  2546. jQuery.keyboard.language.sq = {
  2547. language : 'Shqip (Albanian)',
  2548. display : {
  2549. 'a' : '\u2714:Prano (Shift+Enter)', // check mark - same action as accept
  2550. 'accept' : 'Prano:Prano (Shift+Enter)',
  2551. 'alt' : 'Alt:Alternativ',
  2552. 'b' : '\u2190:Hap\u00ebsir\u00ebn Mbrapa', // Left arrow (same as &larr;)
  2553. 'bksp' : 'Bksp:Hap\u00ebsir\u00ebn Mbrapa',
  2554. 'c' : '\u2716:Anuloj (Arratisjes)', // big X, close - same action as cancel
  2555. 'cancel' : 'Anuloj:Anuloj (Arratisjes)',
  2556. 'clear' : 'C:Qart\u00eb', // clear num pad
  2557. 'combo' : '\u00f6:Kombinimi',
  2558. 'dec' : '.:Decimal', // decimal point for num pad (optional), change '.' to ',' for European format
  2559. 'e' : '\u21b5:Shkruani', // down, then left arrow - enter symbol
  2560. 'enter' : 'Shkruani:Shkruani',
  2561. 'lock' : '\u21ea Bllokoj:Caps Lock', // caps lock
  2562. 'next' : 'Next \u21e8',
  2563. 'prev' : '\u21e6 Prev',
  2564. 's' : '\u21e7:Ndryshim', // thick hollow up arrow
  2565. 'shift' : 'Ndryshim:Ndryshim',
  2566. 'sign' : '\u00b1:Ndryshimi Regjistrohu', // +/- sign for num pad
  2567. 'space' : '&nbsp;:Hap\u00ebsir\u00eb',
  2568. 't' : '\u21e5:Tab', // right arrow to bar (used since this virtual keyboard works with one directional tabs)
  2569. 'tab' : '\u21e5 Tab:Tab' // \u21b9 is the true tab symbol (left & right arrows)
  2570. },
  2571. // Message added to the key title while hovering, if the mousewheel plugin exists
  2572. wheelMessage : 'P\u00ebrdorimi mousewheel p\u00ebr t\u00eb par\u00eb \u00e7el\u00ebsat e tjera',
  2573. // New combos using specific accents
  2574. // Not sure what to do with these accents: ˇ ˘ ˙ ° ˛ ˝
  2575. comboRegex : /([`\'~\^\"ao\/])([a-z])/gim,
  2576. combos : {
  2577. // new combos below ( forward slash + d, forward slash + l )
  2578. '/' : { d:"\u0111", D:"\u0110", l:"\u0142", L:"\u0141" } // stroke đ Đ ł Ł
  2579. }
  2580. };