Provided by: m17n-docs_1.8.4-1_all bug

NAME

       minput_config_command -

SYNOPSIS

       int minput_config_command (MSymbol language, MSymbol name, MSymbol command, MPlist *
       keyseqlist)

DESCRIPTION

       @brief Configure the key sequence of an input method command.

       The minput_config_command() function assigns a list of key
       sequences @b keyseqlist to the command @b command of the input method
       specified by @b language and @b name.

       If @b keyseqlist is a non-empty plist, it must be a list of key
       sequences, and each key sequence must be a plist of symbols.

       If @b keyseqlist is an empty plist, any configuration and
       customization of the command are cancelled, and default key
       sequences become effective.

       If @b keyseqlist is NULL, the configuration of the command is
       canceled, and the original key sequences (what saved in per-user
       customization file, or the default one) become effective.

       In the latter two cases, @b command can be #Mnil to make all the
       commands of the input method the target of the operation.

       If @b name is #Mnil, this function configures the key assignment of a
       global command, not that of a specific input method.

       The configuration takes effect for input methods opened or
       re-opened later in the current session.  In order to make the
       configuration take effect for the future session, it must be saved
       in a per-user customization file by the function
       minput_save_config().

       @par Return value:
       If the operation was successful, this function returns 0,
       otherwise returns -1.  The operation fails in these cases:
       <ul>
       <li>@b keyseqlist is not in a valid form.
       <li>@b command is not available for the input method.
       <li>@b language and @b name do not specify an existing input method.
       </ul>

       @par See Also:
       minput_get_commands(), minput_save_config().

Example:

           /* Add "C-x u" to the "start" command of Unicode input method.  */
           {
             MSymbol start_command = msymbol ("start");
             MSymbol unicode = msymbol ("unicode");
             MPlist *cmd, *plist, *key_seq_list, *key_seq;

             /* At first get the current key-sequence assignment.  */
             cmd = minput_get_command (Mt, unicode, start_command);
             if (! cmd)
               {
                 /* The input method does not have the command "start".  Here
                should come some error handling code.  */
               }
             /* Now CMD == ((start DESCRIPTION STATUS KEY-SEQUENCE ...) ...).
                Extract the part (KEY-SEQUENCE ...).  */
             plist = mplist_next (mplist_next (mplist_next (mplist_value (cmd))));
             /* Copy it because we should not modify it directly.  */
             key_seq_list = mplist_copy (plist);

             key_seq = mplist();
             mplist_add (key_seq, Msymbol, msymbol ("C-x"));
             mplist_add (key_seq, Msymbol, msymbol ("u"));
             mplist_add (key_seq_list, Mplist, key_seq);
             m17n_object_unref (key_seq);

             minput_config_command (Mt, unicode, start_command, key_seq_list);
             m17n_object_unref (key_seq_list);
           }

COPYRIGHT

       Copyright (C) 2001 Information-technology Promotion Agency (IPA)
       Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology
       (AIST)
       Permission is granted to copy, distribute and/or modify this document under the terms of
       the GNU Free Documentation License <http://www.gnu.org/licenses/fdl.html>.