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

group (11986B)


  1. // The right Alt key (while pressed) chooses the next group.
  2. partial modifier_keys
  3. xkb_symbols "switch" {
  4. key <RALT> {
  5. symbols[Group1] = [ Mode_switch, Multi_key ],
  6. virtualMods= AltGr
  7. };
  8. };
  9. // The left Alt key (while pressed) chooses the next group.
  10. partial modifier_keys
  11. xkb_symbols "lswitch" {
  12. key <LALT> {
  13. symbols[Group1] = [ Mode_switch, Multi_key ],
  14. virtualMods= AltGr
  15. };
  16. };
  17. // Either Win key (while pressed) chooses the next group.
  18. partial modifier_keys
  19. xkb_symbols "win_switch" {
  20. include "group(lwin_switch)"
  21. include "group(rwin_switch)"
  22. };
  23. // The left Win key (while pressed) chooses the next group.
  24. partial modifier_keys
  25. xkb_symbols "lwin_switch" {
  26. key <LWIN> {
  27. symbols[Group1] = [ Mode_switch, Multi_key ],
  28. virtualMods= AltGr
  29. };
  30. };
  31. // The right Win key (while pressed) chooses the next group.
  32. partial modifier_keys
  33. xkb_symbols "rwin_switch" {
  34. key <RWIN> {
  35. symbols[Group1] = [ Mode_switch, Multi_key ],
  36. virtualMods= AltGr
  37. };
  38. };
  39. // The Menu key (while pressed) chooses the next group,
  40. // while Shift+Menu acts as Menu.
  41. partial modifier_keys
  42. xkb_symbols "menu_switch" {
  43. key <MENU> {
  44. symbols[Group1] = [ Mode_switch, Menu ],
  45. virtualMods= AltGr
  46. };
  47. };
  48. // The right Ctrl key (while pressed) chooses the next group.
  49. partial modifier_keys
  50. xkb_symbols "rctrl_switch" {
  51. key <RCTL> {
  52. symbols[Group1] = [ Mode_switch ]
  53. };
  54. };
  55. // Pressing the right Alt key switches to the next group.
  56. partial modifier_keys
  57. xkb_symbols "toggle" {
  58. virtual_modifiers AltGr;
  59. key <RALT> {
  60. symbols[Group1] = [ ISO_Next_Group ],
  61. virtualMods= AltGr
  62. };
  63. };
  64. // Pressing the left Alt key switches to the next group.
  65. partial modifier_keys
  66. xkb_symbols "lalt_toggle" {
  67. virtual_modifiers AltGr;
  68. key <LALT> {
  69. symbols[Group1] = [ ISO_Next_Group ],
  70. virtualMods= AltGr
  71. };
  72. };
  73. // Pressing both Shift keys switches to the next or previous group
  74. // (depending on which Shift is pressed first).
  75. partial modifier_keys
  76. xkb_symbols "shifts_toggle" {
  77. key <LFSH> { [ Shift_L, ISO_Prev_Group ] };
  78. key <RTSH> { [ Shift_R, ISO_Next_Group ] };
  79. };
  80. // Pressing Shift+Caps_Lock switches to the next group.
  81. partial modifier_keys
  82. xkb_symbols "shift_caps_toggle" {
  83. key <CAPS> { [ Caps_Lock, ISO_Next_Group ] };
  84. };
  85. // Pressing Caps_Lock selects the first group,
  86. // pressing Shift+Caps_Lock selects the second group.
  87. partial modifier_keys
  88. xkb_symbols "shift_caps_switch" {
  89. key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
  90. };
  91. // Pressing Alt+Space switches to the next group.
  92. partial modifier_keys
  93. xkb_symbols "alt_space_toggle" {
  94. key <SPCE> {
  95. type[Group1]="PC_ALT_LEVEL2",
  96. symbols[Group1] = [ space, ISO_Next_Group ]
  97. };
  98. };
  99. // Pressing Win+Space switches to the next group.
  100. partial modifier_keys
  101. xkb_symbols "win_space_toggle" {
  102. key <SPCE> {
  103. type[Group1] = "PC_SUPER_LEVEL2",
  104. symbols[Group1] = [ space, ISO_Next_Group ]
  105. };
  106. };
  107. // Pressing Ctrl+Space switches to the next group.
  108. partial modifier_keys
  109. xkb_symbols "ctrl_space_toggle" {
  110. key <SPCE> {
  111. type[Group1] = "PC_CONTROL_LEVEL2",
  112. symbols[Group1] = [ space, ISO_Next_Group ]
  113. };
  114. };
  115. // Pressing the left Win key selects the first group,
  116. // pressing the right Win key or the Menu key selects the second group.
  117. partial modifier_keys
  118. xkb_symbols "win_menu_switch" {
  119. virtual_modifiers AltGr;
  120. key <LWIN> {
  121. virtualMods= AltGr,
  122. symbols[Group1] = [ ISO_First_Group ]
  123. };
  124. key <RWIN> {
  125. virtualMods= AltGr,
  126. symbols[Group1] = [ ISO_Last_Group ]
  127. };
  128. key <MENU> {
  129. virtualMods= AltGr,
  130. symbols[Group1] = [ ISO_Last_Group ]
  131. };
  132. };
  133. // Pressing the left Ctrl key selects the first group,
  134. // pressing the right Ctrl key selects the second group.
  135. partial modifier_keys
  136. xkb_symbols "lctrl_rctrl_switch" {
  137. virtual_modifiers AltGr;
  138. key <LCTL> {
  139. virtualMods= AltGr,
  140. symbols[Group1] = [ ISO_First_Group ]
  141. };
  142. key <RCTL> {
  143. virtualMods= AltGr,
  144. symbols[Group1] = [ ISO_Last_Group ]
  145. };
  146. };
  147. //
  148. // CTRL-SHIFT toggle section
  149. //
  150. partial modifier_keys
  151. xkb_symbols "lctrl_lshift_toggle" {
  152. key <LFSH> {
  153. type[Group1]="PC_CONTROL_LEVEL2",
  154. symbols[Group1] = [ Shift_L, ISO_Next_Group ]
  155. };
  156. key <LCTL> { [ Control_L, ISO_Next_Group ] };
  157. };
  158. partial modifier_keys
  159. xkb_symbols "lctrl_lshift_toggle_rev" {
  160. key <LFSH> {
  161. type[Group1]="PC_CONTROL_LEVEL2",
  162. symbols[Group1] = [ Shift_L, ISO_Prev_Group ]
  163. };
  164. key <LCTL> { [ Control_L, ISO_Prev_Group ] };
  165. };
  166. partial modifier_keys
  167. xkb_symbols "rctrl_rshift_toggle" {
  168. key <RTSH> {
  169. type[Group1]="PC_CONTROL_LEVEL2",
  170. symbols[Group1] = [ Shift_R, ISO_Next_Group ]
  171. };
  172. key <RCTL> { [ Control_R, ISO_Next_Group ] };
  173. };
  174. partial modifier_keys
  175. xkb_symbols "ctrl_shift_toggle" {
  176. include "group(lctrl_lshift_toggle)"
  177. include "group(rctrl_rshift_toggle)"
  178. };
  179. partial modifier_keys
  180. xkb_symbols "ctrl_shift_toggle_bidir" {
  181. include "group(lctrl_lshift_toggle_rev)"
  182. include "group(rctrl_rshift_toggle)"
  183. };
  184. //
  185. // CTRL-ALT toggle section
  186. //
  187. partial modifier_keys
  188. xkb_symbols "lctrl_lalt_toggle" {
  189. virtual_modifiers Alt;
  190. key <LALT> {
  191. type[Group1]="PC_CONTROL_LEVEL2",
  192. symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
  193. virtualMods= Alt
  194. };
  195. key <LCTL> {
  196. type[Group1]="PC_ALT_LEVEL2",
  197. symbols[Group1] = [ Control_L, ISO_Next_Group ]
  198. };
  199. };
  200. partial modifier_keys
  201. xkb_symbols "lctrl_lalt_toggle_rev" {
  202. virtual_modifiers Alt;
  203. key <LALT> {
  204. type[Group1]="PC_CONTROL_LEVEL2",
  205. symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
  206. virtualMods= Alt
  207. };
  208. key <LCTL> {
  209. type[Group1]="PC_ALT_LEVEL2",
  210. symbols[Group1] = [ Control_L, ISO_Prev_Group ]
  211. };
  212. };
  213. partial modifier_keys
  214. xkb_symbols "rctrl_ralt_toggle" {
  215. virtual_modifiers Alt;
  216. key <RALT> {
  217. type[Group1]="PC_CONTROL_LEVEL2",
  218. symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
  219. virtualMods= Alt
  220. };
  221. key <RCTL> {
  222. type[Group1]="PC_ALT_LEVEL2",
  223. symbols[Group1] = [ Control_R, ISO_Next_Group ]
  224. };
  225. };
  226. partial modifier_keys
  227. xkb_symbols "ctrl_alt_toggle" {
  228. include "group(lctrl_lalt_toggle)"
  229. include "group(rctrl_ralt_toggle)"
  230. };
  231. partial modifier_keys
  232. xkb_symbols "ctrl_alt_toggle_bidir" {
  233. include "group(lctrl_lalt_toggle_rev)"
  234. include "group(rctrl_ralt_toggle)"
  235. };
  236. //
  237. // ALT-SHIFT toggle section
  238. //
  239. partial modifier_keys
  240. xkb_symbols "lalt_lshift_toggle" {
  241. virtual_modifiers Alt;
  242. key <LALT> {
  243. symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
  244. virtualMods= Alt
  245. };
  246. key <LFSH> {
  247. type[Group1]="PC_ALT_LEVEL2",
  248. symbols[Group1] = [ Shift_L, ISO_Next_Group ]
  249. };
  250. };
  251. partial modifier_keys
  252. xkb_symbols "lalt_lshift_toggle_rev" {
  253. virtual_modifiers Alt;
  254. key <LALT> {
  255. symbols[Group1] = [ NoSymbol, ISO_Prev_Group ],
  256. virtualMods= Alt
  257. };
  258. key <LFSH> {
  259. type[Group1]="PC_ALT_LEVEL2",
  260. symbols[Group1] = [ Shift_L, ISO_Prev_Group ]
  261. };
  262. };
  263. partial modifier_keys
  264. xkb_symbols "ralt_rshift_toggle" {
  265. virtual_modifiers Alt;
  266. key <RALT> {
  267. symbols[Group1] = [ NoSymbol, ISO_Next_Group ],
  268. virtualMods= Alt
  269. };
  270. key <RTSH> {
  271. type[Group1]="PC_ALT_LEVEL2",
  272. symbols[Group1] = [ Shift_R, ISO_Next_Group ]
  273. };
  274. };
  275. partial modifier_keys
  276. xkb_symbols "alt_shift_toggle" {
  277. include "group(lalt_lshift_toggle)"
  278. include "group(ralt_rshift_toggle)"
  279. };
  280. partial modifier_keys
  281. xkb_symbols "alt_shift_toggle_bidir" {
  282. include "group(lalt_lshift_toggle_rev)"
  283. include "group(ralt_rshift_toggle)"
  284. };
  285. // Pressing the Menu key switches to the next group,
  286. // while Shift+Menu acts as Menu.
  287. partial modifier_keys
  288. xkb_symbols "menu_toggle" {
  289. key <MENU> { [ ISO_Next_Group, Menu ] };
  290. };
  291. // Pressing the left Win key switches to the next group.
  292. partial modifier_keys
  293. xkb_symbols "lwin_toggle" {
  294. virtual_modifiers AltGr;
  295. key <LWIN> {
  296. virtualMods= AltGr,
  297. symbols[Group1] = [ ISO_Next_Group ]
  298. };
  299. };
  300. // Pressing the right Win key switches to the next group.
  301. partial modifier_keys
  302. xkb_symbols "rwin_toggle" {
  303. virtual_modifiers AltGr;
  304. key <RWIN> {
  305. virtualMods= AltGr,
  306. symbols[Group1] = [ ISO_Next_Group ]
  307. };
  308. };
  309. // Pressing both Ctrl keys switches to the next or previous group
  310. // (depending on which Ctrl is pressed first).
  311. partial modifier_keys
  312. xkb_symbols "ctrls_toggle" {
  313. key <LCTL> {
  314. type[Group1]="PC_CONTROL_LEVEL2",
  315. symbols[Group1] = [ NoSymbol, ISO_Prev_Group ]
  316. };
  317. key <RCTL> {
  318. type[Group1]="PC_CONTROL_LEVEL2",
  319. symbols[Group1] = [ NoSymbol, ISO_Next_Group ]
  320. };
  321. };
  322. // Pressing both Alt switches to the next or previous group
  323. // (depending on which Alt is pressed first).
  324. partial modifier_keys
  325. xkb_symbols "alts_toggle" {
  326. key <LALT> {
  327. type[Group1]="PC_ALT_LEVEL2",
  328. symbols[Group1] = [ Alt_L, ISO_Prev_Group ]
  329. };
  330. key <RALT> {
  331. type[Group1]="PC_ALT_LEVEL2",
  332. symbols[Group1] = [ Alt_R, ISO_Next_Group ]
  333. };
  334. };
  335. // Pressing Alt plus AltGr switches to the next or previous group
  336. // (depending on which one is pressed first).
  337. partial modifier_keys
  338. xkb_symbols "alt_altgr_toggle" {
  339. key <LALT> {
  340. type[Group1]="FOUR_LEVEL",
  341. symbols[Group1] = [ Alt_L, Alt_L, ISO_Prev_Group, ISO_Prev_Group ]
  342. };
  343. key <RALT> {
  344. type[Group1]="PC_ALT_LEVEL2",
  345. symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ]
  346. };
  347. };
  348. // Pressing the left Shift key switches to the next group.
  349. partial modifier_keys
  350. xkb_symbols "lshift_toggle" {
  351. virtual_modifiers AltGr;
  352. key <LFSH> {
  353. symbols[Group1] = [ ISO_Next_Group ],
  354. virtualMods= AltGr
  355. };
  356. };
  357. // Pressing the right Shift key switches to the next group.
  358. partial modifier_keys
  359. xkb_symbols "rshift_toggle" {
  360. virtual_modifiers AltGr;
  361. key <RTSH> {
  362. symbols[Group1] = [ ISO_Next_Group ],
  363. virtualMods= AltGr
  364. };
  365. };
  366. // Pressing the left Ctrl key switches to the next group.
  367. partial modifier_keys
  368. xkb_symbols "lctrl_toggle" {
  369. virtual_modifiers AltGr;
  370. key <LCTL> {
  371. symbols[Group1] = [ ISO_Next_Group ],
  372. virtualMods= AltGr
  373. };
  374. };
  375. // Pressing the right Ctrl key switches to the next group.
  376. partial modifier_keys
  377. xkb_symbols "rctrl_toggle" {
  378. virtual_modifiers AltGr;
  379. key <RCTL> {
  380. symbols[Group1] = [ ISO_Next_Group ],
  381. virtualMods= AltGr
  382. };
  383. };
  384. // Pressing Alt+Caps_Lock switches to the next group,
  385. // while pressing Caps_Lock alone toggles CapsLock.
  386. partial modifier_keys
  387. xkb_symbols "alt_caps_toggle" {
  388. key <CAPS> {
  389. type="PC_ALT_LEVEL2",
  390. symbols[Group1] = [ Caps_Lock, ISO_Next_Group ]
  391. };
  392. };
  393. hidden partial modifier_keys
  394. xkb_symbols "olpc" {
  395. key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
  396. };
  397. // Pressing the Scroll Lock key switches to the next group.
  398. partial modifier_keys
  399. xkb_symbols "sclk_toggle" {
  400. virtual_modifiers AltGr;
  401. key <SCLK> {
  402. virtualMods= AltGr,
  403. symbols[Group1] = [ ISO_Next_Group ]
  404. };
  405. };
  406. // Pressing Ctrl + the left Win key selects the first group,
  407. // pressing Ctrl + the Menu key selects the second group.
  408. partial modifier_keys
  409. xkb_symbols "lctrl_lwin_rctrl_menu" {
  410. key <LWIN> {
  411. type[Group1] = "PC_CONTROL_LEVEL2",
  412. symbols[Group1] = [ Super_L, ISO_First_Group ]
  413. };
  414. key <MENU> {
  415. type[Group1] = "PC_CONTROL_LEVEL2",
  416. symbols[Group1] = [ Menu, ISO_Last_Group ]
  417. };
  418. };
  419. // Pressing Ctrl + the left Win key switches to the next group.
  420. partial modifier_keys
  421. xkb_symbols "lctrl_lwin_toggle" {
  422. key <LWIN> {
  423. type[ Group1 ] = "PC_CONTROL_LEVEL2",
  424. symbols[ Group1 ] = [ Super_L, ISO_Next_Group ]
  425. };
  426. };