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