Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > 0922406a23406838191167fcfbf5b2e0 > files > 11

hotkeys-0.5.7.1-27.mga5.x86_64.rpm

TODO
----

My wishlist, in probably no specific priority order:

- Stabilize on the XML of def files, the current one has many
  deficiencies in it. Once this is finished, I'll release it as
  version 1.0. At the same time, write a DTD for it.

- Support  more  keyboard types, please e-mail me on this if you have a
  keyboard that's not yet supported.

- Support of devfs

- Support of ALSA (hardware mute)

- Multiple functionalities per key

- Support true sleeping, suspend and power down (or logging out from WM).

- use XSetScreenSaver to support screen saver

- Run xscreensaver daemon on start-up (configurable)

- A cleaner fix for the VMware problem: listen for notification and
  act accordingly.

- A GUI for configuration, probably a GTK one, with Gnome integration.
  Later I may do for KDE too.

- Internationalization, gettextize it!

- Documentation, should be done after the code is stabilized.

- Separate into a library:

- New tags suggested by Jean-Philippe (bug #146029):

    Vendor                  (for the HP key)
    Photo    or Camera      (for My Photo Centre)
    Sports
    Finance
    Music    or MediaPlayer


Interface (suggestions welcome)
---------
. int hkey_addkey(int keycode, Act action, int order) 

  keycode - the keycode to be added
  action  - the built-in action to take when the key is pressed
  order   - the position that this action appears in the 'chain' of
  functionalities of this keycode, starts from 0, -1 for the last
  (that is append)

FIXME: need an argument to specify the modifiers (CTRL, SHIFT, etc)

  returns 0 if success, -1 if already added, -2 if keycode is probably
  being used by another program

. int hkey_addkeyc(int keycode, int (*callback)(int, int, struct timeval), int order)

  callback - the function to execute when the key with keycode is
  pressed, the keycode, the number of times this key has been pressed,
  and the time that the key was last pressed are passed to the
  function.

  returns 0 if success, -1 if already added, -2 probably being used by
  another program

. int hkey_addkeyl(int keycode, const char * string, int order)

  string - command line to execute

  returns 0 if success, -1 if already added, -2 probably being used by
  another program

. int hkey_rmkey(int keycode)

  returns 0 if success, -1 if keycode not added, -2 unknown error

. int hkey_modkey(int keycode, Act action, int order) 

  returns 0 if success, -1 if keycode not added, -2 if keycode present
  but no such order, -3 unknown error

. int hkey_modkeyc(int keycode, int (*callback)(int, int, struct timeval), int order)

. int hkey_modkeyl(int keycode, const char * string, int order)

. int hkey_chkkey(int keycode)

  check if the keycode is being used by another program, not 100%
  correct, but it's a very good guess.

  returns 1 if it's being used, 0 otherwise.

. int hkey_forceadd(int opt)

  if opt is 1, then all addkey* calls will not check whether the key
  is being used by another program, and will add it whatever. To reset
  it set opt to 0.

  This call always succeeds.

. int hkey_version(int * major, int * minor, int * patch)

  return the major version and minor versions and patch level.

  the return value is undefined.

. int hkey_clracts(int start, int end)

  (undocumented) clear all action messages starting from start to end,
  for testing and debugging.

  returns 0 if success, -1 otherwise.