mirror of
https://github.com/keymanapp/keyman.git
synced 2026-11-03 09:37:47 +00:00
relicense kmflutil.c and kmflutil.h to MIT
ibus-kmfl as a project remains GPL move some things from engine.c to kmfutil describe licensing in linux/LICENSE.md update license info in ./README.md
This commit is contained in:
parent
24c04a88ac
commit
ca2d42425a
6 changed files with 132 additions and 114 deletions
|
|
@ -40,5 +40,6 @@ Each platform maintains multiple types of releases:
|
|||
Copyright (c) 2018 SIL International. All rights reserved.
|
||||
|
||||
Licensed under the [MIT](./windows/src/LICENSE.md) License.
|
||||
[KMFL](./linux) is licensed under GNU General Public License as published by the Free Software Foundation; either [version 2](./linux/libkmfl/COPYING) of the License, or (at your option) any later version.
|
||||
|
||||
[Keyman for Linux](./linux) is licensed under the [MIT](./windows/src/LICENSE.md) License apart from [ibus-kmfl](./linux/ibus-kmfl) which is licensed under the GNU General Public License as published by the Free Software Foundation; either [version 2](./linux/ibus-kmfl/COPYING) of the License, or (at your option) any later version.
|
||||
|
||||
|
|
|
|||
4
linux/LICENSE.md
Normal file
4
linux/LICENSE.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
The [kmflcomp](./kmflcomp) and [libkmfl](./libkmfl) projects are covered by the [MIT license](./libkmfl/COPYING)
|
||||
|
||||
The [ibus-kmfl](./ibus-kmfl) project is licensed under GNU General Public License as published by the Free Software Foundation; either [version 2 of the License](./ibus-kmfl/COPYING), or (at your option) any later version.
|
||||
2 files in ibus-kmfl, [kmflutil.c](./ibus-kmfl/src/kmflutil.c) and [kmflutil.h](./ibus-kmfl/src/kmflutil.h) are covered by the MIT license and may be used as such in other projects.
|
||||
|
|
@ -2,11 +2,13 @@
|
|||
|
||||
## Projects
|
||||
|
||||
* kmflcomp - KMFL keyboard compiler
|
||||
* libkmfl - core library
|
||||
* ibus-kmfl - IBUS integration to use KMFL
|
||||
* [kmflcomp](./kmflcomp) - KMFL keyboard compiler
|
||||
* [libkmfl](./libkmfl) - core library
|
||||
* [ibus-kmfl](./ibus-kmfl) - IBUS integration to use KMFL
|
||||
* scim\_kmfl\_imengine - deprecated SCIM engine to use KMFL
|
||||
|
||||
See [license information](./LICENSE.md) about licensing.
|
||||
|
||||
## Linux Requirements/Setup
|
||||
|
||||
- It is helpful to be using the [packages.sil.org](http://packages.sil.org) repo
|
||||
|
|
@ -134,4 +136,4 @@ Use `Win-space` to switch between keyboards.
|
|||
* Click `Add` to add a keyman keyboard.
|
||||
* Click the 3 dots expander then search for "Other" and click it
|
||||
* The Keyman keyboards should be listed here to choose
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -100,93 +100,6 @@ static IBusEngineClass *parent_class = NULL;
|
|||
static GHashTable *im_table = NULL;
|
||||
|
||||
|
||||
void output_string(void *contrack, char *ptr) {
|
||||
KInputContext * ic = (KInputContext *)contrack;
|
||||
g_debug("DAR: output_string - ic->cmds=%p", ic->cmds);
|
||||
if (ptr) {
|
||||
Cmd * cmd = g_new(Cmd, 1);
|
||||
cmd->opcode=OUTPUT_STRING;
|
||||
cmd->cmdarg=g_strdup(ptr);
|
||||
ic->cmds = g_list_append(ic->cmds, cmd);
|
||||
}
|
||||
}
|
||||
|
||||
void erase_char(void *contrack) {
|
||||
KInputContext * ic = (KInputContext *)contrack;
|
||||
g_debug("DAR: erase_char - ic->cmds=%p", ic->cmds);
|
||||
Cmd * cmd = g_new(Cmd, 1);
|
||||
cmd->opcode = ERASE_CHAR;
|
||||
cmd->cmdarg=NULL;
|
||||
ic->cmds = g_list_append(ic->cmds, cmd);
|
||||
}
|
||||
|
||||
void output_char(void *contrack, unsigned char byte) {
|
||||
if (byte == 8) {
|
||||
erase_char(contrack);
|
||||
} else {
|
||||
char s[2];
|
||||
s[0] = byte;
|
||||
s[1] = '\0';
|
||||
output_string(contrack, s);
|
||||
}
|
||||
}
|
||||
|
||||
void forward_keyevent(void *contrack, unsigned int key, unsigned int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void output_beep(void *contrack) {
|
||||
KInputContext * ic = (KInputContext *)contrack;
|
||||
Cmd * cmd = g_new(Cmd, 1);
|
||||
cmd->opcode = OUTPUT_BEEP;
|
||||
cmd->cmdarg=NULL;
|
||||
ic->cmds = g_list_append(ic->cmds, cmd);
|
||||
}
|
||||
|
||||
/*
|
||||
* Create an input context
|
||||
*/
|
||||
KInputContext *
|
||||
kmfl_create_ic(KInputMethod *im)
|
||||
{
|
||||
KInputContext * ic;
|
||||
g_debug("DAR: kmfl_create_ic");
|
||||
ic = g_new(KInputContext, 1);
|
||||
ic->cmds = NULL;
|
||||
ic->p_kmsi=kmfl_make_keyboard_instance(ic);
|
||||
kmfl_attach_keyboard(ic->p_kmsi, im->keyboard_number);
|
||||
|
||||
return ic;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Destroy an input context
|
||||
*/
|
||||
void
|
||||
kmfl_destroy_ic(KInputContext *ic)
|
||||
{
|
||||
GList * p;
|
||||
g_debug("DAR: kmfl_destroy_ic");
|
||||
kmfl_detach_keyboard(ic->p_kmsi);
|
||||
kmfl_delete_keyboard_instance(ic->p_kmsi);
|
||||
|
||||
if (ic->cmds) {
|
||||
for (p=ic->cmds; p != NULL; p = p->next) {
|
||||
Cmd * cmd = (Cmd *)p->data;
|
||||
if (cmd) {
|
||||
if (cmd->cmdarg)
|
||||
g_free(cmd->cmdarg);
|
||||
g_free(cmd);
|
||||
}
|
||||
}
|
||||
g_list_free(ic->cmds);
|
||||
ic->cmds=NULL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
GType
|
||||
ibus_kmfl_engine_get_type (void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -5,19 +5,23 @@
|
|||
*
|
||||
* Copyright (C) 2009 SIL International
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
@ -280,6 +284,94 @@ void kinput_close_im(KInputMethod * im)
|
|||
g_free(im);
|
||||
}
|
||||
|
||||
void output_string(void *contrack, char *ptr) {
|
||||
KInputContext * ic = (KInputContext *)contrack;
|
||||
g_debug("DAR: output_string - ic->cmds=%p", ic->cmds);
|
||||
if (ptr) {
|
||||
Cmd * cmd = g_new(Cmd, 1);
|
||||
cmd->opcode=OUTPUT_STRING;
|
||||
cmd->cmdarg=g_strdup(ptr);
|
||||
ic->cmds = g_list_append(ic->cmds, cmd);
|
||||
}
|
||||
}
|
||||
|
||||
void erase_char(void *contrack) {
|
||||
KInputContext * ic = (KInputContext *)contrack;
|
||||
g_debug("DAR: erase_char - ic->cmds=%p", ic->cmds);
|
||||
Cmd * cmd = g_new(Cmd, 1);
|
||||
cmd->opcode = ERASE_CHAR;
|
||||
cmd->cmdarg=NULL;
|
||||
ic->cmds = g_list_append(ic->cmds, cmd);
|
||||
}
|
||||
|
||||
void output_char(void *contrack, unsigned char byte) {
|
||||
if (byte == 8) {
|
||||
erase_char(contrack);
|
||||
} else {
|
||||
char s[2];
|
||||
s[0] = byte;
|
||||
s[1] = '\0';
|
||||
output_string(contrack, s);
|
||||
}
|
||||
}
|
||||
|
||||
void forward_keyevent(void *contrack, unsigned int key, unsigned int state)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void output_beep(void *contrack) {
|
||||
KInputContext * ic = (KInputContext *)contrack;
|
||||
Cmd * cmd = g_new(Cmd, 1);
|
||||
cmd->opcode = OUTPUT_BEEP;
|
||||
cmd->cmdarg=NULL;
|
||||
ic->cmds = g_list_append(ic->cmds, cmd);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Create an input context
|
||||
*/
|
||||
KInputContext *
|
||||
kmfl_create_ic(KInputMethod *im)
|
||||
{
|
||||
KInputContext * ic;
|
||||
g_debug("DAR: kmfl_create_ic");
|
||||
ic = g_new(KInputContext, 1);
|
||||
ic->cmds = NULL;
|
||||
ic->p_kmsi=kmfl_make_keyboard_instance(ic);
|
||||
kmfl_attach_keyboard(ic->p_kmsi, im->keyboard_number);
|
||||
|
||||
return ic;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Destroy an input context
|
||||
*/
|
||||
void
|
||||
kmfl_destroy_ic(KInputContext *ic)
|
||||
{
|
||||
GList * p;
|
||||
g_debug("DAR: kmfl_destroy_ic");
|
||||
kmfl_detach_keyboard(ic->p_kmsi);
|
||||
kmfl_delete_keyboard_instance(ic->p_kmsi);
|
||||
|
||||
if (ic->cmds) {
|
||||
for (p=ic->cmds; p != NULL; p = p->next) {
|
||||
Cmd * cmd = (Cmd *)p->data;
|
||||
if (cmd) {
|
||||
if (cmd->cmdarg)
|
||||
g_free(cmd->cmdarg);
|
||||
g_free(cmd);
|
||||
}
|
||||
}
|
||||
g_list_free(ic->cmds);
|
||||
ic->cmds=NULL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
#include <locale.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,19 +5,23 @@
|
|||
*
|
||||
* Copyright (C) 2009 SIL International
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*
|
||||
*/
|
||||
|
||||
|
|
@ -61,6 +65,8 @@ void ibus_kmfl_init (void);
|
|||
GList *ibus_kmfl_list_engines (void);
|
||||
IBusComponent *ibus_kmfl_get_component (void);
|
||||
KInputMethod *kinput_open_im (const gchar * keyboard_filename);
|
||||
KInputContext *kmfl_create_ic (KInputMethod *im);
|
||||
void kmfl_destroy_ic (KInputContext *ic);
|
||||
void kinput_close_im (KInputMethod * im);
|
||||
void kmfl_get_keyboard_info (KInputMethod * im);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue