quartz.xkb 35 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139
  1. xkb_keymap {
  2. xkb_keycodes "empty_aliases(qwerty)" {
  3. minimum = 8;
  4. maximum = 255;
  5. virtual indicator 1 = "Caps Lock";
  6. virtual indicator 2 = "Num Lock";
  7. virtual indicator 3 = "Shift Lock";
  8. virtual indicator 4 = "Group 2";
  9. virtual indicator 5 = "Mouse Keys";
  10. virtual indicator 6 = "Scroll Lock";
  11. };
  12. xkb_types "complete" {
  13. virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
  14. type "ONE_LEVEL" {
  15. modifiers= none;
  16. level_name[Level1]= "Any";
  17. };
  18. type "TWO_LEVEL" {
  19. modifiers= Shift;
  20. map[Shift]= Level2;
  21. level_name[Level1]= "Base";
  22. level_name[Level2]= "Shift";
  23. };
  24. type "ALPHABETIC" {
  25. modifiers= Shift+Lock;
  26. map[Shift]= Level2;
  27. map[Lock]= Level2;
  28. level_name[Level1]= "Base";
  29. level_name[Level2]= "Caps";
  30. };
  31. type "KEYPAD" {
  32. modifiers= Shift+NumLock;
  33. map[Shift]= Level2;
  34. map[NumLock]= Level2;
  35. level_name[Level1]= "Base";
  36. level_name[Level2]= "Number";
  37. };
  38. type "SHIFT+ALT" {
  39. modifiers= Shift+Alt;
  40. map[Shift+Alt]= Level2;
  41. level_name[Level1]= "Base";
  42. level_name[Level2]= "Shift+Alt";
  43. };
  44. type "PC_CONTROL_LEVEL2" {
  45. modifiers= Control;
  46. map[Control]= Level2;
  47. level_name[Level1]= "Base";
  48. level_name[Level2]= "Control";
  49. };
  50. type "PC_LCONTROL_LEVEL2" {
  51. modifiers= LControl;
  52. map[LControl]= Level2;
  53. level_name[Level1]= "Base";
  54. level_name[Level2]= "LControl";
  55. };
  56. type "PC_RCONTROL_LEVEL2" {
  57. modifiers= RControl;
  58. map[RControl]= Level2;
  59. level_name[Level1]= "Base";
  60. level_name[Level2]= "RControl";
  61. };
  62. type "PC_ALT_LEVEL2" {
  63. modifiers= Alt;
  64. map[Alt]= Level2;
  65. level_name[Level1]= "Base";
  66. level_name[Level2]= "Alt";
  67. };
  68. type "PC_LALT_LEVEL2" {
  69. modifiers= LAlt;
  70. map[LAlt]= Level2;
  71. level_name[Level1]= "Base";
  72. level_name[Level2]= "LAlt";
  73. };
  74. type "PC_RALT_LEVEL2" {
  75. modifiers= RAlt;
  76. map[RAlt]= Level2;
  77. level_name[Level1]= "Base";
  78. level_name[Level2]= "RAlt";
  79. };
  80. type "CTRL+ALT" {
  81. modifiers= Control+Alt;
  82. map[Control+Alt]= Level2;
  83. level_name[Level1]= "Base";
  84. level_name[Level2]= "Ctrl+Alt";
  85. };
  86. type "LOCAL_EIGHT_LEVEL" {
  87. modifiers= Shift+Lock+Control+LevelThree;
  88. map[Shift]= Level2;
  89. map[Lock]= Level2;
  90. map[LevelThree]= Level3;
  91. map[Shift+Lock+LevelThree]= Level3;
  92. map[Shift+LevelThree]= Level4;
  93. map[Lock+LevelThree]= Level4;
  94. map[Control]= Level5;
  95. map[Shift+Lock+Control]= Level5;
  96. map[Shift+Control]= Level6;
  97. map[Lock+Control]= Level6;
  98. map[Control+LevelThree]= Level7;
  99. map[Shift+Lock+Control+LevelThree]= Level7;
  100. map[Shift+Control+LevelThree]= Level8;
  101. map[Lock+Control+LevelThree]= Level8;
  102. level_name[Level1]= "Base";
  103. level_name[Level2]= "Shift";
  104. level_name[Level3]= "Level3";
  105. level_name[Level4]= "Shift Level3";
  106. level_name[Level5]= "Ctrl";
  107. level_name[Level6]= "Shift Ctrl";
  108. level_name[Level7]= "Level3 Ctrl";
  109. level_name[Level8]= "Shift Level3 Ctrl";
  110. };
  111. type "THREE_LEVEL" {
  112. modifiers= Shift+LevelThree;
  113. map[Shift]= Level2;
  114. map[LevelThree]= Level3;
  115. map[Shift+LevelThree]= Level3;
  116. level_name[Level1]= "Base";
  117. level_name[Level2]= "Shift";
  118. level_name[Level3]= "Level3";
  119. };
  120. type "EIGHT_LEVEL" {
  121. modifiers= Shift+LevelThree+LevelFive;
  122. map[Shift]= Level2;
  123. map[LevelThree]= Level3;
  124. map[Shift+LevelThree]= Level4;
  125. map[LevelFive]= Level5;
  126. map[Shift+LevelFive]= Level6;
  127. map[LevelThree+LevelFive]= Level7;
  128. map[Shift+LevelThree+LevelFive]= Level8;
  129. level_name[Level1]= "Base";
  130. level_name[Level2]= "Shift";
  131. level_name[Level3]= "Alt Base";
  132. level_name[Level4]= "Shift Alt";
  133. level_name[Level5]= "X";
  134. level_name[Level6]= "X Shift";
  135. level_name[Level7]= "X Alt Base";
  136. level_name[Level8]= "X Shift Alt";
  137. };
  138. type "EIGHT_LEVEL_ALPHABETIC" {
  139. modifiers= Shift+Lock+LevelThree+LevelFive;
  140. map[Shift]= Level2;
  141. map[Lock]= Level2;
  142. map[LevelThree]= Level3;
  143. map[Shift+LevelThree]= Level4;
  144. map[Lock+LevelThree]= Level4;
  145. map[Shift+Lock+LevelThree]= Level3;
  146. map[LevelFive]= Level5;
  147. map[Shift+LevelFive]= Level6;
  148. map[Lock+LevelFive]= Level6;
  149. map[LevelThree+LevelFive]= Level7;
  150. map[Shift+LevelThree+LevelFive]= Level8;
  151. map[Lock+LevelThree+LevelFive]= Level8;
  152. map[Shift+Lock+LevelThree+LevelFive]= Level7;
  153. level_name[Level1]= "Base";
  154. level_name[Level2]= "Shift";
  155. level_name[Level3]= "Alt Base";
  156. level_name[Level4]= "Shift Alt";
  157. level_name[Level5]= "X";
  158. level_name[Level6]= "X Shift";
  159. level_name[Level7]= "X Alt Base";
  160. level_name[Level8]= "X Shift Alt";
  161. };
  162. type "EIGHT_LEVEL_SEMIALPHABETIC" {
  163. modifiers= Shift+Lock+LevelThree+LevelFive;
  164. map[Shift]= Level2;
  165. map[Lock]= Level2;
  166. map[LevelThree]= Level3;
  167. map[Shift+LevelThree]= Level4;
  168. map[Lock+LevelThree]= Level3;
  169. preserve[Lock+LevelThree]= Lock;
  170. map[Shift+Lock+LevelThree]= Level4;
  171. preserve[Shift+Lock+LevelThree]= Lock;
  172. map[LevelFive]= Level5;
  173. map[Shift+LevelFive]= Level6;
  174. map[Lock+LevelFive]= Level6;
  175. preserve[Lock+LevelFive]= Lock;
  176. map[LevelThree+LevelFive]= Level7;
  177. map[Shift+LevelThree+LevelFive]= Level8;
  178. map[Lock+LevelThree+LevelFive]= Level7;
  179. preserve[Lock+LevelThree+LevelFive]= Lock;
  180. map[Shift+Lock+LevelThree+LevelFive]= Level8;
  181. preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
  182. map[Shift+Lock+LevelFive]= Level1;
  183. preserve[Shift+Lock+LevelFive]= Lock;
  184. level_name[Level1]= "Base";
  185. level_name[Level2]= "Shift";
  186. level_name[Level3]= "Alt Base";
  187. level_name[Level4]= "Shift Alt";
  188. level_name[Level5]= "X";
  189. level_name[Level6]= "X Shift";
  190. level_name[Level7]= "X Alt Base";
  191. level_name[Level8]= "X Shift Alt";
  192. };
  193. type "FOUR_LEVEL" {
  194. modifiers= Shift+LevelThree;
  195. map[Shift]= Level2;
  196. map[LevelThree]= Level3;
  197. map[Shift+LevelThree]= Level4;
  198. level_name[Level1]= "Base";
  199. level_name[Level2]= "Shift";
  200. level_name[Level3]= "Alt Base";
  201. level_name[Level4]= "Shift Alt";
  202. };
  203. type "FOUR_LEVEL_ALPHABETIC" {
  204. modifiers= Shift+Lock+LevelThree;
  205. map[Shift]= Level2;
  206. map[Lock]= Level2;
  207. map[LevelThree]= Level3;
  208. map[Shift+LevelThree]= Level4;
  209. map[Lock+LevelThree]= Level4;
  210. map[Shift+Lock+LevelThree]= Level3;
  211. level_name[Level1]= "Base";
  212. level_name[Level2]= "Shift";
  213. level_name[Level3]= "Alt Base";
  214. level_name[Level4]= "Shift Alt";
  215. };
  216. type "FOUR_LEVEL_SEMIALPHABETIC" {
  217. modifiers= Shift+Lock+LevelThree;
  218. map[Shift]= Level2;
  219. map[Lock]= Level2;
  220. map[LevelThree]= Level3;
  221. map[Shift+LevelThree]= Level4;
  222. map[Lock+LevelThree]= Level3;
  223. preserve[Lock+LevelThree]= Lock;
  224. map[Shift+Lock+LevelThree]= Level4;
  225. preserve[Shift+Lock+LevelThree]= Lock;
  226. level_name[Level1]= "Base";
  227. level_name[Level2]= "Shift";
  228. level_name[Level3]= "Alt Base";
  229. level_name[Level4]= "Shift Alt";
  230. };
  231. type "FOUR_LEVEL_MIXED_KEYPAD" {
  232. modifiers= Shift+NumLock+LevelThree;
  233. map[NumLock]= Level2;
  234. map[Shift]= Level2;
  235. map[LevelThree]= Level3;
  236. map[NumLock+LevelThree]= Level3;
  237. map[Shift+LevelThree]= Level4;
  238. map[Shift+NumLock+LevelThree]= Level4;
  239. level_name[Level1]= "Base";
  240. level_name[Level2]= "Number";
  241. level_name[Level3]= "Alt Base";
  242. level_name[Level4]= "Shift Alt";
  243. };
  244. type "FOUR_LEVEL_X" {
  245. modifiers= Shift+Control+Alt+LevelThree;
  246. map[LevelThree]= Level2;
  247. map[Shift+LevelThree]= Level3;
  248. map[Control+Alt]= Level4;
  249. level_name[Level1]= "Base";
  250. level_name[Level2]= "Alt Base";
  251. level_name[Level3]= "Shift Alt";
  252. level_name[Level4]= "Ctrl+Alt";
  253. };
  254. type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
  255. modifiers= Shift+Lock+LevelThree;
  256. map[Shift]= Level2;
  257. map[Lock]= Level4;
  258. preserve[Lock]= Lock;
  259. map[LevelThree]= Level3;
  260. map[Shift+LevelThree]= Level4;
  261. map[Lock+LevelThree]= Level3;
  262. preserve[Lock+LevelThree]= Lock;
  263. map[Shift+Lock+LevelThree]= Level3;
  264. level_name[Level1]= "Base";
  265. level_name[Level2]= "Shift";
  266. level_name[Level3]= "AltGr Base";
  267. level_name[Level4]= "Shift AltGr";
  268. };
  269. type "FOUR_LEVEL_PLUS_LOCK" {
  270. modifiers= Shift+Lock+LevelThree;
  271. map[Shift]= Level2;
  272. map[LevelThree]= Level3;
  273. map[Shift+LevelThree]= Level4;
  274. map[Lock]= Level5;
  275. map[Shift+Lock]= Level2;
  276. map[Lock+LevelThree]= Level3;
  277. map[Shift+Lock+LevelThree]= Level4;
  278. level_name[Level1]= "Base";
  279. level_name[Level2]= "Shift";
  280. level_name[Level3]= "Alt Base";
  281. level_name[Level4]= "Shift Alt";
  282. level_name[Level5]= "Lock";
  283. };
  284. type "FOUR_LEVEL_KEYPAD" {
  285. modifiers= Shift+NumLock+LevelThree;
  286. map[Shift]= Level2;
  287. map[NumLock]= Level2;
  288. map[LevelThree]= Level3;
  289. map[Shift+LevelThree]= Level4;
  290. map[NumLock+LevelThree]= Level4;
  291. map[Shift+NumLock+LevelThree]= Level3;
  292. level_name[Level1]= "Base";
  293. level_name[Level2]= "Number";
  294. level_name[Level3]= "Alt Base";
  295. level_name[Level4]= "Alt Number";
  296. };
  297. };
  298. xkb_compatibility "complete" {
  299. virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
  300. interpret.useModMapMods= AnyLevel;
  301. interpret.repeat= False;
  302. interpret.locking= False;
  303. interpret ISO_Level2_Latch+Exactly(Shift) {
  304. useModMapMods=level1;
  305. action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
  306. };
  307. interpret Shift_Lock+AnyOf(Shift+Lock) {
  308. action= LockMods(modifiers=Shift);
  309. };
  310. interpret Num_Lock+AnyOf(all) {
  311. virtualModifier= NumLock;
  312. action= LockMods(modifiers=NumLock);
  313. };
  314. interpret ISO_Lock+AnyOf(all) {
  315. action= ISOLock(modifiers=modMapMods,affect=all);
  316. };
  317. interpret ISO_Level3_Shift+AnyOf(all) {
  318. virtualModifier= LevelThree;
  319. useModMapMods=level1;
  320. action= SetMods(modifiers=LevelThree,clearLocks);
  321. };
  322. interpret ISO_Level3_Latch+AnyOf(all) {
  323. virtualModifier= LevelThree;
  324. useModMapMods=level1;
  325. action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
  326. };
  327. interpret ISO_Level3_Lock+AnyOf(all) {
  328. virtualModifier= LevelThree;
  329. useModMapMods=level1;
  330. action= LockMods(modifiers=LevelThree);
  331. };
  332. interpret Alt_L+AnyOf(all) {
  333. virtualModifier= Alt;
  334. action= SetMods(modifiers=modMapMods,clearLocks);
  335. };
  336. interpret Alt_R+AnyOf(all) {
  337. virtualModifier= Alt;
  338. action= SetMods(modifiers=modMapMods,clearLocks);
  339. };
  340. interpret Meta_L+AnyOf(all) {
  341. virtualModifier= Meta;
  342. action= SetMods(modifiers=modMapMods,clearLocks);
  343. };
  344. interpret Meta_R+AnyOf(all) {
  345. virtualModifier= Meta;
  346. action= SetMods(modifiers=modMapMods,clearLocks);
  347. };
  348. interpret Super_L+AnyOf(all) {
  349. virtualModifier= Super;
  350. action= SetMods(modifiers=modMapMods,clearLocks);
  351. };
  352. interpret Super_R+AnyOf(all) {
  353. virtualModifier= Super;
  354. action= SetMods(modifiers=modMapMods,clearLocks);
  355. };
  356. interpret Hyper_L+AnyOf(all) {
  357. virtualModifier= Hyper;
  358. action= SetMods(modifiers=modMapMods,clearLocks);
  359. };
  360. interpret Hyper_R+AnyOf(all) {
  361. virtualModifier= Hyper;
  362. action= SetMods(modifiers=modMapMods,clearLocks);
  363. };
  364. interpret Scroll_Lock+AnyOf(all) {
  365. virtualModifier= ScrollLock;
  366. action= LockMods(modifiers=modMapMods);
  367. };
  368. interpret ISO_Level5_Shift+AnyOf(all) {
  369. virtualModifier= LevelFive;
  370. useModMapMods=level1;
  371. action= SetMods(modifiers=LevelFive,clearLocks);
  372. };
  373. interpret ISO_Level5_Latch+AnyOf(all) {
  374. virtualModifier= LevelFive;
  375. action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
  376. };
  377. interpret ISO_Level5_Lock+AnyOf(all) {
  378. virtualModifier= LevelFive;
  379. action= LockMods(modifiers=LevelFive);
  380. };
  381. interpret Mode_switch+AnyOfOrNone(all) {
  382. virtualModifier= AltGr;
  383. useModMapMods=level1;
  384. action= SetGroup(group=+1);
  385. };
  386. interpret ISO_Level3_Shift+AnyOfOrNone(all) {
  387. action= SetMods(modifiers=LevelThree,clearLocks);
  388. };
  389. interpret ISO_Level3_Latch+AnyOfOrNone(all) {
  390. action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
  391. };
  392. interpret ISO_Level3_Lock+AnyOfOrNone(all) {
  393. action= LockMods(modifiers=LevelThree);
  394. };
  395. interpret ISO_Group_Latch+AnyOfOrNone(all) {
  396. virtualModifier= AltGr;
  397. useModMapMods=level1;
  398. action= LatchGroup(group=2);
  399. };
  400. interpret ISO_Next_Group+AnyOfOrNone(all) {
  401. virtualModifier= AltGr;
  402. useModMapMods=level1;
  403. action= LockGroup(group=+1);
  404. };
  405. interpret ISO_Prev_Group+AnyOfOrNone(all) {
  406. virtualModifier= AltGr;
  407. useModMapMods=level1;
  408. action= LockGroup(group=-1);
  409. };
  410. interpret ISO_First_Group+AnyOfOrNone(all) {
  411. action= LockGroup(group=1);
  412. };
  413. interpret ISO_Last_Group+AnyOfOrNone(all) {
  414. action= LockGroup(group=2);
  415. };
  416. interpret KP_1+AnyOfOrNone(all) {
  417. repeat= True;
  418. action= MovePtr(x=-1,y=+1);
  419. };
  420. interpret KP_End+AnyOfOrNone(all) {
  421. repeat= True;
  422. action= MovePtr(x=-1,y=+1);
  423. };
  424. interpret KP_2+AnyOfOrNone(all) {
  425. repeat= True;
  426. action= MovePtr(x=+0,y=+1);
  427. };
  428. interpret KP_Down+AnyOfOrNone(all) {
  429. repeat= True;
  430. action= MovePtr(x=+0,y=+1);
  431. };
  432. interpret KP_3+AnyOfOrNone(all) {
  433. repeat= True;
  434. action= MovePtr(x=+1,y=+1);
  435. };
  436. interpret KP_Next+AnyOfOrNone(all) {
  437. repeat= True;
  438. action= MovePtr(x=+1,y=+1);
  439. };
  440. interpret KP_4+AnyOfOrNone(all) {
  441. repeat= True;
  442. action= MovePtr(x=-1,y=+0);
  443. };
  444. interpret KP_Left+AnyOfOrNone(all) {
  445. repeat= True;
  446. action= MovePtr(x=-1,y=+0);
  447. };
  448. interpret KP_6+AnyOfOrNone(all) {
  449. repeat= True;
  450. action= MovePtr(x=+1,y=+0);
  451. };
  452. interpret KP_Right+AnyOfOrNone(all) {
  453. repeat= True;
  454. action= MovePtr(x=+1,y=+0);
  455. };
  456. interpret KP_7+AnyOfOrNone(all) {
  457. repeat= True;
  458. action= MovePtr(x=-1,y=-1);
  459. };
  460. interpret KP_Home+AnyOfOrNone(all) {
  461. repeat= True;
  462. action= MovePtr(x=-1,y=-1);
  463. };
  464. interpret KP_8+AnyOfOrNone(all) {
  465. repeat= True;
  466. action= MovePtr(x=+0,y=-1);
  467. };
  468. interpret KP_Up+AnyOfOrNone(all) {
  469. repeat= True;
  470. action= MovePtr(x=+0,y=-1);
  471. };
  472. interpret KP_9+AnyOfOrNone(all) {
  473. repeat= True;
  474. action= MovePtr(x=+1,y=-1);
  475. };
  476. interpret KP_Prior+AnyOfOrNone(all) {
  477. repeat= True;
  478. action= MovePtr(x=+1,y=-1);
  479. };
  480. interpret KP_5+AnyOfOrNone(all) {
  481. repeat= True;
  482. action= PtrBtn(button=default);
  483. };
  484. interpret KP_Begin+AnyOfOrNone(all) {
  485. repeat= True;
  486. action= PtrBtn(button=default);
  487. };
  488. interpret KP_F2+AnyOfOrNone(all) {
  489. repeat= True;
  490. action= SetPtrDflt(affect=button,button=1);
  491. };
  492. interpret KP_Divide+AnyOfOrNone(all) {
  493. repeat= True;
  494. action= SetPtrDflt(affect=button,button=1);
  495. };
  496. interpret KP_F3+AnyOfOrNone(all) {
  497. repeat= True;
  498. action= SetPtrDflt(affect=button,button=2);
  499. };
  500. interpret KP_Multiply+AnyOfOrNone(all) {
  501. repeat= True;
  502. action= SetPtrDflt(affect=button,button=2);
  503. };
  504. interpret KP_F4+AnyOfOrNone(all) {
  505. repeat= True;
  506. action= SetPtrDflt(affect=button,button=3);
  507. };
  508. interpret KP_Subtract+AnyOfOrNone(all) {
  509. repeat= True;
  510. action= SetPtrDflt(affect=button,button=3);
  511. };
  512. interpret KP_Separator+AnyOfOrNone(all) {
  513. repeat= True;
  514. action= PtrBtn(button=default,count=2);
  515. };
  516. interpret KP_Add+AnyOfOrNone(all) {
  517. repeat= True;
  518. action= PtrBtn(button=default,count=2);
  519. };
  520. interpret KP_0+AnyOfOrNone(all) {
  521. repeat= True;
  522. action= LockPtrBtn(button=default,affect=lock);
  523. };
  524. interpret KP_Insert+AnyOfOrNone(all) {
  525. repeat= True;
  526. action= LockPtrBtn(button=default,affect=lock);
  527. };
  528. interpret KP_Decimal+AnyOfOrNone(all) {
  529. repeat= True;
  530. action= LockPtrBtn(button=default,affect=unlock);
  531. };
  532. interpret KP_Delete+AnyOfOrNone(all) {
  533. repeat= True;
  534. action= LockPtrBtn(button=default,affect=unlock);
  535. };
  536. interpret F25+AnyOfOrNone(all) {
  537. repeat= True;
  538. action= SetPtrDflt(affect=button,button=1);
  539. };
  540. interpret F26+AnyOfOrNone(all) {
  541. repeat= True;
  542. action= SetPtrDflt(affect=button,button=2);
  543. };
  544. interpret F27+AnyOfOrNone(all) {
  545. repeat= True;
  546. action= MovePtr(x=-1,y=-1);
  547. };
  548. interpret F29+AnyOfOrNone(all) {
  549. repeat= True;
  550. action= MovePtr(x=+1,y=-1);
  551. };
  552. interpret F31+AnyOfOrNone(all) {
  553. repeat= True;
  554. action= PtrBtn(button=default);
  555. };
  556. interpret F33+AnyOfOrNone(all) {
  557. repeat= True;
  558. action= MovePtr(x=-1,y=+1);
  559. };
  560. interpret F35+AnyOfOrNone(all) {
  561. repeat= True;
  562. action= MovePtr(x=+1,y=+1);
  563. };
  564. interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
  565. action= PtrBtn(button=default);
  566. };
  567. interpret Pointer_Button1+AnyOfOrNone(all) {
  568. action= PtrBtn(button=1);
  569. };
  570. interpret Pointer_Button2+AnyOfOrNone(all) {
  571. action= PtrBtn(button=2);
  572. };
  573. interpret Pointer_Button3+AnyOfOrNone(all) {
  574. action= PtrBtn(button=3);
  575. };
  576. interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
  577. action= PtrBtn(button=default,count=2);
  578. };
  579. interpret Pointer_DblClick1+AnyOfOrNone(all) {
  580. action= PtrBtn(button=1,count=2);
  581. };
  582. interpret Pointer_DblClick2+AnyOfOrNone(all) {
  583. action= PtrBtn(button=2,count=2);
  584. };
  585. interpret Pointer_DblClick3+AnyOfOrNone(all) {
  586. action= PtrBtn(button=3,count=2);
  587. };
  588. interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
  589. action= LockPtrBtn(button=default,affect=both);
  590. };
  591. interpret Pointer_Drag1+AnyOfOrNone(all) {
  592. action= LockPtrBtn(button=1,affect=both);
  593. };
  594. interpret Pointer_Drag2+AnyOfOrNone(all) {
  595. action= LockPtrBtn(button=2,affect=both);
  596. };
  597. interpret Pointer_Drag3+AnyOfOrNone(all) {
  598. action= LockPtrBtn(button=3,affect=both);
  599. };
  600. interpret Pointer_EnableKeys+AnyOfOrNone(all) {
  601. action= LockControls(controls=MouseKeys);
  602. };
  603. interpret Pointer_Accelerate+AnyOfOrNone(all) {
  604. action= LockControls(controls=MouseKeysAccel);
  605. };
  606. interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
  607. action= SetPtrDflt(affect=button,button=+1);
  608. };
  609. interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
  610. action= SetPtrDflt(affect=button,button=-1);
  611. };
  612. interpret AccessX_Enable+AnyOfOrNone(all) {
  613. action= LockControls(controls=AccessXKeys);
  614. };
  615. interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
  616. action= LockControls(controls=AccessXFeedback);
  617. };
  618. interpret RepeatKeys_Enable+AnyOfOrNone(all) {
  619. action= LockControls(controls=RepeatKeys);
  620. };
  621. interpret SlowKeys_Enable+AnyOfOrNone(all) {
  622. action= LockControls(controls=SlowKeys);
  623. };
  624. interpret BounceKeys_Enable+AnyOfOrNone(all) {
  625. action= LockControls(controls=BounceKeys);
  626. };
  627. interpret StickyKeys_Enable+AnyOfOrNone(all) {
  628. action= LockControls(controls=StickyKeys);
  629. };
  630. interpret MouseKeys_Enable+AnyOfOrNone(all) {
  631. action= LockControls(controls=MouseKeys);
  632. };
  633. interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
  634. action= LockControls(controls=MouseKeysAccel);
  635. };
  636. interpret Overlay1_Enable+AnyOfOrNone(all) {
  637. action= LockControls(controls=Overlay1);
  638. };
  639. interpret Overlay2_Enable+AnyOfOrNone(all) {
  640. action= LockControls(controls=Overlay2);
  641. };
  642. interpret AudibleBell_Enable+AnyOfOrNone(all) {
  643. action= LockControls(controls=AudibleBell);
  644. };
  645. interpret Terminate_Server+AnyOfOrNone(all) {
  646. action= Terminate();
  647. };
  648. interpret Alt_L+AnyOfOrNone(all) {
  649. action= SetMods(modifiers=Alt,clearLocks);
  650. };
  651. interpret Alt_R+AnyOfOrNone(all) {
  652. action= SetMods(modifiers=Alt,clearLocks);
  653. };
  654. interpret Meta_L+AnyOfOrNone(all) {
  655. action= SetMods(modifiers=Meta,clearLocks);
  656. };
  657. interpret Meta_R+AnyOfOrNone(all) {
  658. action= SetMods(modifiers=Meta,clearLocks);
  659. };
  660. interpret Super_L+AnyOfOrNone(all) {
  661. action= SetMods(modifiers=Super,clearLocks);
  662. };
  663. interpret Super_R+AnyOfOrNone(all) {
  664. action= SetMods(modifiers=Super,clearLocks);
  665. };
  666. interpret Hyper_L+AnyOfOrNone(all) {
  667. action= SetMods(modifiers=Hyper,clearLocks);
  668. };
  669. interpret Hyper_R+AnyOfOrNone(all) {
  670. action= SetMods(modifiers=Hyper,clearLocks);
  671. };
  672. interpret XF86Switch_VT_1+AnyOfOrNone(all) {
  673. repeat= True;
  674. action= SwitchScreen(screen=1,!same);
  675. };
  676. interpret XF86Switch_VT_2+AnyOfOrNone(all) {
  677. repeat= True;
  678. action= SwitchScreen(screen=2,!same);
  679. };
  680. interpret XF86Switch_VT_3+AnyOfOrNone(all) {
  681. repeat= True;
  682. action= SwitchScreen(screen=3,!same);
  683. };
  684. interpret XF86Switch_VT_4+AnyOfOrNone(all) {
  685. repeat= True;
  686. action= SwitchScreen(screen=4,!same);
  687. };
  688. interpret XF86Switch_VT_5+AnyOfOrNone(all) {
  689. repeat= True;
  690. action= SwitchScreen(screen=5,!same);
  691. };
  692. interpret XF86Switch_VT_6+AnyOfOrNone(all) {
  693. repeat= True;
  694. action= SwitchScreen(screen=6,!same);
  695. };
  696. interpret XF86Switch_VT_7+AnyOfOrNone(all) {
  697. repeat= True;
  698. action= SwitchScreen(screen=7,!same);
  699. };
  700. interpret XF86Switch_VT_8+AnyOfOrNone(all) {
  701. repeat= True;
  702. action= SwitchScreen(screen=8,!same);
  703. };
  704. interpret XF86Switch_VT_9+AnyOfOrNone(all) {
  705. repeat= True;
  706. action= SwitchScreen(screen=9,!same);
  707. };
  708. interpret XF86Switch_VT_10+AnyOfOrNone(all) {
  709. repeat= True;
  710. action= SwitchScreen(screen=10,!same);
  711. };
  712. interpret XF86Switch_VT_11+AnyOfOrNone(all) {
  713. repeat= True;
  714. action= SwitchScreen(screen=11,!same);
  715. };
  716. interpret XF86Switch_VT_12+AnyOfOrNone(all) {
  717. repeat= True;
  718. action= SwitchScreen(screen=12,!same);
  719. };
  720. interpret XF86Ungrab+AnyOfOrNone(all) {
  721. repeat= True;
  722. action= Private(type=0x86,data[0]=0x55,data[1]=0x6e,data[2]=0x67,data[3]=0x72,data[4]=0x61,data[5]=0x62,data[6]=0x00);
  723. };
  724. interpret XF86ClearGrab+AnyOfOrNone(all) {
  725. repeat= True;
  726. action= Private(type=0x86,data[0]=0x43,data[1]=0x6c,data[2]=0x73,data[3]=0x47,data[4]=0x72,data[5]=0x62,data[6]=0x00);
  727. };
  728. interpret XF86Next_VMode+AnyOfOrNone(all) {
  729. repeat= True;
  730. action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
  731. };
  732. interpret XF86Prev_VMode+AnyOfOrNone(all) {
  733. repeat= True;
  734. action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
  735. };
  736. interpret ISO_Level5_Shift+AnyOfOrNone(all) {
  737. action= SetMods(modifiers=LevelFive,clearLocks);
  738. };
  739. interpret ISO_Level5_Latch+AnyOfOrNone(all) {
  740. action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
  741. };
  742. interpret ISO_Level5_Lock+AnyOfOrNone(all) {
  743. action= LockMods(modifiers=LevelFive);
  744. };
  745. interpret Any+Exactly(Lock) {
  746. action= LockMods(modifiers=Lock);
  747. };
  748. interpret Any+AnyOf(all) {
  749. action= SetMods(modifiers=modMapMods,clearLocks);
  750. };
  751. group 2 = AltGr;
  752. group 3 = AltGr;
  753. group 4 = AltGr;
  754. indicator "Caps Lock" {
  755. !allowExplicit;
  756. whichModState= locked;
  757. modifiers= Lock;
  758. };
  759. indicator "Num Lock" {
  760. !allowExplicit;
  761. whichModState= locked;
  762. modifiers= NumLock;
  763. };
  764. indicator "Shift Lock" {
  765. !allowExplicit;
  766. whichModState= locked;
  767. modifiers= Shift;
  768. };
  769. indicator "Group 2" {
  770. !allowExplicit;
  771. groups= 0xfe;
  772. };
  773. indicator "Mouse Keys" {
  774. indicatorDrivesKeyboard;
  775. controls= mouseKeys;
  776. };
  777. indicator "Scroll Lock" {
  778. whichModState= locked;
  779. modifiers= ScrollLock;
  780. };
  781. };
  782. xkb_symbols "unknown" {
  783. key <> {
  784. type= "ALPHABETIC",
  785. symbols[Group1]= [ a, A ],
  786. symbols[Group2]= [ aring, Aring ]
  787. };
  788. modifier_map Mod2 { <> };
  789. };
  790. xkb_geometry "pc(pc104)" {
  791. width= 470;
  792. height= 180;
  793. baseColor= "white";
  794. labelColor= "black";
  795. xfont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
  796. description= "Generic 104";
  797. shape "NORM" {
  798. corner= 1,
  799. { [ 18, 18 ] },
  800. { [ 2, 1 ], [ 16, 16 ] }
  801. };
  802. shape "BKSP" {
  803. corner= 1,
  804. { [ 38, 18 ] },
  805. { [ 2, 1 ], [ 36, 16 ] }
  806. };
  807. shape "TABK" {
  808. corner= 1,
  809. { [ 28, 18 ] },
  810. { [ 2, 1 ], [ 26, 16 ] }
  811. };
  812. shape "BKSL" {
  813. corner= 1,
  814. { [ 28, 18 ] },
  815. { [ 2, 1 ], [ 26, 16 ] }
  816. };
  817. shape "RTRN" {
  818. corner= 1,
  819. { [ 42, 18 ] },
  820. { [ 2, 1 ], [ 40, 16 ] }
  821. };
  822. shape "CAPS" {
  823. corner= 1,
  824. { [ 33, 18 ] },
  825. { [ 2, 1 ], [ 31, 16 ] }
  826. };
  827. shape "LFSH" {
  828. corner= 1,
  829. { [ 42, 18 ] },
  830. { [ 2, 1 ], [ 40, 16 ] }
  831. };
  832. shape "RTSH" {
  833. corner= 1,
  834. { [ 52, 18 ] },
  835. { [ 2, 1 ], [ 50, 16 ] }
  836. };
  837. shape "MODK" {
  838. corner= 1,
  839. { [ 27, 18 ] },
  840. { [ 2, 1 ], [ 25, 16 ] }
  841. };
  842. shape "SMOD" {
  843. corner= 1,
  844. { [ 23, 18 ] },
  845. { [ 2, 1 ], [ 21, 16 ] }
  846. };
  847. shape "SPCE" {
  848. corner= 1,
  849. { [ 113, 18 ] },
  850. { [ 2, 1 ], [ 111, 16 ] }
  851. };
  852. shape "KP0" {
  853. corner= 1,
  854. { [ 37, 18 ] },
  855. { [ 2, 1 ], [ 35, 16 ] }
  856. };
  857. shape "KPAD" {
  858. corner= 1,
  859. { [ 18, 37 ] },
  860. { [ 2, 1 ], [ 16, 35 ] }
  861. };
  862. shape "LEDS" { { [ 75, 20 ] } };
  863. shape "LED" { { [ 5, 1 ] } };
  864. section "Function" {
  865. key.color= "grey20";
  866. priority= 7;
  867. top= 22;
  868. left= 19;
  869. width= 351;
  870. height= 19;
  871. row {
  872. top= 1;
  873. left= 1;
  874. keys {
  875. { <ESC>, "NORM", 1 },
  876. { <FK01>, "NORM", 20, color="white" },
  877. { <FK02>, "NORM", 1, color="white" },
  878. { <FK03>, "NORM", 1, color="white" },
  879. { <FK04>, "NORM", 1, color="white" },
  880. { <FK05>, "NORM", 11, color="white" },
  881. { <FK06>, "NORM", 1, color="white" },
  882. { <FK07>, "NORM", 1, color="white" },
  883. { <FK08>, "NORM", 1, color="white" },
  884. { <FK09>, "NORM", 11, color="white" },
  885. { <FK10>, "NORM", 1, color="white" },
  886. { <FK11>, "NORM", 1, color="white" },
  887. { <FK12>, "NORM", 1, color="white" },
  888. { <PRSC>, "NORM", 8, color="white" },
  889. { <SCLK>, "NORM", 1, color="white" },
  890. { <PAUS>, "NORM", 1, color="white" }
  891. };
  892. };
  893. }; // End of "Function" section
  894. section "Alpha" {
  895. key.color= "white";
  896. priority= 8;
  897. top= 61;
  898. left= 19;
  899. width= 287;
  900. height= 95;
  901. row {
  902. top= 1;
  903. left= 1;
  904. keys {
  905. { <TLDE>, "NORM", 1 }, { <AE01>, "NORM", 1 },
  906. { <AE02>, "NORM", 1 }, { <AE03>, "NORM", 1 },
  907. { <AE04>, "NORM", 1 }, { <AE05>, "NORM", 1 },
  908. { <AE06>, "NORM", 1 }, { <AE07>, "NORM", 1 },
  909. { <AE08>, "NORM", 1 }, { <AE09>, "NORM", 1 },
  910. { <AE10>, "NORM", 1 }, { <AE11>, "NORM", 1 },
  911. { <AE12>, "NORM", 1 },
  912. { <BKSP>, "BKSP", 1, color="grey20" }
  913. };
  914. };
  915. row {
  916. top= 20;
  917. left= 1;
  918. keys {
  919. { <TAB>, "TABK", 1, color="grey20" },
  920. { <AD01>, "NORM", 1 }, { <AD02>, "NORM", 1 },
  921. { <AD03>, "NORM", 1 }, { <AD04>, "NORM", 1 },
  922. { <AD05>, "NORM", 1 }, { <AD06>, "NORM", 1 },
  923. { <AD07>, "NORM", 1 }, { <AD08>, "NORM", 1 },
  924. { <AD09>, "NORM", 1 }, { <AD10>, "NORM", 1 },
  925. { <AD11>, "NORM", 1 }, { <AD12>, "NORM", 1 },
  926. { <BKSL>, "BKSL", 1 }
  927. };
  928. };
  929. row {
  930. top= 39;
  931. left= 1;
  932. keys {
  933. { <CAPS>, "CAPS", 1, color="grey20" },
  934. { <AC01>, "NORM", 1 }, { <AC02>, "NORM", 1 },
  935. { <AC03>, "NORM", 1 }, { <AC04>, "NORM", 1 },
  936. { <AC05>, "NORM", 1 }, { <AC06>, "NORM", 1 },
  937. { <AC07>, "NORM", 1 }, { <AC08>, "NORM", 1 },
  938. { <AC09>, "NORM", 1 }, { <AC10>, "NORM", 1 },
  939. { <AC11>, "NORM", 1 },
  940. { <RTRN>, "RTRN", 1, color="grey20" }
  941. };
  942. };
  943. row {
  944. top= 58;
  945. left= 1;
  946. keys {
  947. { <LFSH>, "LFSH", 1, color="grey20" },
  948. { <AB01>, "NORM", 1 }, { <AB02>, "NORM", 1 },
  949. { <AB03>, "NORM", 1 }, { <AB04>, "NORM", 1 },
  950. { <AB05>, "NORM", 1 }, { <AB06>, "NORM", 1 },
  951. { <AB07>, "NORM", 1 }, { <AB08>, "NORM", 1 },
  952. { <AB09>, "NORM", 1 }, { <AB10>, "NORM", 1 },
  953. { <RTSH>, "RTSH", 1, color="grey20" }
  954. };
  955. };
  956. row {
  957. top= 77;
  958. left= 1;
  959. keys {
  960. { <LCTL>, "MODK", 1, color="grey20" },
  961. { <LWIN>, "SMOD", 1, color="grey20" },
  962. { <LALT>, "SMOD", 1, color="grey20" },
  963. { <SPCE>, "SPCE", 1 },
  964. { <RALT>, "SMOD", 1, color="grey20" },
  965. { <RWIN>, "SMOD", 1, color="grey20" },
  966. { <MENU>, "SMOD", 1, color="grey20" },
  967. { <RCTL>, "SMOD", 1, color="grey20" }
  968. };
  969. };
  970. }; // End of "Alpha" section
  971. section "Editing" {
  972. key.color= "grey20";
  973. priority= 9;
  974. top= 61;
  975. left= 312;
  976. width= 58;
  977. height= 95;
  978. row {
  979. top= 1;
  980. left= 1;
  981. keys {
  982. { <INS>, "NORM", 1 }, { <HOME>, "NORM", 1 },
  983. { <PGUP>, "NORM", 1 }
  984. };
  985. };
  986. row {
  987. top= 20;
  988. left= 1;
  989. keys {
  990. { <DELE>, "NORM", 1 }, { <END>, "NORM", 1 },
  991. { <PGDN>, "NORM", 1 }
  992. };
  993. };
  994. row {
  995. top= 58;
  996. left= 20;
  997. keys {
  998. { <UP>, "NORM", 1 }
  999. };
  1000. };
  1001. row {
  1002. top= 77;
  1003. left= 1;
  1004. keys {
  1005. { <LEFT>, "NORM", 1 }, { <DOWN>, "NORM", 1 },
  1006. { <RGHT>, "NORM", 1 }
  1007. };
  1008. };
  1009. }; // End of "Editing" section
  1010. section "Keypad" {
  1011. key.color= "grey20";
  1012. priority= 10;
  1013. top= 61;
  1014. left= 376;
  1015. width= 77;
  1016. height= 95;
  1017. row {
  1018. top= 1;
  1019. left= 1;
  1020. keys {
  1021. { <NMLK>, "NORM", 1 }, { <KPDV>, "NORM", 1 },
  1022. { <KPMU>, "NORM", 1 }, { <KPSU>, "NORM", 1 }
  1023. };
  1024. };
  1025. row {
  1026. top= 20;
  1027. left= 1;
  1028. keys {
  1029. { <KP7>, "NORM", 1, color="white" },
  1030. { <KP8>, "NORM", 1, color="white" },
  1031. { <KP9>, "NORM", 1, color="white" },
  1032. { <KPAD>, "KPAD", 1 }
  1033. };
  1034. };
  1035. row {
  1036. top= 39;
  1037. left= 1;
  1038. keys {
  1039. { <KP4>, "NORM", 1, color="white" },
  1040. { <KP5>, "NORM", 1, color="white" },
  1041. { <KP6>, "NORM", 1, color="white" }
  1042. };
  1043. };
  1044. row {
  1045. top= 58;
  1046. left= 1;
  1047. keys {
  1048. { <KP1>, "NORM", 1, color="white" },
  1049. { <KP2>, "NORM", 1, color="white" },
  1050. { <KP3>, "NORM", 1, color="white" },
  1051. { <KPEN>, "KPAD", 1 }
  1052. };
  1053. };
  1054. row {
  1055. top= 77;
  1056. left= 1;
  1057. keys {
  1058. { <KP0>, "KP0", 1, color="white" },
  1059. { <KPDL>, "NORM", 1, color="white" }
  1060. };
  1061. };
  1062. }; // End of "Keypad" section
  1063. solid "LedPanel" {
  1064. top= 22;
  1065. left= 377;
  1066. priority= 0;
  1067. color= "grey10";
  1068. shape= "LEDS";
  1069. };
  1070. indicator "Num Lock" {
  1071. top= 37;
  1072. left= 382;
  1073. priority= 1;
  1074. onColor= "green";
  1075. offColor= "green30";
  1076. shape= "LED";
  1077. };
  1078. indicator "Caps Lock" {
  1079. top= 37;
  1080. left= 407;
  1081. priority= 2;
  1082. onColor= "green";
  1083. offColor= "green30";
  1084. shape= "LED";
  1085. };
  1086. indicator "Scroll Lock" {
  1087. top= 37;
  1088. left= 433;
  1089. priority= 3;
  1090. onColor= "green";
  1091. offColor= "green30";
  1092. shape= "LED";
  1093. };
  1094. text "NumLockLabel" {
  1095. top= 25;
  1096. left= 378;
  1097. priority= 4;
  1098. width= 19.8;
  1099. height= 10;
  1100. XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
  1101. text= "Num\nLock";
  1102. };
  1103. text "CapsLockLabel" {
  1104. top= 25;
  1105. left= 403;
  1106. priority= 5;
  1107. width= 26.4;
  1108. height= 10;
  1109. XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
  1110. text= "Caps\nLock";
  1111. };
  1112. text "ScrollLockLabel" {
  1113. top= 25;
  1114. left= 428;
  1115. priority= 6;
  1116. width= 39.6;
  1117. height= 10;
  1118. XFont= "-*-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1";
  1119. text= "Scroll\nLock";
  1120. };
  1121. };
  1122. };