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

thinkpad (12135B)


  1. // -*- indent-tabs-mode: nil -*-
  2. // Created by Alexander Pohoyda <alexander.pohoyda@gmx.net>
  3. // Geometry specification for IBM ThinkPad keyboard.
  4. // Compatible Models: THINKPAD 560Z 2640-90U, THINKPAD 560Z 2640-91U,
  5. // THINKPAD 560Z 2640-B0U, THINKPAD 560Z 2640-B1U, THINKPAD 560Z 2640-RR3,
  6. // THINKPAD 600 2645-31U, THINKPAD 600 2645-35U, THINKPAD 600 2645-41U,
  7. // THINKPAD 600 2645-42U, THINKPAD 600 2645-45U, THINKPAD 600 2645-48U,
  8. // THINKPAD 600 2645-51U, THINKPAD 600 2645-85U, THINKPAD 600 2645-A1U,
  9. // THINKPAD 600 2645-RR1, THINKPAD 600 2645-RR2, THINKPAD 600E 2645-3AU,
  10. // THINKPAD 600E 2645-4AU, THINKPAD 600E 2645-4BU, THINKPAD 600E 2645-55U,
  11. // THINKPAD 600E 2645-5AU, THINKPAD 600E 2645-5BU, THINKPAD 600E 2645-5JU,
  12. // THINKPAD 600E 2645-8AO, THINKPAD 600E 2645-8AU, THINKPAD 600E 2645-8BU,
  13. // THINKPAD 600E 2645-AAU, THINKPAD 600E 2645-RRB, THINKPAD 600E 2645-RRD,
  14. // THINKPAD 600E 2645-RRF, THINKPAD 600E 2645-RRS, THINKPAD A22E 2645-45U
  15. xkb_geometry "common" {
  16. width = 290;
  17. height = 150;
  18. baseColor = "grey80";
  19. labelColor = "white";
  20. shape "FN0" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 10] } };
  21. shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2.5, 0], [15.5, 14] } };
  22. shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2.5, 0], [34.5, 14] } };
  23. shape "TABK" { cornerRadius = 1, { [27, 18] }, { [2.5, 0], [24.5, 14] } };
  24. shape "CAPS" { cornerRadius = 1, { [31, 18] }, { [1, 0], [30, 16] },
  25. { [1, 0], [26, 16] },
  26. { [2.5, 0], [24.5, 14] } };
  27. shape "RTSH" { cornerRadius = 1, { [50, 18] }, { [2.5, 0], [46.5, 14] } };
  28. shape "MODK" { cornerRadius = 1, { [27.5, 18] }, { [2.5, 0], [25, 14] } };
  29. shape "SPCE" { cornerRadius = 1, { [100, 18] }, { [2.5, 0], [97.5, 14] } };
  30. shape "ARRS" { cornerRadius = 1, { [16, 13] }, { [1.5, 0], [14.5, 11] } };
  31. shape "LED" { cornerRadius = 2, { [3, 3] } };
  32. shape "KEYS" { cornerRadius = 2,
  33. { [0, 0], [19, 0], [19, 13], [172, 13],
  34. [172, 0], [286, 0], [286, 138], [216, 138],
  35. [216, 124], [0, 124] } };
  36. solid "KeyPanel" {
  37. shape = "KEYS";
  38. left = 2;
  39. top = 5;
  40. color = "black";
  41. };
  42. shape "NULL1" { cornerRadius = 1,
  43. { [0, 0], [50, 0], [50, 18], [34, 18], [34, 4],
  44. [16, 4], [16, 18], [0, 18] } };
  45. solid "NullPanel1" {
  46. shape = "NULL1";
  47. left = 237;
  48. top = 110;
  49. color = "grey80";
  50. };
  51. shape "NULL2" { cornerRadius = 1, { [17, 13] } };
  52. solid "NullPanel2" {
  53. shape = "NULL2";
  54. left = 219;
  55. top = 129;
  56. color = "grey80";
  57. };
  58. shape "NULL3" { cornerRadius = 1,
  59. { [0, 26],
  60. [72, 26], [72, 13], [76, 13], [76, 26],
  61. [149, 26], [149, 13], [153, 13], [153, 26],
  62. [226, 26], [226, 0], [230, 0], [230, 26],
  63. [284, 26], [285, 27],
  64. [0, 27] } };
  65. solid "NullPanel3" {
  66. shape = "NULL3";
  67. left = 3;
  68. top = 6;
  69. color = "grey80";
  70. };
  71. indicator.onColor = "green";
  72. indicator.offColor = "grey10";
  73. indicator.top = 4;
  74. indicator.shape = "LED";
  75. indicator "HDDActivity" { onColor = "red"; left = 100; };
  76. indicator "Num Lock" { left = 108; };
  77. indicator "Caps Lock" { left = 114; };
  78. indicator "Scroll Lock" { left = 120; };
  79. indicator "Power" { left = 128; };
  80. key.gap = 1;
  81. key.color = "grey60";
  82. section "Function" {
  83. left = 2;
  84. top = 5;
  85. key.shape = "FN0";
  86. row {
  87. top = 1;
  88. keys { <ESC>, { <PRSC>, 155 }, <SCLK>, <PAUS> };
  89. };
  90. row {
  91. top = 14;
  92. keys { <FK01>, <FK02>, <FK03>, <FK04>,
  93. { <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
  94. { <FK09>, 6 }, <FK10>, <FK11>, <FK12>
  95. };
  96. };
  97. }; // End of "Function" section
  98. section "Control" {
  99. left= 2;
  100. top = 109;
  101. key.shape = "MODK";
  102. row {
  103. top = 1;
  104. keys { { <FN>, "NORM" }, <LCTL>, <LALT>,
  105. { <SPCE>, "SPCE" }, <RALT>, <RCTL>
  106. };
  107. };
  108. }; // End of "Control" section
  109. section "Editing" {
  110. top = 5;
  111. left = 233;
  112. key.shape = "FN0";
  113. row {
  114. top = 1;
  115. keys { <INS>, <HOME>, <PGUP> };
  116. };
  117. row {
  118. top = 14;
  119. keys { <DELE>, <END>, <PGDN> };
  120. };
  121. }; // End of "Editing" section
  122. section "Navigation" {
  123. top = 114;
  124. left = 236;
  125. key.shape = "ARRS";
  126. row {
  127. top = 1;
  128. left = 17;
  129. keys { <UP> };
  130. };
  131. row {
  132. top = 15;
  133. keys { <LEFT>, <DOWN>, <RGHT> };
  134. };
  135. }; // End of "Navigation" section
  136. shape "STIK" { cornerRadius = 4, { [7, 7] } };
  137. solid "STIK" {
  138. priority = 255;
  139. color = "red";
  140. shape = "STIK";
  141. top = 85;
  142. left = 126;
  143. };
  144. };
  145. // 85 keys
  146. // US/English (FRU 02K4785).
  147. xkb_geometry "us" {
  148. include "thinkpad(common)"
  149. description = "IBM ThinkPad 560Z/600/600E/A22E, US";
  150. shape "RTRN" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
  151. shape "LFSH" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } };
  152. shape "BKSL" { cornerRadius = 1, { [28, 18] }, { [2.5, 0], [25.5, 14] } };
  153. section "Alpha" {
  154. left = 2;
  155. top = 33;
  156. key.gap = 1;
  157. key.color = "grey60";
  158. key.shape = "NORM";
  159. row {
  160. top = 1;
  161. keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
  162. <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
  163. <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
  164. };
  165. };
  166. row {
  167. top = 20;
  168. keys { { <TAB>, "TABK" },
  169. <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
  170. <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
  171. <AD11>, <AD12>, { <BKSL>, "BKSL" }
  172. };
  173. };
  174. row {
  175. top = 39;
  176. keys { { <CAPS>, "CAPS" },
  177. <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
  178. <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
  179. <AC11>, { <RTRN>, "RTRN" }
  180. };
  181. };
  182. row {
  183. top = 58;
  184. keys { { <LFSH>, "LFSH" },
  185. <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
  186. <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
  187. { <RTSH>, "RTSH" }
  188. };
  189. };
  190. }; // End of "Alpha" section
  191. };
  192. // 86 keys
  193. // Tested on: DE/German, UK/English (FRU 02K4787).
  194. xkb_geometry "intl" {
  195. include "thinkpad(common)"
  196. description = "IBM ThinkPad 560Z/600/600E/A22E, Intl";
  197. shape "RTRN" { cornerRadius = 1, { [28, 0], [28, 37], [4, 37], [4, 18],
  198. [0, 18], [0, 0] },
  199. { [25.5, 0], [25.5, 33], [6.5, 33],
  200. [6.5, 14], [2.5, 14], [2.5, 0] } };
  201. shape "LFSH" { cornerRadius = 1, { [24, 18] }, { [2.5, 0], [21.5, 14] } };
  202. section "Alpha" {
  203. left = 2;
  204. top = 33;
  205. key.gap = 1;
  206. key.color = "grey60";
  207. key.shape = "NORM";
  208. row {
  209. top = 1;
  210. keys { <AE00>, <AE01>, <AE02>, <AE03>, <AE04>,
  211. <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
  212. <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
  213. };
  214. };
  215. row {
  216. top = 20;
  217. keys { { <TAB>, "TABK" },
  218. <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
  219. <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
  220. <AD11>, <AD12>, { <RTRN>, "RTRN" }
  221. };
  222. };
  223. row {
  224. top = 39;
  225. keys { { <CAPS>, "CAPS" },
  226. <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
  227. <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
  228. <AC11>, <AC12>
  229. };
  230. };
  231. row {
  232. top = 58;
  233. keys { { <LFSH>, "LFSH" }, <AB00>,
  234. <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
  235. <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
  236. { <RTSH>, "RTSH" }
  237. };
  238. };
  239. }; // End of "Alpha" section
  240. };
  241. xkb_geometry "60" {
  242. width = 290;
  243. height = 140;
  244. baseColor = "grey80";
  245. labelColor = "white";
  246. shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2, 0], [16, 16] } };
  247. shape "ESC" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
  248. shape "FN0" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
  249. shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2, 0], [35, 16] } };
  250. shape "TABK" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
  251. shape "BKSL" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } };
  252. shape "CAPS" { cornerRadius = 1, { [30.5, 18] }, { [2, 0], [28.5, 16] } };
  253. shape "RTRN" { cornerRadius = 1, { [43.5, 18] }, { [2, 0], [41.5, 16] } };
  254. shape "LFSH" { cornerRadius = 1, { [40, 18] }, { [2, 0], [38, 16] } };
  255. shape "RTSH" { cornerRadius = 1, { [53, 18] }, { [2, 0], [51, 16] } };
  256. shape "LCTL" { cornerRadius = 1, { [21, 18] }, { [2, 0], [19, 16] } };
  257. shape "LWIN" { cornerRadius = 1, { [15, 18] }, { [1.5, 0], [13.5, 16] } };
  258. shape "SPCE" { cornerRadius = 1, { [97, 18] }, { [2, 0], [95, 16] } };
  259. shape "ARR1" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } };
  260. shape "ARR2" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } };
  261. shape "VOL" { cornerRadius = 2.5, { [5, 5] } };
  262. shape "TVTG" { cornerRadius = 0.5, { [0, 1], [17, 1], [17, 4], [0, 4] } };
  263. shape "KEYS" { cornerRadius = 2,
  264. { [0, 0], [19, 0], [19, 16], [172, 16],
  265. [172, 4], [286, 4], [286, 133], [231, 133],
  266. [231, 126], [0, 126] } };
  267. solid "KeyPanel" {
  268. shape = "KEYS";
  269. left = 2;
  270. top = 3;
  271. color = "black";
  272. };
  273. shape "NULL0" { cornerRadius = 0.5,
  274. { [0, 26],
  275. [72, 26], [72, 14], [76, 14], [76, 26],
  276. [149, 26], [149, 14], [153, 14], [153, 26],
  277. [226, 26], [226, 2], [230, 2], [230, 26],
  278. [284, 26], [284, 27],
  279. [0, 27] } };
  280. solid "NullPanel0" {
  281. shape = "NULL0";
  282. left = 3;
  283. top = 6;
  284. color = "grey80";
  285. };
  286. shape "NULL1" { cornerRadius = 0.5, { [0, 12], [17, 12], [17, 13], [0, 13] } };
  287. solid "NullPanel1" {
  288. shape = "NULL1";
  289. left = 3;
  290. top = 6;
  291. color = "grey80";
  292. };
  293. shape "MEDIA" { cornerRadius = 0.5, { [0, 0], [55, 0], [55, 10], [0, 10] } };
  294. solid "MediaPanel" {
  295. shape = "MEDIA";
  296. left = 25.5;
  297. top = 6;
  298. color = "black";
  299. };
  300. section "Volume" {
  301. left = 22;
  302. top = 8.5;
  303. key.shape = "VOL";
  304. key.gap = 6;
  305. key.color = "grey20";
  306. row {
  307. keys { <MUTE>, <VOL->, <VOL+>, {<I1F>, "TVTG", color = "blue"} };
  308. };
  309. };
  310. key.gap = 1;
  311. key.color = "grey60";
  312. section "Function" {
  313. left = 2;
  314. top = 3;
  315. key.shape = "FN0";
  316. row {
  317. key.shape = "ESC";
  318. top = 1;
  319. keys { <ESC> };
  320. };
  321. row {
  322. top = 5;
  323. keys { { <PRSC>, 173 }, <SCLK>, <PAUS> };
  324. };
  325. row {
  326. top = 17;
  327. keys { <FK01>, <FK02>, <FK03>, <FK04>,
  328. { <FK05>, 6 }, <FK06>, <FK07>, <FK08>,
  329. { <FK09>, 6 }, <FK10>, <FK11>, <FK12>
  330. };
  331. };
  332. }; // End of "Function" section
  333. section "Control" {
  334. left = 2;
  335. top = 109;
  336. key.shape = "NORM";
  337. row {
  338. top = 1;
  339. keys { <FN>, { <LCTL>, "LCTL" }, { <LWIN>, "LWIN" }, <LALT>,
  340. { <SPCE>, "SPCE" }, <RALT>, <MENU>, <RCTL>
  341. };
  342. };
  343. }; // End of "Control" section
  344. section "Editing" {
  345. top = 7;
  346. left = 233;
  347. key.shape = "FN0";
  348. row {
  349. top = 1;
  350. keys { <INS>, <HOME>, <PGUP> };
  351. };
  352. row {
  353. top = 13;
  354. keys { <DELE>, <END>, <PGDN> };
  355. };
  356. }; // End of "Editing" section
  357. section "Navigation" {
  358. top = 109;
  359. left = 233;
  360. row {
  361. key.shape = "ARR1";
  362. top = 1;
  363. keys { <I6A>, <UP>, <I69> };
  364. };
  365. row {
  366. key.shape = "ARR2";
  367. top = 15;
  368. keys { <LEFT>, <DOWN>, <RGHT> };
  369. };
  370. }; // End of "Navigation" section
  371. shape "STIK" { cornerRadius = 3.5, { [7, 7] } };
  372. solid "STIK" {
  373. priority = 255;
  374. color = "red";
  375. shape = "STIK";
  376. top = 85.5;
  377. left = 125.5;
  378. };
  379. section "Alpha" {
  380. left = 2;
  381. top = 33;
  382. key.shape = "NORM";
  383. row {
  384. top = 1;
  385. keys { <TLDE>, <AE01>, <AE02>, <AE03>, <AE04>,
  386. <AE05>, <AE06>, <AE07>, <AE08>, <AE09>,
  387. <AE10>, <AE11>, <AE12>, { <BKSP>, "BKSP" }
  388. };
  389. };
  390. row {
  391. top = 20;
  392. keys { { <TAB>, "TABK" },
  393. <AD01>, <AD02>, <AD03>, <AD04>, <AD05>,
  394. <AD06>, <AD07>, <AD08>, <AD09>, <AD10>,
  395. <AD11>, <AD12>, { <BKSL>, "BKSL" }
  396. };
  397. };
  398. row {
  399. top = 39;
  400. keys { { <CAPS>, "CAPS" },
  401. <AC01>, <AC02>, <AC03>, <AC04>, <AC05>,
  402. <AC06>, <AC07>, <AC08>, <AC09>, <AC10>,
  403. <AC11>, { <RTRN>, "RTRN", color = "blue" }
  404. };
  405. };
  406. row {
  407. top = 58;
  408. keys { { <LFSH>, "LFSH" },
  409. <AB01>, <AB02>, <AB03>, <AB04>, <AB05>,
  410. <AB06>, <AB07>, <AB08>, <AB09>, <AB10>,
  411. { <RTSH>, "RTSH" }
  412. };
  413. };
  414. }; // End of "Alpha" section
  415. };