logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

hu (23480B)


  1. // New style XKB layout for some widely used Hungarian keyboard layouts
  2. //
  3. // Based on old style 'xkb/symbols/hu"
  4. //
  5. // (C) 2002-2004 Soós Péter <sp@osb.hu>
  6. // (C) 2010 Andras Timar <timar@fsf.hu>
  7. //
  8. // Permission is granted to anyone to use, distribute and modify
  9. // this file in any way, provided that the above copyright notice
  10. // is left intact and the author of the modification summarizes
  11. // the changes in this header.
  12. //
  13. // This file is distributed without any expressed or implied warranty.
  14. //
  15. // Changes:
  16. // 2004-04-17 - Moved to new style (only Unicode based layouts)
  17. // - Added consistent dead key support
  18. // - Fixed abovedot
  19. // - Added adiaeresis
  20. // - Added EuroSign and cent symbol
  21. // 2010-04-23 - Added doublelowquotemark
  22. // - Added rightdoublequotemark
  23. // - Added endash
  24. // 2010-05-13 - Added ellipsis
  25. // Default layout
  26. default partial
  27. xkb_symbols "basic" {
  28. include "hu(102_qwertz_comma_dead)"
  29. name[Group1] = "Hungarian";
  30. };
  31. // Standard layout
  32. partial
  33. xkb_symbols "standard" {
  34. include "hu(102_qwertz_comma_dead)"
  35. name[Group1] = "Hungarian (standard)";
  36. };
  37. // Standard layout without dead key support
  38. partial
  39. xkb_symbols "nodeadkeys" {
  40. include "hu(102_qwertz_comma_nodead)"
  41. name[Group1] = "Hungarian (no dead keys)";
  42. };
  43. // Qwerty layout
  44. partial
  45. xkb_symbols "qwerty" {
  46. include "hu(101_qwerty_comma_dead)"
  47. name[Group1] = "Hungarian (QWERTY)";
  48. };
  49. // Main layouts
  50. // 101_qwertz_comma_dead
  51. // 101 key qwertz layout
  52. // with decimal comma on keypad
  53. // and with dead key support
  54. partial
  55. xkb_symbols "101_qwertz_comma_dead" {
  56. name[Group1] = "Hungarian (QWERTZ, 101-key, comma, dead keys)";
  57. include "latin"
  58. include "hu(def_101)"
  59. include "hu(def_qwertz)"
  60. include "kpdl(comma)"
  61. include "hu(def_dead)"
  62. include "hu(def_common)"
  63. include "level3(ralt_switch)"
  64. };
  65. // 101_qwertz_comma_nodead
  66. // 101 key qwertz layout
  67. // with decimal comma on keypad
  68. // and without dead key support
  69. partial
  70. xkb_symbols "101_qwertz_comma_nodead" {
  71. name[Group1] = "Hungarian (QWERTZ, 101-key, comma, no dead keys)";
  72. include "latin"
  73. include "hu(def_101)"
  74. include "hu(def_qwertz)"
  75. include "kpdl(comma)"
  76. include "hu(def_nodead)"
  77. include "hu(def_common)"
  78. include "level3(ralt_switch)"
  79. };
  80. // 101_qwertz_dot_dead
  81. // 101 key qwertz layout
  82. // with decimal dot on keypad
  83. // and with dead key support
  84. partial
  85. xkb_symbols "101_qwertz_dot_dead" {
  86. name[Group1] = "Hungarian (QWERTZ, 101-key, dot, dead keys)";
  87. include "latin"
  88. include "hu(def_101)"
  89. include "hu(def_qwertz)"
  90. include "hu(def_dot)"
  91. include "hu(def_dead)"
  92. include "hu(def_common)"
  93. include "level3(ralt_switch)"
  94. };
  95. // 101_qwertz_dot_nodead
  96. // 101 key qwertz layout
  97. // with decimal dot on keypad
  98. // and without dead key support
  99. partial
  100. xkb_symbols "101_qwertz_dot_nodead" {
  101. name[Group1] = "Hungarian (QWERTZ, 101-key, dot, no dead keys)";
  102. include "latin"
  103. include "hu(def_101)"
  104. include "hu(def_qwertz)"
  105. include "hu(def_dot)"
  106. include "hu(def_nodead)"
  107. include "hu(def_common)"
  108. include "level3(ralt_switch)"
  109. };
  110. // 101_qwerty_comma_dead
  111. // 101 key qwerty layout
  112. // with decimal comma on keypad
  113. // and with dead key support
  114. partial
  115. xkb_symbols "101_qwerty_comma_dead" {
  116. name[Group1] = "Hungarian (QWERTY, 101-key, comma, dead keys)";
  117. include "latin"
  118. include "hu(def_101)"
  119. include "hu(def_qwerty)"
  120. include "kpdl(comma)"
  121. include "hu(def_dead)"
  122. include "hu(def_common)"
  123. include "level3(ralt_switch)"
  124. };
  125. // 101_qwerty_comma_nodead
  126. // 101 key qwerty layout
  127. // with decimal comma on keypad
  128. // and without dead key support
  129. partial
  130. xkb_symbols "101_qwerty_comma_nodead" {
  131. name[Group1] = "Hungarian (QWERTY, 101-key, comma, no dead keys)";
  132. include "latin"
  133. include "hu(def_101)"
  134. include "hu(def_qwerty)"
  135. include "kpdl(comma)"
  136. include "hu(def_nodead)"
  137. include "hu(def_common)"
  138. include "level3(ralt_switch)"
  139. };
  140. // 101_qwerty_dot_dead
  141. // 101 key qwerty layout
  142. // with decimal dot on keypad
  143. // and with dead key support
  144. partial
  145. xkb_symbols "101_qwerty_dot_dead" {
  146. name[Group1] = "Hungarian (QWERTY, 101-key, dot, dead keys)";
  147. include "latin"
  148. include "hu(def_101)"
  149. include "hu(def_qwerty)"
  150. include "hu(def_dot)"
  151. include "hu(def_dead)"
  152. include "hu(def_common)"
  153. include "level3(ralt_switch)"
  154. };
  155. // 101_qwerty_dot_nodead
  156. // 101 key qwerty layout
  157. // with decimal dot on keypad
  158. // and without dead key support
  159. partial
  160. xkb_symbols "101_qwerty_dot_nodead" {
  161. name[Group1] = "Hungarian (QWERTY, 101-key, dot, no dead keys)";
  162. include "latin"
  163. include "hu(def_101)"
  164. include "hu(def_qwerty)"
  165. include "hu(def_dot)"
  166. include "hu(def_nodead)"
  167. include "hu(def_common)"
  168. include "level3(ralt_switch)"
  169. };
  170. // 102_qwertz_comma_dead
  171. // 102 key qwertz layout
  172. // with decimal comma on keypad
  173. // and with dead key support
  174. partial
  175. xkb_symbols "102_qwertz_comma_dead" {
  176. name[Group1] = "Hungarian (QWERTZ, 102-key, comma, dead keys)";
  177. include "latin"
  178. include "hu(def_102)"
  179. include "hu(def_qwertz)"
  180. include "kpdl(comma)"
  181. include "hu(def_dead)"
  182. include "hu(def_common)"
  183. include "level3(ralt_switch)"
  184. };
  185. // 102_qwertz_comma_nodead
  186. // 102 key qwertz layout
  187. // with decimal comma on keypad
  188. // and without dead key support
  189. partial
  190. xkb_symbols "102_qwertz_comma_nodead" {
  191. name[Group1] = "Hungarian (QWERTZ, 102-key, comma, no dead keys)";
  192. include "latin"
  193. include "hu(def_102)"
  194. include "hu(def_qwertz)"
  195. include "kpdl(comma)"
  196. include "hu(def_nodead)"
  197. include "hu(def_common)"
  198. include "level3(ralt_switch)"
  199. };
  200. // 102_qwertz_dot_dead
  201. // 102 key qwertz layout
  202. // with decimal dot on keypad
  203. // and with dead key support
  204. partial
  205. xkb_symbols "102_qwertz_dot_dead" {
  206. name[Group1] = "Hungarian (QWERTZ, 102-key, dot, dead keys)";
  207. include "latin"
  208. include "hu(def_102)"
  209. include "hu(def_qwertz)"
  210. include "hu(def_dot)"
  211. include "hu(def_dead)"
  212. include "hu(def_common)"
  213. include "level3(ralt_switch)"
  214. };
  215. // 102_qwertz_dot_nodead
  216. // 102 key qwertz layout
  217. // with decimal dot on keypad
  218. // and without dead key support
  219. partial
  220. xkb_symbols "102_qwertz_dot_nodead" {
  221. name[Group1] = "Hungarian (QWERTZ, 102-key, dot, no dead keys)";
  222. include "latin"
  223. include "hu(def_102)"
  224. include "hu(def_qwertz)"
  225. include "hu(def_dot)"
  226. include "hu(def_nodead)"
  227. include "hu(def_common)"
  228. include "level3(ralt_switch)"
  229. };
  230. // 102_qwerty_comma_dead
  231. // 102 key qwerty layout
  232. // with decimal comma on keypad
  233. // and with dead key support
  234. partial
  235. xkb_symbols "102_qwerty_comma_dead" {
  236. name[Group1] = "Hungarian (QWERTY, 102-key, comma, dead keys)";
  237. include "latin"
  238. include "hu(def_102)"
  239. include "hu(def_qwerty)"
  240. include "kpdl(comma)"
  241. include "hu(def_dead)"
  242. include "hu(def_common)"
  243. include "level3(ralt_switch)"
  244. };
  245. // 102_qwerty_comma_nodead
  246. // 102 key qwerty layout
  247. // with decimal comma on keypad
  248. // and without dead key support
  249. partial
  250. xkb_symbols "102_qwerty_comma_nodead" {
  251. name[Group1] = "Hungarian (QWERTY, 102-key, comma, no dead keys)";
  252. include "latin"
  253. include "hu(def_102)"
  254. include "hu(def_qwerty)"
  255. include "kpdl(comma)"
  256. include "hu(def_nodead)"
  257. include "hu(def_common)"
  258. include "level3(ralt_switch)"
  259. };
  260. // 102_qwerty_dot_dead
  261. // 102 key qwerty layout
  262. // with decimal dot on keypad
  263. // and with dead key support
  264. partial
  265. xkb_symbols "102_qwerty_dot_dead" {
  266. name[Group1] = "Hungarian (QWERTY, 102-key, dot, dead keys)";
  267. include "latin"
  268. include "hu(def_102)"
  269. include "hu(def_qwerty)"
  270. include "hu(def_dot)"
  271. include "hu(def_dead)"
  272. include "hu(def_common)"
  273. include "level3(ralt_switch)"
  274. };
  275. // 102_qwerty_dot_nodead
  276. // 102 key qwerty layout
  277. // with decimal dot on keypad
  278. // and without dead key support
  279. partial
  280. xkb_symbols "102_qwerty_dot_nodead" {
  281. name[Group1] = "Hungarian (QWERTY, 102-key, dot, no dead keys)";
  282. include "latin"
  283. include "hu(def_102)"
  284. include "hu(def_qwerty)"
  285. include "hu(def_dot)"
  286. include "hu(def_nodead)"
  287. include "hu(def_common)"
  288. include "level3(ralt_switch)"
  289. };
  290. // Partial layouts
  291. // def_102:
  292. // The standard Hungarian 102 key layout
  293. hidden partial alphanumeric_keys
  294. xkb_symbols "def_102" {
  295. key <TLDE> { [ 0, section, notsign ] };
  296. key <LSGT> { [ iacute, Iacute, less, greater ] };
  297. };
  298. // def_101:
  299. // An alternative layout for 101 key keyboards
  300. hidden partial alphanumeric_keys
  301. xkb_symbols "def_101" {
  302. key <TLDE> { [ iacute, Iacute, 0, section ] };
  303. key <LSGT> { [ less, greater ] };
  304. };
  305. // def_qwertz:
  306. // The standard Hungaryan qwertz layout
  307. hidden partial alphanumeric_keys
  308. xkb_symbols "def_qwertz" {
  309. key <AD06> { [ z, Z, endash ] };
  310. key <AB01> { [ y, Y, greater ] };
  311. };
  312. // def_qwerty:
  313. // The qwerty layout for people who familiar with the standard US layout
  314. hidden partial alphanumeric_keys
  315. xkb_symbols "def_qwerty" {
  316. key <AD06> { [ y, Y, endash ] };
  317. key <AB01> { [ z, Z, greater ] };
  318. };
  319. // def_dot:
  320. // The Hungarian standard is the comma on the keypad not decimal dot,
  321. // but programmers hate it
  322. hidden partial keypad_keys
  323. xkb_symbols "def_dot" {
  324. key <KPDL> { [ KP_Delete, KP_Decimal ] };
  325. };
  326. // def_dead:
  327. // Dead keys support part
  328. hidden partial alphanumeric_keys
  329. xkb_symbols "def_dead" {
  330. key <AE01> { [ 1, apostrophe, asciitilde, dead_tilde ] };
  331. key <AE02> { [ 2, quotedbl, dead_caron, caron ] };
  332. key <AE03> { [ 3, plus, asciicircum, dead_circumflex ] };
  333. key <AE04> { [ 4, exclam, dead_breve, breve ] };
  334. key <AE05> { [ 5, percent, dead_abovering, degree ] };
  335. key <AE06> { [ 6, slash, dead_ogonek, ogonek ] };
  336. key <AE07> { [ 7, equal, grave, dead_grave ] };
  337. key <AE08> { [ 8, parenleft, dead_abovedot, abovedot ] };
  338. key <AE09> { [ 9, parenright, dead_acute, acute ] };
  339. key <AE10> { [ odiaeresis, Odiaeresis, dead_doubleacute, doubleacute ] };
  340. key <AE11> { [ udiaeresis, Udiaeresis, dead_diaeresis, diaeresis ] };
  341. key <AE12> { [ oacute, Oacute, dead_cedilla, cedilla ] };
  342. };
  343. // def_nodead:
  344. // Without dead keys support
  345. hidden partial alphanumeric_keys
  346. xkb_symbols "def_nodead" {
  347. key <AE01> { [ 1, apostrophe, asciitilde ] };
  348. key <AE02> { [ 2, quotedbl, caron ] };
  349. key <AE03> { [ 3, plus, asciicircum ] };
  350. key <AE04> { [ 4, exclam, breve ] };
  351. key <AE05> { [ 5, percent, degree ] };
  352. key <AE06> { [ 6, slash, ogonek ] };
  353. key <AE07> { [ 7, equal, grave ] };
  354. key <AE08> { [ 8, parenleft, abovedot ] };
  355. key <AE09> { [ 9, parenright, acute ] };
  356. key <AE10> { [ odiaeresis, Odiaeresis, doubleacute ] };
  357. key <AE11> { [ udiaeresis, Udiaeresis, diaeresis ] };
  358. key <AE12> { [ oacute, Oacute, cedilla ] };
  359. };
  360. // def_common:
  361. // The common part of all Hungarian layout above
  362. hidden partial alphanumeric_keys
  363. xkb_symbols "def_common" {
  364. key <AD01> { [ q, Q, backslash ] };
  365. key <AD02> { [ w, W, bar ] };
  366. key <AD03> { [ e, E, Adiaeresis ] };
  367. key <AD07> { [ u, U, EuroSign ] };
  368. key <AD08> { [ i, I, Iacute, iacute ] };
  369. key <AD09> { [ o, O, doublelowquotemark ] };
  370. key <AD10> { [ p, P, rightdoublequotemark ] };
  371. key <AD11> { [ odoubleacute, Odoubleacute, division ] };
  372. key <AD12> { [ uacute, Uacute, multiply ] };
  373. key <AC01> { [ a, A, adiaeresis, Adiaeresis ] };
  374. key <AC02> { [ s, S, dstroke ] };
  375. key <AC03> { [ d, D, Dstroke ] };
  376. key <AC04> { [ f, F, bracketleft ] };
  377. key <AC05> { [ g, G, bracketright ] };
  378. key <AC07> { [ j, J, iacute, Iacute ] };
  379. key <AC08> { [ k, K, lstroke ] };
  380. key <AC09> { [ l, L, Lstroke ] };
  381. key <AC10> { [ eacute, Eacute, dollar, cent ] };
  382. key <AC11> { [ aacute, Aacute, ssharp, U1E9E ] };
  383. key <BKSL> { [ udoubleacute, Udoubleacute, currency ] };
  384. key <AB02> { [ x, X, numbersign ] };
  385. key <AB03> { [ c, C, ampersand ] };
  386. key <AB04> { [ v, V, at ] };
  387. key <AB05> { [ b, B, braceleft ] };
  388. key <AB06> { [ n, N, braceright ] };
  389. key <AB07> { [ m, M, less ] };
  390. key <AB08> { [ comma, question, semicolon ] };
  391. key <AB09> { [ period, colon, greater ] };
  392. key <AB10> { [ minus, underscore, asterisk ] };
  393. };
  394. // EXTRAS:
  395. // New style XKB layout used Old Hungarian keyboard layouts
  396. //
  397. //
  398. //
  399. // (C) 2013 Andras Tisza
  400. // (C) 2017,2018,2020 Viktor Kovacs <kov.h.vik@gmail.com>
  401. //
  402. // Permission is granted to anyone to use, distribute and modify
  403. // this file in any way, provided that the above copyright notice
  404. // is left intact and the author of the modification summarizes
  405. // the changes in this header.
  406. //
  407. // This file is distributed without any expressed or implied warranty.
  408. //
  409. // Changes:
  410. // 2013 - Planned Old Hungarian layout
  411. // 2017 - Added Old Hungarian layout
  412. // 2018 - Resolved several easy-to-use issue, added extra punctuation and quotation marks
  413. // 2020 - Added ligature capable layout ( with Zero-widt-joiner), added copyright, copyleft symbols
  414. // 2020 - Added ZWNJ key to "Old Hungarian (for ligatures)", replaced its ohu_lig id to oldhunlig, replaced its ohu_lig short description to oldhun(lig).
  415. // Added "oldhun_magic_numpad" for both "Old Hungarian" layouts, as a specialised numpad.
  416. // Old Hungartian layout
  417. partial alphanumeric_keys
  418. xkb_symbols "oldhun" {
  419. name[Group1]="Old Hungarian";
  420. include "hu(oldhun_base)"
  421. include "hu(oldhun_origin)"
  422. include "hu(oldhun_magic_numpad)"
  423. include "level3(ralt_switch)"
  424. };
  425. // Old Hungarian layout for ligatures
  426. partial alphanumeric_keys
  427. xkb_symbols "oldhunlig" {
  428. name[Group1]="Old Hungarian (for ligatures)";
  429. include "hu(oldhun_base)"
  430. include "hu(oldhun_lig)"
  431. include "hu(oldhun_magic_numpad)"
  432. include "level3(ralt_switch)"
  433. };
  434. // The base Old Hungarian keys
  435. // In the remarks you can read characters displayed only Unicode point
  436. hidden partial alphanumeric_keys
  437. xkb_symbols "oldhun_base" {
  438. key.type[Group1]="FOUR_LEVEL_ALPHABETIC";
  439. key <AD01> {[ U10CCE, U10C8E, backslash ]};
  440. //Old-Hungarian gy, Gy
  441. key <AD02> {[ U10CF0, U10CB0 ]};
  442. //Old Hungarian zs, Zs
  443. key <AD03> {[ U10CC9, U10C89, U10CCA, U10C8A ]};
  444. //Old Hungarian e, E, close e, close E
  445. key <AD04> {[ U10CE2, U10CA2, U10CE3, U10CA3 ]};
  446. //Old Hungarian r, R, short r, short R
  447. key <AD05> {[ U10CE6, U10CA6, U10CF1, U10CB1 ]};
  448. //Old Hungarian t, T, ent-sharped sign,Ent-sharped sign
  449. key <AD06> {[ U10CEF, U10CAF ]};
  450. //Old Hungarian z, Z
  451. key <AD07> {[ U10CEA, U10CAA, U10CF2, U10CB2 ]};
  452. //Old Hungarian u, U, Old Hungarian us, Us
  453. key <AD08> {[ U10CD0, U10C90, U10CD1, U10C91 ]};
  454. //Old Hungarian i, I, ii, II
  455. key <AD09> {[ U10CDB, U10C9B ]};
  456. //Old Hungarian o, O
  457. key <AD10> {[ U10CE0, U10CA0 ]};
  458. //Old Hungarian p, P
  459. key <AD11> {[ U10CDF, U10C9F ]};
  460. //Old Hungarian oee, Oee
  461. key <AD12> {[ U10CEB, U10CAB, U10CD5, U10C95 ]};
  462. //Old Hungarian uu,Uu,unk,Unk
  463. key <AC01> {[ U10CC0, U10C80, U10CC3, U10C83 ]};
  464. //Old Hungarian a,A,amb,Amb
  465. key <AC02> {[ U10CE4, U10CA4, U10CE1, U10CA1 ]};
  466. //Old Hungarian s,S,emp,Emp
  467. key <AC03> {[ U10CC7, U10C87, U10CE7, U10CA7 ]};
  468. //Old Hungarian d,D, ent/ant/int, Ent/Ant/Int
  469. key <AC04> {[ U10CCC, U10C8C, bracketleft ]};
  470. //Old Hungarian f,F
  471. key <AC05> {[ U10CCD, U10C8D, bracketright ]};
  472. //Old Hungarian g, G
  473. key <AC06> {[ U10CCF, U10C8F, U10CE9, U10CA9 ]};
  474. //Old Hungarian h, H,ech, Ech
  475. key <AC07> {[ U10CD2, U10C92, backslash ]};
  476. //Old Hungarian j, J
  477. key <AC08> {[ U10CD3, U10C93, U10CD4, U10C94 ]};
  478. //Old Hungarian open k, open K, close k, close K
  479. key <AC09> {[ U10CD6, U10C96 ]};
  480. //Old Hungarian l, L
  481. key <AC10> {[ U10CCB, U10C8B ]};
  482. //Old Hungarian ee, EE
  483. key <AC11> {[ U10CC1, U10C81, U10CC8, U10C88 ]};
  484. //Old Hungarian aa, AA, and And
  485. key <BKSL> {[ U10CEC, U10CAC ]};
  486. //Old Hungarian ue, Ue
  487. key <AB01> {[ U10CD7, U10C97, greater ]};
  488. //Old Hungarian ly, Ly
  489. key <AB02> {[ U10CE5, U10CA5, numbersign ]};
  490. //Old Hungarian sz, Sz
  491. key <AB03> {[ U10CC4, U10C84, U10CC5, U10C85 ]};
  492. //Old Hungarian c,C, enc, Enc
  493. key <AB04> {[ U10CEE, U10CAE, at ]};
  494. //Old Hungarian v,V
  495. key <AB05> {[ U10CC2, U10C82, braceleft ]};
  496. //Old Hungarian b, B
  497. key <AB06> {[ U10CD9, U10C99, braceright ]};
  498. //Old Hungarian n, N
  499. key <AB07> {[ U10CD8, U10C98, less ]};
  500. //Old Hungarian m, M
  501. key <AB08> {[ U2E41, U2E2E, U204F ]};
  502. //reversed question mark,reversed semicolon, reversed comma
  503. key <AB09> {[ period, colon, greater ]};
  504. key <AB10> {[ minus, underscore, asterisk ]};
  505. key <LSGT> {[ U10CD1, U10C91, less ]};
  506. //Old Hungarian ii,II
  507. };
  508. //Old Hungarian layout specialised keys
  509. // In the remarks you can read characters displayed only Unicode point
  510. hidden partial alphanumeric_keys
  511. xkb_symbols "oldhun_origin" {
  512. key.type[Group1]="FOUR_LEVEL_ALPHABETIC";
  513. key <TLDE> {[ section, U200F, U200E, 0 ]};
  514. //Right to left mark, left to right mark
  515. key <AE01> {[ U10CFA, apostrophe, U2E42, 1 ]};
  516. //Old Hungarian one, reversed 9 double low quotemark
  517. key <AE02> {[ U10CFB, quotedbl, U201F, 2 ]};
  518. //Old Hungarian five, reversed 9 double upper quotemark
  519. key <AE03> {[ U10CFC, plus, minus, 3 ]};
  520. //Old Hungarian ten
  521. key <AE04> {[ U10CFD, exclam, U203C, 4 ]};
  522. //Old Hungarian fifty,double exclam
  523. key <AE05> {[ U10CFE, percent, U2026, 5 ]};
  524. //Old Hungarian hundred, triple dot
  525. key <AE06> {[ U10CFF, slash, backslash, 6 ]};
  526. //Old Hungarian thousand
  527. key <AE07> {[ U10CC6, U10C86, equal, 7 ]};
  528. //Old Hungarian cs, Cs
  529. key <AE08> {[ U10CDA, U10C9A, parenleft, 8 ]};
  530. //Old Hungarian ny, Ny
  531. key <AE09> {[ U10CE8, U10CA8, parenright, 9 ]};
  532. //Old Hungarian ty, Ty
  533. key <AE10> {[ U10CDE, U10C9E, U10CDD, U10C9D ]};
  534. //Old Hungarian Rudimenta oe, Oe, Nikolsburg oe, Oe
  535. key <AE11> {[ U10CED, U10CAD, section ]};
  536. //Old Hungarian ue , Ue
  537. key <AE12> {[ U10CDC, U10C9C, copyright, U1F12F ]};
  538. //Old Hungarian oo, OO, copyleft
  539. };
  540. //Special section for "Old Hungarian (for ligatures)" layout
  541. // In the remarks you can read characters displayed only Unicode point
  542. hidden partial alphanumeric_keys
  543. xkb_symbols "oldhun_lig" {
  544. key.type[Group1]="FOUR_LEVEL_ALPHABETIC";
  545. key <TLDE> {[ U200D, U200F, U200C, 0 ]};
  546. //Zero-width-joiner,Right to left mark, Zero-width-non-joiner
  547. //Zero-width-joiner and Zero-width-non-joiner are reqired for ligatures
  548. key <AE01> {[ U10CFA, apostrophe, U2E42, 1 ]};
  549. //Old Hungarian one, reversed 9 double low quotemark
  550. key <AE02> {[ U10CFB, quotedbl, U201F, 2 ]};
  551. //Old Hungarian five, reversed 9 double upper quotemark
  552. key <AE03> {[ U10CFC, plus, minus, 3 ]};
  553. //Old Hungarian ten
  554. key <AE04> {[ U10CFD, exclam, U203C, 4 ]};
  555. //Old Hungarian fifty,double exclam
  556. key <AE05> {[ U10CFE, percent, U2026, 5 ]};
  557. //Old Hungarian hundred, triple dot
  558. key <AE06> {[ U10CFF, slash, backslash, 6 ]};
  559. //Old Hungarian thousand
  560. key <AE07> {[ U10CC6, U10C86, equal, 7 ]};
  561. //Old Hungarian cs, Cs
  562. key <AE08> {[ U10CDA, U10C9A, parenleft, 8 ]};
  563. //Old Hungarian ny, Ny
  564. key <AE09> {[ U10CE8, U10CA8, parenright, 9 ]};
  565. //Old Hungarian ty, Ty
  566. key <AE10> {[ U10CDE, U10C9E, U10CDD, U10C9D ]};
  567. //Old Hungarian Rudimenta oe, Oe, Nikolsburg oe, Oe
  568. key <AE11> {[ U10CED, U10CAD, section ]};
  569. //Old Hungarian ue , Ue
  570. key <AE12> {[ U10CDC, U10C9C, copyright, U1F12F ]};
  571. //Old Hungarian oo, OO, copyleft
  572. };
  573. //Numpad for Old Hungarian layouts
  574. // In the remarks you can read characters displayed only Unicode point
  575. hidden partial keypad_keys
  576. xkb_symbols "oldhun_magic_numpad" {
  577. key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD";
  578. key <NMLK> {[ Num_Lock, Num_Lock, Num_Lock, Num_Lock ]};
  579. key <KP0> {[ KP_Insert, KP_0, U200C, U200C ]};
  580. //Zero-width-non-joiner
  581. key <KP7> {[ KP_Home, KP_7, U10CFA, U10CFA ]};
  582. //Old Hungarian number one
  583. key <KP8> {[ KP_Up, KP_8, U10CFB, U10CFB ]};
  584. //Old Hungarian number five
  585. key <KP9> {[ KP_Prior, KP_9, U10CFC, U10CFC ]};
  586. //Old Hungarian number ten
  587. key <KP4> {[ KP_Left, KP_4, U10CFD, U10CFD ]};
  588. //Old Hungarian number fifty
  589. key <KP5> {[ KP_Begin, KP_5, U10CFE, U10CFE ]};
  590. //Old Hungarian number hundred
  591. key <KP6> {[ KP_Right, KP_6, U10CFF, U10CFF ]};
  592. //Old Hungarian number thousand
  593. key <KP1> {[ KP_End, KP_1, U200F, U200F ]};
  594. //Right-to-left mark
  595. key <KP2> {[ KP_Down, KP_2, U200D, U200D ]};
  596. //Zero-width-joiner
  597. key <KP3> {[ KP_Next, KP_3, U200E, U200E ]};
  598. //Left-to-right mark
  599. key <KPEN> {[ KP_Enter, KP_Enter, KP_Enter, KP_Enter ]};
  600. key <KPEQ> {[ KP_Equal, KP_Equal, KP_Equal, KP_Equal ]};
  601. key <KPDL> {[ KP_Delete, KP_Separator, KP_Delete, KP_Separator ]};
  602. key <KPPT> {[ KP_Separator, KP_Separator, KP_Separator, KP_Separator ]};
  603. key <KPDV> {[ KP_Divide, KP_Divide, KP_Divide, KP_Divide ]};
  604. key <KPMU> {[ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply ]};
  605. key <KPSU> {[ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract ]};
  606. key <KPAD> {[ KP_Add, KP_Add, KP_Add, KP_Add ]};
  607. };