Ejemplo n.º 1
0
KeySym unicode2keysym(wchar_t wc)
{
  static const keymap_t keymap = GetKeyMap();
  keymap_t::const_iterator itr = keymap.find(wc);
  if ( itr != keymap.end())
    return itr->second;
  return NoSymbol;
}
Ejemplo n.º 2
0
void Editor::keystroke(const Event& e) {
    char buf[100];
    int n = e.mapkey(buf, sizeof(buf) - 1);
    if (n > 0) {
	buf[n] = '\0';
	GetKeyMap()->Execute(buf);
    } else if (e.rep()->xevent_.type == KeyPress) {
      KeySym ks = XKeycodeToKeysym(e.rep()->display_->rep()->display_,
				   e.rep()->xevent_.xkey.keycode, 0);
      if (ks) {
	strncpy(buf, (const char*)&ks, 2);
	n = 2;
	buf[n] = '\0';
	GetKeyMap()->Execute(buf);
      }
      
    }
}