diff options
| author | Paul LeoNerd Evans <leonerd@leonerd.org.uk> | 2008-11-09 19:58:11 +0000 | 
|---|---|---|
| committer | Paul LeoNerd Evans <leonerd@leonerd.org.uk> | 2008-11-09 19:58:11 +0000 | 
| commit | 73cee7f0b009c093aa1a49df907c2b8c001b4946 (patch) | |
| tree | 6be62c9adc21c3be753c6068e57ee216062f85df /termkey-internal.h | |
| parent | aef2e912773ca3669c45725f95226d0081c23046 (diff) | |
| download | termo-73cee7f0b009c093aa1a49df907c2b8c001b4946.tar.gz termo-73cee7f0b009c093aa1a49df907c2b8c001b4946.tar.xz termo-73cee7f0b009c093aa1a49df907c2b8c001b4946.zip | |
Allow stacking drivers in a linked list; try all of them at getkey() time
Diffstat (limited to 'termkey-internal.h')
| -rw-r--r-- | termkey-internal.h | 10 | 
1 files changed, 8 insertions, 2 deletions
| diff --git a/termkey-internal.h b/termkey-internal.h index 2a1a831..645a7da 100644 --- a/termkey-internal.h +++ b/termkey-internal.h @@ -23,6 +23,13 @@ struct keyinfo {    int modifier_set;  }; +struct termkey_drivernode; +struct termkey_drivernode { +  struct termkey_driver     *driver; +  void                      *info; +  struct termkey_drivernode *next; +}; +  struct termkey {    int    fd;    int    flags; @@ -44,8 +51,7 @@ struct termkey {    // There are 32 C0 codes    struct keyinfo c0[32]; -  struct termkey_driver driver; -  void *driver_info; +  struct termkey_drivernode *drivers;    // Now some "protected" methods for the driver to call but which we don't    // want exported as real symbols in the library | 
