Changeset 9be360ee in mainline for uspace/srv/hid/kbd/ctl


Ignore:
Timestamp:
2011-06-11T22:06:47Z (15 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4f3f9659
Parents:
56ad818
Message:

Allow keyboard server to handle more than one driver at the same time.

Location:
uspace/srv/hid/kbd/ctl
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hid/kbd/ctl/apple.c

    r56ad818 r9be360ee  
    11/*
    2  * Copyright (c) 2010 Jiri Svoboda
     2 * Copyright (c) 2011 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4242#include <kbd_port.h>
    4343
    44 static void apple_ctl_parse_scancode(int scancode);
    45 static int apple_ctl_init(kbd_port_ops_t *kbd_port);
    46 static void apple_ctl_set_ind(unsigned mods);
     44static void apple_ctl_parse_scancode(int);
     45static int apple_ctl_init(kbd_dev_t *);
     46static void apple_ctl_set_ind(unsigned);
    4747
    4848kbd_ctl_ops_t apple_ctl = {
     
    5454#define KBD_KEY_RELEASE         0x80
    5555
     56static kbd_dev_t *kbd_dev;
     57
    5658static int scanmap[];
    5759
    58 static int apple_ctl_init(kbd_port_ops_t *kbd_port)
     60static int apple_ctl_init(kbd_dev_t *kdev)
    5961{
    60         (void) kbd_port;
     62        kbd_dev = kdev;
    6163        return 0;
    6264}
     
    7981        key = scanmap[scancode];
    8082        if (key != 0)
    81                 kbd_push_ev(type, key);
     83                kbd_push_ev(kbd_dev, type, key);
    8284}
    8385
  • uspace/srv/hid/kbd/ctl/gxe_fb.c

    r56ad818 r9be360ee  
    11/*
    2  * Copyright (c) 2009 Jiri Svoboda
     2 * Copyright (c) 2011 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4444#include <stroke.h>
    4545
    46 static void gxe_fb_ctl_parse_scancode(int scancode);
    47 static int gxe_fb_ctl_init(kbd_port_ops_t *kbd_port);
    48 static void gxe_fb_ctl_set_ind(unsigned mods);
     46static void gxe_fb_ctl_parse_scancode(int);
     47static int gxe_fb_ctl_init(kbd_dev_t *);
     48static void gxe_fb_ctl_set_ind(unsigned);
    4949
    5050kbd_ctl_ops_t gxe_fb_ctl = {
     
    5353        .set_ind = gxe_fb_ctl_set_ind
    5454};
     55
     56static kbd_dev_t *kbd_dev;
    5557
    5658/** Scancode parser */
     
    218220};
    219221
    220 static int gxe_fb_ctl_init(kbd_port_ops_t *kbd_port)
     222static int gxe_fb_ctl_init(kbd_dev_t *kdev)
    221223{
    222         (void) kbd_port;
     224        kbd_dev = kdev;
    223225        ds = 0;
    224226
     
    233235        ds = gsp_step(&sp, ds, scancode, &mods, &key);
    234236        if (key != 0) {
    235                 stroke_sim(mods, key);
     237                stroke_sim(kbd_dev, mods, key);
    236238        }
    237239}
  • uspace/srv/hid/kbd/ctl/pc.c

    r56ad818 r9be360ee  
    11/*
    2  * Copyright (c) 2009 Jiri Svoboda
     2 * Copyright (c) 2011 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4343#include <gsp.h>
    4444
    45 static void pc_ctl_parse_scancode(int scancode);
    46 static int pc_ctl_init(kbd_port_ops_t *kbd_port);
    47 static void pc_ctl_set_ind(unsigned mods);
     45static void pc_ctl_parse_scancode(int);
     46static int pc_ctl_init(kbd_dev_t *);
     47static void pc_ctl_set_ind(unsigned);
    4848
    4949kbd_ctl_ops_t pc_ctl = {
     
    7474
    7575static enum dec_state ds;
    76 static kbd_port_ops_t *kbd_port;
     76static kbd_dev_t *kbd_dev;
    7777
    7878static int scanmap_simple[] = {
     
    208208};
    209209
    210 static int pc_ctl_init(kbd_port_ops_t *kbd_p)
     210static int pc_ctl_init(kbd_dev_t *kdev)
    211211{
    212         kbd_port = kbd_p;
     212        kbd_dev = kdev;
    213213        ds = ds_s;
    214214        return 0;
     
    262262        key = map[scancode];
    263263        if (key != 0)
    264                 kbd_push_ev(type, key);
     264                kbd_push_ev(kbd_dev, type, key);
    265265}
    266266
     
    277277                b = b | LI_SCROLL;
    278278
    279         (*kbd_port->write)(KBD_CMD_SET_LEDS);
    280         (*kbd_port->write)(b);
     279        (*kbd_dev->port_ops->write)(KBD_CMD_SET_LEDS);
     280        (*kbd_dev->port_ops->write)(b);
    281281}
    282282
  • uspace/srv/hid/kbd/ctl/stty.c

    r56ad818 r9be360ee  
    11/*
    2  * Copyright (c) 2009 Jiri Svoboda
     2 * Copyright (c) 2011 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4343#include <stroke.h>
    4444
    45 static void stty_ctl_parse_scancode(int scancode);
    46 static int stty_ctl_init(kbd_port_ops_t *kbd_port);
    47 static void stty_ctl_set_ind(unsigned mods);
     45static void stty_ctl_parse_scancode(int);
     46static int stty_ctl_init(kbd_dev_t *);
     47static void stty_ctl_set_ind(unsigned);
    4848
    4949kbd_ctl_ops_t stty_ctl = {
     
    5252        .set_ind = stty_ctl_set_ind
    5353};
     54
     55static kbd_dev_t *kbd_dev;
    5456
    5557/** Scancode parser */
     
    217219};
    218220
    219 static int stty_ctl_init(kbd_port_ops_t *kbd_port)
     221static int stty_ctl_init(kbd_dev_t *kdev)
    220222{
    221         (void) kbd_port;
     223        kbd_dev = kdev;
    222224        ds = 0;
    223225
     
    232234        ds = gsp_step(&sp, ds, scancode, &mods, &key);
    233235        if (key != 0) {
    234                 stroke_sim(mods, key);
     236                stroke_sim(kbd_dev, mods, key);
    235237        }
    236238}
  • uspace/srv/hid/kbd/ctl/sun.c

    r56ad818 r9be360ee  
    11/*
    22 * Copyright (c) 2006 Jakub Jermar
     3 * Copyright (c) 2011 Jiri Svoboda
    34 * All rights reserved.
    45 *
     
    4243#include <kbd_port.h>
    4344
    44 static void sun_ctl_parse_scancode(int scancode);
    45 static int sun_ctl_init(kbd_port_ops_t *kbd_port);
    46 static void sun_ctl_set_ind(unsigned mods);
     45static void sun_ctl_parse_scancode(int);
     46static int sun_ctl_init(kbd_dev_t *);
     47static void sun_ctl_set_ind(unsigned);
    4748
    4849kbd_ctl_ops_t sun_ctl = {
     
    5253};
    5354
     55static kbd_dev_t *kbd_dev;
     56
    5457#define KBD_KEY_RELEASE         0x80
    5558#define KBD_ALL_KEYS_UP         0x7f
     
    5760static int scanmap_simple[];
    5861
    59 static int sun_ctl_init(kbd_port_ops_t *kbd_port)
     62static int sun_ctl_init(kbd_dev_t *kdev)
    6063{
     64        kbd_dev = kdev;
    6165        return 0;
    6266}
     
    8286        key = scanmap_simple[scancode];
    8387        if (key != 0)
    84                 kbd_push_ev(type, key);
     88                kbd_push_ev(kbd_dev, type, key);
    8589}
    8690
Note: See TracChangeset for help on using the changeset viewer.