.\" Copyright (C) 2001 Information-technology Promotion Agency (IPA) .\" Copyright (C) 2001-2011 .\" National Institute of Advanced Industrial Science and Technology (AIST) .\" This file is part of the m17n library documentation. .\" Permission is granted to copy, distribute and/or modify this document .\" under the terms of the GNU Free Documentation License, Version 1.2 or .\" any later version published by the Free Software Foundation; with no .\" Invariant Section, no Front-Cover Texts, .\" and no Back-Cover Texts. A copy of the license is included in the .\" appendix entitled "GNU Free Documentation License". .TH "minput_config_command" 3m17n "Mon Sep 25 2023" "Version 1.8.4" "The m17n Library" \" -*- nroff -*- .ad l .nh .SH NAME minput_config_command \- .SH SYNOPSIS int \fBminput_config_command\fP (MSymbol \fIlanguage\fP, MSymbol \fIname\fP, MSymbol \fIcommand\fP, \fBMPlist\fP * \fIkeyseqlist\fP) .SH DESCRIPTION .PP .nf @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: @par See Also: minput_get_commands(), minput_save_config(). .fi .fi .PP .SH Example: .PP .RS 4 .PP .nf /* 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); } .fi .fi .RE .PP .SH COPYRIGHT Copyright (C) 2001 Information\-technology Promotion Agency (IPA) .br Copyright (C) 2001\-2011 National Institute of Advanced Industrial Science and Technology (AIST) .br Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License .