/[weechat]/weechat/src/gui/gui-keyboard.c
ViewVC logotype

Diff of /weechat/src/gui/gui-keyboard.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by kolter, Tue Jul 12 10:06:10 2005 UTC revision 1.3 by flashcode, Sat Jul 16 11:14:47 2005 UTC
# Line 37  t_gui_key *gui_keys = NULL; Line 37  t_gui_key *gui_keys = NULL;
37  t_gui_key *last_gui_key = NULL;  t_gui_key *last_gui_key = NULL;
38    
39  char gui_key_buffer[128];  char gui_key_buffer[128];
40    int gui_key_grab = 0;
41    int gui_key_grab_count = 0;
42    
43  t_gui_key_function gui_key_functions[] =  t_gui_key_function gui_key_functions[] =
44  { { "return",                gui_input_return,  { { "return",                gui_input_return,
# Line 57  t_gui_key_function gui_key_functions[] = Line 59  t_gui_key_function gui_key_functions[] =
59      N_("delete previous word") },      N_("delete previous word") },
60    { "delete_next_word",      gui_input_delete_next_word,    { "delete_next_word",      gui_input_delete_next_word,
61      N_("delete next word") },      N_("delete next word") },
62    { "clipboard_paste",  gui_input_clipboard_paste,    { "clipboard_paste",       gui_input_clipboard_paste,
63      N_("paste current clipboard content") },      N_("paste current clipboard content") },
64    { "transpose_chars",  gui_input_transpose_chars,    { "transpose_chars",       gui_input_transpose_chars,
65      N_("transpose chars") },      N_("transpose chars") },
66    { "home",                  gui_input_home,    { "home",                  gui_input_home,
67      N_("go to beginning of line") },      N_("go to beginning of line") },
# Line 103  t_gui_key_function gui_key_functions[] = Line 105  t_gui_key_function gui_key_functions[] =
105      N_("jump to next server") },      N_("jump to next server") },
106    { "hotlist_clear",         gui_input_hotlist_clear,    { "hotlist_clear",         gui_input_hotlist_clear,
107      N_("clear hotlist") },      N_("clear hotlist") },
108      { "grab_key",              gui_input_grab_key,
109        N_("grab a key") },
110    { NULL, NULL, NULL }    { NULL, NULL, NULL }
111  };  };
112    
# Line 115  void Line 119  void
119  gui_key_init ()  gui_key_init ()
120  {  {
121      gui_key_buffer[0] = '\0';      gui_key_buffer[0] = '\0';
122        gui_key_grab = 0;
123        gui_key_grab_count = 0;
124            
125      gui_input_default_key_bindings ();      gui_input_default_key_bindings ();
126  }  }
127    
128  /*  /*
129     * gui_key_init_show: init "show mode"
130     */
131    
132    void
133    gui_key_init_grab ()
134    {
135        gui_key_grab = 1;
136        gui_key_grab_count = 0;
137    }
138    
139    /*
140   * gui_key_get_internal_code: get internal code from user key name   * gui_key_get_internal_code: get internal code from user key name
141   *                            for example: return "^R" for "ctrl-R"   *                            for example: return "^R" for "ctrl-R"
142   */   */
# Line 187  gui_key_get_expanded_name (char *key) Line 204  gui_key_get_expanded_name (char *key)
204                  strcat (result, "meta-");                  strcat (result, "meta-");
205                  key += 2;                  key += 2;
206              }              }
207              else if (key[0] == '^')              else if ((key[0] == '^') && (key[1]))
208              {              {
209                  strcat (result, "ctrl-");                  strcat (result, "ctrl-");
210                  key++;                  key++;
# Line 466  gui_key_pressed (char *key_str) Line 483  gui_key_pressed (char *key_str)
483      int first_key;      int first_key;
484      t_gui_key *ptr_key;      t_gui_key *ptr_key;
485    
486        /* add key to buffer */
487      first_key = (gui_key_buffer[0] == '\0');      first_key = (gui_key_buffer[0] == '\0');
488      strcat (gui_key_buffer, key_str);      strcat (gui_key_buffer, key_str);
489        
490        /* if we are in "show mode", increase counter and return */
491        if (gui_key_grab)
492        {
493            gui_key_grab_count++;
494            return 0;
495        }
496        
497        /* look for key combo in key table */
498      ptr_key = gui_key_search_part (gui_key_buffer);      ptr_key = gui_key_search_part (gui_key_buffer);
499      if (ptr_key)      if (ptr_key)
500      {      {
# Line 482  gui_key_pressed (char *key_str) Line 509  gui_key_pressed (char *key_str)
509              else              else
510                  (void)(ptr_key->function)();                  (void)(ptr_key->function)();
511          }          }
         //else  
         //    gui_printf (gui_current_window->buffer, "partial key found\n");  
512          return 0;          return 0;
513      }      }
514            

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26