1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
3 NAMEBASE= xorg-driver-input-keyboard
7 SDESC[standard]= X.org keyboard input driver
8 HOMEPAGE= https://www.x.org/
12 SITES[main]= XORG/individual/driver
13 DISTFILE[1]= xf86-input-keyboard-1.9.0.tar.bz2:main
15 SPKGS[standard]= single
17 OPTIONS_AVAILABLE= none
18 OPTIONS_STANDARD= none
20 BUILDRUN_DEPENDS= xorg-server:single:standard
23 XORG_COMPONENTS= xorgproto
25 DISTNAME= xf86-input-keyboard-1.9.0
28 LICENSE_FILE= MIT:{{WRKSRC}}/COPYING
31 FPC_EQUIVALENT= x11-drivers/xf86-input-keyboard
35 INSTALL_TARGET= install-strip
37 [FILE:60:descriptions/desc.single]
38 This package contains the X.Org xf86-input-keyboard driver.
42 f7c900f21752683402992b288d5a2826de7a6c0c0abac2aadd7e8a409e170388 341693 xf86-input-keyboard-1.9.0.tar.bz2
45 [FILE:58:manifests/plist.single]
46 lib/xorg/modules/input/kbd_drv.so
47 share/man/man4/kbd.4.gz
50 [FILE:2114:patches/patch-src_at__scancode.c]
51 --- src/at_scancode.c.orig 2014-02-10 22:04:31 UTC
53 @@ -82,6 +82,10 @@ ATScancode(InputInfoPtr pInfo, int *scan
57 + case 0x1e: *scanCode = KEY_AudioRaise;break;
58 + case 0x1f: *scanCode = KEY_AudioLower;break;
59 + case 0x20: *scanCode = KEY_Power; break;
60 + case 0x25: *scanCode = KEY_Mute; break;
61 case KEY_KP_7: *scanCode = KEY_Home; break; /* curs home */
62 case KEY_KP_8: *scanCode = KEY_Up; break; /* curs up */
63 case KEY_KP_9: *scanCode = KEY_PgUp; break; /* curs pgup */
64 @@ -102,6 +106,17 @@ ATScancode(InputInfoPtr pInfo, int *scan
65 case 0x5b: *scanCode = KEY_LMeta; break;
66 case 0x5c: *scanCode = KEY_RMeta; break;
67 case 0x5d: *scanCode = KEY_Menu; break;
68 + case 0x5e: *scanCode = KEY_L1; break; /* stop */
69 + case 0x5f: *scanCode = KEY_L2; break; /* again */
70 + case 0x60: *scanCode = KEY_L3; break; /* props */
71 + case 0x61: *scanCode = KEY_L4; break; /* undo */
72 + case 0x62: *scanCode = KEY_L5; break; /* front */
73 + case 0x63: *scanCode = KEY_L6; break; /* copy */
74 + case 0x64: *scanCode = KEY_L7; break; /* open */
75 + case 0x65: *scanCode = KEY_L8; break; /* paste */
76 + case 0x66: *scanCode = KEY_L9; break; /* find */
77 + case 0x67: *scanCode = KEY_L10; break; /* cut */
78 + case 0x68: *scanCode = KEY_Help; break;
79 case KEY_F3: *scanCode = KEY_F13; break;
80 case KEY_F4: *scanCode = KEY_F14; break;
81 case KEY_F5: *scanCode = KEY_F15; break;
84 [FILE:8979:patches/patch-src_bsd__KbdMap.c]
85 Don't query console keymap
87 This seems to be useless and doesn't work anymore with vt(4), due to the
88 use of Unicode codepoints in vt(4). So remove the related code. This fixes
89 a segmentation fault during X.Org server startup.
92 Submitted by: Claude Buisson <clbuisson@orange.fr> (earlier version)
94 --- src/bsd_KbdMap.c.orig 2015-08-07 03:16:08 UTC
97 #include "xf86Keymap.h"
100 -#if (defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT)) && defined(GIO_KEYMAP)
101 -#define KD_GET_ENTRY(i,n) \
102 - eascii_to_x[((keymap.key[i].spcl << (n+1)) & 0x100) + keymap.key[i].map[n]]
104 -static unsigned char remap[NUM_KEYCODES] = {
105 - 0, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, /* 0x00 - 0x07 */
106 - 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, /* 0x08 - 0x0f */
107 - 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, /* 0x10 - 0x17 */
108 - 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, /* 0x18 - 0x1f */
109 - 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, /* 0x20 - 0x27 */
110 - 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, /* 0x28 - 0x2f */
111 - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0, /* 0x30 - 0x37 */
112 - 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, /* 0x38 - 0x3f */
113 - 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0, /* 0x40 - 0x47 */
114 - 0, 0, 0, 0, 0, 0, 0, 0, /* 0x48 - 0x4f */
115 - 0, 0, 0, 0, 0, 0, 0x56, 0x57, /* 0x50 - 0x57 */
116 - 0x58, 0, 0, 0, 0, 0, 0, 0, /* 0x58 - 0x5f */
117 - 0, 0, 0, 0, 0, 0, 0, 0, /* 0x60 - 0x67 */
118 - 0, 0, 0, 0, 0, 0, 0, 0, /* 0x68 - 0x6f */
119 - 0, 0, 0x69, 0x65, 0, 0, 0, 0, /* 0x70 - 0x77 */
120 - 0, 0, 0, 0, 0, 0, 0, 0, /* 0x78 - 0x7f */
123 -/* This table assumes the ibm code page 437 coding for characters
124 - * > 0x80. They are returned in this form by PCVT */
125 -static KeySym eascii_to_x[512] = {
126 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
127 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
128 - XK_BackSpace, XK_Tab, XK_Linefeed, NoSymbol,
129 - NoSymbol, XK_Return, NoSymbol, NoSymbol,
130 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
131 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
132 - NoSymbol, NoSymbol, NoSymbol, XK_Escape,
133 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
134 - XK_space, XK_exclam, XK_quotedbl, XK_numbersign,
135 - XK_dollar, XK_percent, XK_ampersand, XK_apostrophe,
136 - XK_parenleft, XK_parenright, XK_asterisk, XK_plus,
137 - XK_comma, XK_minus, XK_period, XK_slash,
138 - XK_0, XK_1, XK_2, XK_3,
139 - XK_4, XK_5, XK_6, XK_7,
140 - XK_8, XK_9, XK_colon, XK_semicolon,
141 - XK_less, XK_equal, XK_greater, XK_question,
142 - XK_at, XK_A, XK_B, XK_C,
143 - XK_D, XK_E, XK_F, XK_G,
144 - XK_H, XK_I, XK_J, XK_K,
145 - XK_L, XK_M, XK_N, XK_O,
146 - XK_P, XK_Q, XK_R, XK_S,
147 - XK_T, XK_U, XK_V, XK_W,
148 - XK_X, XK_Y, XK_Z, XK_bracketleft,
149 - XK_backslash, XK_bracketright,XK_asciicircum, XK_underscore,
150 - XK_grave, XK_a, XK_b, XK_c,
151 - XK_d, XK_e, XK_f, XK_g,
152 - XK_h, XK_i, XK_j, XK_k,
153 - XK_l, XK_m, XK_n, XK_o,
154 - XK_p, XK_q, XK_r, XK_s,
155 - XK_t, XK_u, XK_v, XK_w,
156 - XK_x, XK_y, XK_z, XK_braceleft,
157 - XK_bar, XK_braceright, XK_asciitilde, XK_Delete,
158 - XK_Ccedilla, XK_udiaeresis, XK_eacute, XK_acircumflex,
159 - XK_adiaeresis, XK_agrave, XK_aring, XK_ccedilla,
160 - XK_ecircumflex, XK_ediaeresis, XK_egrave, XK_idiaeresis,
161 - XK_icircumflex, XK_igrave, XK_Adiaeresis, XK_Aring,
162 - XK_Eacute, XK_ae, XK_AE, XK_ocircumflex,
163 - XK_odiaeresis, XK_ograve, XK_ucircumflex, XK_ugrave,
164 - XK_ydiaeresis, XK_Odiaeresis, XK_Udiaeresis, XK_cent,
165 - XK_sterling, XK_yen, XK_paragraph, XK_section,
166 - XK_aacute, XK_iacute, XK_oacute, XK_uacute,
167 - XK_ntilde, XK_Ntilde, XK_ordfeminine, XK_masculine,
168 - XK_questiondown,XK_hyphen, XK_notsign, XK_onehalf,
169 - XK_onequarter, XK_exclamdown, XK_guillemotleft,XK_guillemotright,
170 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
171 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
172 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
173 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
174 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
175 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
176 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
177 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
178 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
179 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
180 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
181 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
182 - XK_Greek_alpha, XK_ssharp, XK_Greek_GAMMA, XK_Greek_pi,
183 - XK_Greek_SIGMA, XK_Greek_sigma, XK_mu, XK_Greek_tau,
184 - XK_Greek_PHI, XK_Greek_THETA, XK_Greek_OMEGA, XK_Greek_delta,
185 - XK_infinity, XK_Ooblique, XK_Greek_epsilon, XK_intersection,
186 - XK_identical, XK_plusminus, XK_greaterthanequal, XK_lessthanequal,
187 - XK_topintegral, XK_botintegral, XK_division, XK_similarequal,
188 - XK_degree, NoSymbol, NoSymbol, XK_radical,
189 - XK_Greek_eta, XK_twosuperior, XK_periodcentered, NoSymbol,
192 - * special marked entries (256 + x)
195 - /* This has been checked against what syscons actually does */
196 - NoSymbol, NoSymbol, XK_Shift_L, XK_Shift_R,
197 - XK_Caps_Lock, XK_Num_Lock, XK_Scroll_Lock, XK_Alt_L,
198 - XK_ISO_Left_Tab,XK_Control_L, NoSymbol, NoSymbol,
199 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
200 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
201 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
202 - NoSymbol, NoSymbol, NoSymbol, XK_F1,
203 - XK_F2, XK_F3, XK_F4, XK_F5,
204 - XK_F6, XK_F7, XK_F8, XK_F9,
205 - XK_F10, XK_F11, XK_F12, NoSymbol,
206 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
207 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
208 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
209 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
210 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
211 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
212 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
213 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
214 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
215 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
216 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
217 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
218 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
219 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
220 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
221 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
222 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
223 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
224 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
225 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
226 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
227 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
228 - XK_Control_R, XK_Alt_R, NoSymbol, NoSymbol,
229 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
230 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
231 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
232 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
233 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
234 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
235 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
236 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
237 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
238 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
239 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
240 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
241 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
242 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
243 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
244 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
245 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
246 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
247 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
248 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
249 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
250 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
251 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
252 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
253 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
254 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
255 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
256 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
257 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
258 - NoSymbol, NoSymbol, NoSymbol, NoSymbol,
259 - NoSymbol, NoSymbol, NoSymbol, NoSymbol
262 #ifdef SYSCONS_SUPPORT
264 unsigned char sysconsCODEMap[] = {
265 @@ -205,7 +43,6 @@ TransMapRec sysconsCODE = {
269 -#endif /* SYSCONS_SUPPORT || PCVT_SUPPORT */
271 #ifdef WSCONS_SUPPORT
273 @@ -1261,40 +1098,6 @@ KbdGetMapping (InputInfoPtr pInfo, KeySy
278 - switch (pKbd->consType) {
281 - * XXX wscons has no GIO_KEYMAP
283 -#if (defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)) && defined(GIO_KEYMAP)
289 - if (ioctl(pInfo->fd, GIO_KEYMAP, &keymap) != -1) {
290 - for (i = 0; i < keymap.n_keys && i < NUM_KEYCODES; i++)
292 - k = map + (remap[i] << 2);
293 - k[0] = KD_GET_ENTRY(i,0); /* non-shifed */
294 - k[1] = KD_GET_ENTRY(i,1); /* shifted */
295 - k[2] = KD_GET_ENTRY(i,4); /* alt */
296 - k[3] = KD_GET_ENTRY(i,5); /* alt - shifted */
297 - if (k[3] == k[2]) k[3] = NoSymbol;
298 - if (k[2] == k[1]) k[2] = NoSymbol;
299 - if (k[1] == k[0]) k[1] = NoSymbol;
300 - if (k[0] == k[2] && k[1] == k[3])
301 - k[2] = k[3] = NoSymbol;
306 -#endif /* SYSCONS || PCVT */
312 * compute the modifier map
316 [FILE:346:patches/patch-src_bsd__kbd.c]
317 --- src/bsd_kbd.c.orig 2013-10-28 00:44:23 UTC
319 @@ -237,6 +237,12 @@ KbdOn(InputInfoPtr pInfo, int what)
324 + * Switch keyboards which are not attached to console in RAW mode
326 +#if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
327 + ioctl(pInfo->fd, KDSKBMODE, K_RAW);
334 [FILE:665:patches/patch-src_kdb.c]
335 --- src/kbd.c.orig 2016-05-30 21:35:35 UTC
340 #include "atKeynames.h"
341 +#include "xf86Priv.h"
342 #include "xf86Privstr.h"
344 #include <X11/extensions/XI.h>
345 @@ -382,6 +383,14 @@ KbdProc(DeviceIntPtr device, int what)
347 pKbd->KbdOff(pInfo, what);
348 device->public.on = FALSE;
350 + * Close device file for keyboards which are not attached
351 + * to console, otherwise they can't be opened again after
352 + * relogin when using session manager like xdm.
353 + * X server will take care about console attached keyboards.
355 + if (pInfo->fd != xf86Info.consoleFd)