1
0

KeyModel.qml 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. import QtQuick 2.0
  2. /**
  3. * This is quick and dirty model for the keys of the InputPanel *
  4. * The code has been copied from
  5. * http://tolszak-dev.blogspot.de/2013/04/qplatforminputcontext-and-virtual.html
  6. */
  7. /********************************************************
  8. English Keyboard Layout
  9. ********************************************************/
  10. Item {
  11. property QtObject firstRowModel: first
  12. property QtObject secondRowModel: second
  13. property QtObject thirdRowModel: third
  14. property QtObject numbersRowModel: numbers
  15. property string kbdLayout: ""
  16. ListModel {
  17. id:numbers
  18. Component.onCompleted: {
  19. switch (kbdLayout){
  20. default:
  21. case "de":
  22. append ({ letter: "1", firstSymbol: "1"});
  23. append ({ letter: "2", firstSymbol: "2"});
  24. append ({ letter: "3", firstSymbol: "3"});
  25. append ({ letter: "4", firstSymbol: "4"});
  26. append ({ letter: "5", firstSymbol: "5"});
  27. append ({ letter: "6", firstSymbol: "6"});
  28. append ({ letter: "7", firstSymbol: "7"});
  29. append ({ letter: "8", firstSymbol: "8"});
  30. append ({ letter: "9", firstSymbol: "9"});
  31. append ({ letter: "0", firstSymbol: "0"});
  32. append ({ letter: "@", firstSymbol: "€"});
  33. break;
  34. case "en":
  35. append ({ letter: "1", firstSymbol: "1"});
  36. append ({ letter: "2", firstSymbol: "2"});
  37. append ({ letter: "3", firstSymbol: "3"});
  38. append ({ letter: "4", firstSymbol: "4"});
  39. append ({ letter: "5", firstSymbol: "5"});
  40. append ({ letter: "6", firstSymbol: "6"});
  41. append ({ letter: "7", firstSymbol: "7"});
  42. append ({ letter: "8", firstSymbol: "8"});
  43. append ({ letter: "9", firstSymbol: "9"});
  44. append ({ letter: "0", firstSymbol: "0"});
  45. append ({ letter: "$", firstSymbol: "$"});
  46. break;
  47. }
  48. }
  49. // ListElement { letter: "1"; firstSymbol: "1"}
  50. // ListElement { letter: "2"; firstSymbol: "2"}
  51. // ListElement { letter: "3"; firstSymbol: "3"}
  52. // ListElement { letter: "4"; firstSymbol: "4"}
  53. // ListElement { letter: "5"; firstSymbol: "5"}
  54. // ListElement { letter: "6"; firstSymbol: "6"}
  55. // ListElement { letter: "7"; firstSymbol: "7"}
  56. // ListElement { letter: "8"; firstSymbol: "8"}
  57. // ListElement { letter: "9"; firstSymbol: "9"}
  58. // ListElement { letter: "0"; firstSymbol: "0"}
  59. // ListElement { letter: "@"; firstSymbol: "@"}
  60. // // ListElement { letter: "="; firstSymbol: "+"}
  61. }
  62. ListModel {
  63. id:first
  64. ListElement { letter: "q"; firstSymbol: "!"}
  65. ListElement { letter: "w"; firstSymbol: "°"}
  66. ListElement { letter: "e"; firstSymbol: "#"}
  67. ListElement { letter: "r"; firstSymbol: "$"}
  68. ListElement { letter: "t"; firstSymbol: "%"}
  69. ListElement { letter: "y"; firstSymbol: "^"}
  70. ListElement { letter: "u"; firstSymbol: "&"}
  71. ListElement { letter: "i"; firstSymbol: "+"}
  72. ListElement { letter: "o"; firstSymbol: "-"}
  73. ListElement { letter: "p"; firstSymbol: "*"}
  74. ListElement { letter: "("; firstSymbol: "/"}
  75. ListElement { letter: ")"; firstSymbol: "="}
  76. }
  77. ListModel {
  78. id:second
  79. ListElement { letter: "a"; firstSymbol: "{"}
  80. ListElement { letter: "s"; firstSymbol: "}"}
  81. ListElement { letter: "d"; firstSymbol: "["}
  82. ListElement { letter: "f"; firstSymbol: "]"}
  83. ListElement { letter: "g"; firstSymbol: "("}
  84. ListElement { letter: "h"; firstSymbol: ")"}
  85. ListElement { letter: "j"; firstSymbol: ":"}
  86. ListElement { letter: "k"; firstSymbol: "\""}
  87. ListElement { letter: "l"; firstSymbol: "'"}
  88. ListElement { letter: "'"; firstSymbol: "|"}
  89. ListElement { letter: "/"; firstSymbol: "\\"}
  90. }
  91. ListModel {
  92. id:third
  93. ListElement { letter: "z"; firstSymbol: "<"}
  94. ListElement { letter: "x"; firstSymbol: ">"}
  95. ListElement { letter: "c"; firstSymbol: "€"}
  96. ListElement { letter: "v"; firstSymbol: "µ"}
  97. ListElement { letter: "b"; firstSymbol: "?"}
  98. ListElement { letter: "n"; firstSymbol: ".com"}
  99. ListElement { letter: "m"; firstSymbol: ";"}
  100. ListElement { letter: ","; firstSymbol: ","}
  101. ListElement { letter: "."; firstSymbol: "."}
  102. }
  103. }
  104. /********************************************************
  105. German Keyboard Layout
  106. ********************************************************/
  107. /*
  108. Item {
  109. property QtObject firstRowModel: first
  110. property QtObject secondRowModel: second
  111. property QtObject thirdRowModel: third
  112. property QtObject numbersRowModel: numbers
  113. ListModel {
  114. id:numbers
  115. ListElement { letter: "1"; firstSymbol: "1"}
  116. ListElement { letter: "2"; firstSymbol: "2"}
  117. ListElement { letter: "3"; firstSymbol: "3"}
  118. ListElement { letter: "4"; firstSymbol: "4"}
  119. ListElement { letter: "5"; firstSymbol: "5"}
  120. ListElement { letter: "6"; firstSymbol: "6"}
  121. ListElement { letter: "7"; firstSymbol: "7"}
  122. ListElement { letter: "8"; firstSymbol: "8"}
  123. ListElement { letter: "9"; firstSymbol: "9"}
  124. ListElement { letter: "0"; firstSymbol: "0"}
  125. ListElement { letter: "ß"; firstSymbol: "@"}
  126. // ListElement { letter: "="; firstSymbol: "+"}
  127. }
  128. ListModel {
  129. id:first
  130. ListElement { letter: "q"; firstSymbol: "!"}
  131. ListElement { letter: "w"; firstSymbol: "°"}
  132. ListElement { letter: "e"; firstSymbol: "#"}
  133. ListElement { letter: "r"; firstSymbol: "$"}
  134. ListElement { letter: "t"; firstSymbol: "%"}
  135. ListElement { letter: "z"; firstSymbol: "^"}
  136. ListElement { letter: "u"; firstSymbol: "&"}
  137. ListElement { letter: "i"; firstSymbol: "+"}
  138. ListElement { letter: "o"; firstSymbol: "-"}
  139. ListElement { letter: "p"; firstSymbol: "*"}
  140. ListElement { letter: "ü"; firstSymbol: "/"}
  141. ListElement { letter: ""; firstSymbol: "="}
  142. }
  143. ListModel {
  144. id:second
  145. ListElement { letter: "a"; firstSymbol: "{"}
  146. ListElement { letter: "s"; firstSymbol: "}"}
  147. ListElement { letter: "d"; firstSymbol: "["}
  148. ListElement { letter: "f"; firstSymbol: "]"}
  149. ListElement { letter: "g"; firstSymbol: "("}
  150. ListElement { letter: "h"; firstSymbol: ")"}
  151. ListElement { letter: "j"; firstSymbol: ":"}
  152. ListElement { letter: "k"; firstSymbol: "\""}
  153. ListElement { letter: "l"; firstSymbol: "'"}
  154. ListElement { letter: "ö"; firstSymbol: "|"}
  155. ListElement { letter: "ä"; firstSymbol: "\\"}
  156. }
  157. ListModel {
  158. id:third
  159. ListElement { letter: "y"; firstSymbol: "<"}
  160. ListElement { letter: "x"; firstSymbol: ">"}
  161. ListElement { letter: "c"; firstSymbol: "€"}
  162. ListElement { letter: "v"; firstSymbol: "µ"}
  163. ListElement { letter: "b"; firstSymbol: "?"}
  164. ListElement { letter: "n"; firstSymbol: ".de"}
  165. ListElement { letter: "m"; firstSymbol: ";"}
  166. ListElement { letter: ","; firstSymbol: ","}
  167. ListElement { letter: "."; firstSymbol: "."}
  168. }
  169. }
  170. */