Deleted Added
full compact
kbd.c (197400) kbd.c (213770)
1/*-
2 * Copyright (c) 1999 Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 */
27
28#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1999 Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 12 unchanged lines hidden (view full) ---

21 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 *
26 */
27
28#include <sys/cdefs.h>
29__FBSDID("$FreeBSD: head/sys/dev/kbd/kbd.c 197400 2009-09-22 11:29:11Z ed $");
29__FBSDID("$FreeBSD: head/sys/dev/kbd/kbd.c 213770 2010-10-13 11:37:12Z rpaulo $");
30
31#include "opt_kbd.h"
32
33#include <sys/param.h>
34#include <sys/systm.h>
35#include <sys/kernel.h>
36#include <sys/malloc.h>
37#include <sys/conf.h>

--- 181 unchanged lines hidden (view full) ---

219 keyboard[index] = kbd;
220 kbdsw[index] = p->kbdsw;
221
222 if (mux != NULL) {
223 bzero(&ki, sizeof(ki));
224 strcpy(ki.kb_name, kbd->kb_name);
225 ki.kb_unit = kbd->kb_unit;
226
30
31#include "opt_kbd.h"
32
33#include <sys/param.h>
34#include <sys/systm.h>
35#include <sys/kernel.h>
36#include <sys/malloc.h>
37#include <sys/conf.h>

--- 181 unchanged lines hidden (view full) ---

219 keyboard[index] = kbd;
220 kbdsw[index] = p->kbdsw;
221
222 if (mux != NULL) {
223 bzero(&ki, sizeof(ki));
224 strcpy(ki.kb_name, kbd->kb_name);
225 ki.kb_unit = kbd->kb_unit;
226
227 kbdd_ioctl(mux, KBADDKBD, (caddr_t) &ki);
227 (void)kbdd_ioctl(mux, KBADDKBD, (caddr_t) &ki);
228 }
229
230 return (index);
231 }
232 }
233 SET_FOREACH(list, kbddriver_set) {
234 p = *list;
235 if (strcmp(p->name, kbd->kb_name) == 0) {
236 keyboard[index] = kbd;
237 kbdsw[index] = p->kbdsw;
238
239 if (mux != NULL) {
240 bzero(&ki, sizeof(ki));
241 strcpy(ki.kb_name, kbd->kb_name);
242 ki.kb_unit = kbd->kb_unit;
243
228 }
229
230 return (index);
231 }
232 }
233 SET_FOREACH(list, kbddriver_set) {
234 p = *list;
235 if (strcmp(p->name, kbd->kb_name) == 0) {
236 keyboard[index] = kbd;
237 kbdsw[index] = p->kbdsw;
238
239 if (mux != NULL) {
240 bzero(&ki, sizeof(ki));
241 strcpy(ki.kb_name, kbd->kb_name);
242 ki.kb_unit = kbd->kb_unit;
243
244 kbdd_ioctl(mux, KBADDKBD, (caddr_t) &ki);
244 (void)kbdd_ioctl(mux, KBADDKBD, (caddr_t) &ki);
245 }
246
247 return (index);
248 }
249 }
250
251 return (-1);
252}

--- 890 unchanged lines hidden (view full) ---

1143}
1144
1145#define set_lockkey_state(k, s, l) \
1146 if (!((s) & l ## DOWN)) { \
1147 int i; \
1148 (s) |= l ## DOWN; \
1149 (s) ^= l ## ED; \
1150 i = (s) & LOCK_MASK; \
245 }
246
247 return (index);
248 }
249 }
250
251 return (-1);
252}

--- 890 unchanged lines hidden (view full) ---

1143}
1144
1145#define set_lockkey_state(k, s, l) \
1146 if (!((s) & l ## DOWN)) { \
1147 int i; \
1148 (s) |= l ## DOWN; \
1149 (s) ^= l ## ED; \
1150 i = (s) & LOCK_MASK; \
1151 kbdd_ioctl((k), KDSETLED, (caddr_t)&i); \
1151 (void)kbdd_ioctl((k), KDSETLED, (caddr_t)&i); \
1152 }
1153
1154static u_int
1155save_accent_key(keyboard_t *kbd, u_int key, int *accents)
1156{
1157 int i;
1158
1159 /* make an index into the accent map */

--- 143 unchanged lines hidden (view full) ---

1303 state &= ~NLKDOWN;
1304 break;
1305 case CLK:
1306#ifndef PC98
1307 state &= ~CLKDOWN;
1308#else
1309 state &= ~CLKED;
1310 i = state & LOCK_MASK;
1152 }
1153
1154static u_int
1155save_accent_key(keyboard_t *kbd, u_int key, int *accents)
1156{
1157 int i;
1158
1159 /* make an index into the accent map */

--- 143 unchanged lines hidden (view full) ---

1303 state &= ~NLKDOWN;
1304 break;
1305 case CLK:
1306#ifndef PC98
1307 state &= ~CLKDOWN;
1308#else
1309 state &= ~CLKED;
1310 i = state & LOCK_MASK;
1311 kbdd_ioctl(kbd, KDSETLED, (caddr_t)&i);
1311 (void)kbdd_ioctl(kbd, KDSETLED, (caddr_t)&i);
1312#endif
1313 break;
1314 case SLK:
1315 state &= ~SLKDOWN;
1316 break;
1317 case ALK:
1318 state &= ~ALKDOWN;
1319 break;

--- 19 unchanged lines hidden (view full) ---

1339 set_lockkey_state(kbd, state, NLK);
1340 break;
1341 case CLK:
1342#ifndef PC98
1343 set_lockkey_state(kbd, state, CLK);
1344#else
1345 state |= CLKED;
1346 i = state & LOCK_MASK;
1312#endif
1313 break;
1314 case SLK:
1315 state &= ~SLKDOWN;
1316 break;
1317 case ALK:
1318 state &= ~ALKDOWN;
1319 break;

--- 19 unchanged lines hidden (view full) ---

1339 set_lockkey_state(kbd, state, NLK);
1340 break;
1341 case CLK:
1342#ifndef PC98
1343 set_lockkey_state(kbd, state, CLK);
1344#else
1345 state |= CLKED;
1346 i = state & LOCK_MASK;
1347 kbdd_ioctl(kbd, KDSETLED, (caddr_t)&i);
1347 (void)kbdd_ioctl(kbd, KDSETLED, (caddr_t)&i);
1348#endif
1349 break;
1350 case SLK:
1351 set_lockkey_state(kbd, state, SLK);
1352 break;
1353 case ALK:
1354 set_lockkey_state(kbd, state, ALK);
1355 break;

--- 108 unchanged lines hidden ---
1348#endif
1349 break;
1350 case SLK:
1351 set_lockkey_state(kbd, state, SLK);
1352 break;
1353 case ALK:
1354 set_lockkey_state(kbd, state, ALK);
1355 break;

--- 108 unchanged lines hidden ---