人造语言吧 关注:9,329贴子:214,100
  • 17回复贴,共1

【工具推荐】使用MSKLC软件制作属于自己语言的输入法

只看楼主收藏回复

偶然发现了这个好用的软件,前来分享。
观前提示:本教程不适用于类似汉语拼音输入法这样的复杂类型,主要用途是便于输入一些不常用符号或应对跨字母类型的情况。另外,仅适用于Windows系统。
MSKLC全称是Microsoft Keyboard Layout Creator,是微软官方的软件。虽然略久没有更新(最新发布日期是2020/10/2),但兼容性很好。
直接搜索MSKLC就能在Microsoft官网下载(毕竟是官方的软件)。
下载安装,打开后界面如下
有意自学的可以点Help/Content,有英文操作手册。
这是个空白键盘,想省力的点File/Load Existing Keyboard导入微软自带的键盘然后修改。
点击空白处的键位、或者双击键盘上对应位置的键,会出现如下界面(手册说还可以通过drag的方式,但我没太看懂,好像也不实用,就算了)

(左Shift右边那个位置不用管,有的键盘那里有个斜杠键)
这里我点了Q键,之后直接把你想让Q键对应的字符输入进去,或者用Unicode编码(U+####, U+####[##], \x####)
字符对应的Unicode编码可以自己上网搜,这里给几个变音符号的编码:
抑音符/四声/开音符:U+0300
重音符/扬音符/锐音符/二声/闭音符:U+0301
扬抑符:U+0302
长音符/一声:U+0304
分音符:U+0308
抑扬符/三声:U+030C
软音符:U+0327
反尾形符:U+0328
这几个变音符号不需要设置组合规则,默认是自动附在前一个字母上,删除的时候也是先删变音符号再删字母。
(当然你想先打变音符号再打字母似乎也可以,不过疑似要用到dead key,我没试过)
就这样,你可以一个键位一个键位地设计你的键盘。如图
刚开始默认设置的是小写,要设置大写的话勾选左侧的Shift(上面那个Caps Lock没用,只是设置完让你看一下大写锁定时候的键位),然后继续敲键位(Shift和CapsLock输入大写字母的区别是,用Shift输入大写字母的话要一个大写字母按一次,要全大写的话很累,CapsLock是“大写锁定”,另外一些符号也得用Shift输入)

(比较一下,看看上面的数字行)

如果你想设计复杂一些的输入法,可以点开一个键位,然后点“All…”(见图二),然后自己设置组合键。
设计完之后,点Project/Properties,完善一些基础设置
基本不用解释,Language那一栏也很好理解,因为你设置的是某种语言的“键盘”。一般来说挂到英语就行。
下面那三个不用管,一般不用勾选,感兴趣的可以去看手册。
接下来点Project/Validate Layout进行验证。一般来说不会有问题。用了变音符号的话可能会有警告(Warning),但多半不用在意,要是报错(Error)就对照手册看看问题在哪里。
验证完可以点Project/Test Keyboard Layout,会出来一个窗口让你试着用自己的键盘打打字,试用一下。
试着打打之后,点Project/Build DLL and Setup Package,然后会弹出个窗口,告诉你文件放在哪里。
之后点File/Save Source File As…,找个地方存起来,以后可以直接读取这个键位设置。
结束。现在你可以切换到自己的输入法了。
试用:Çāsmȩ̀ş, Vīdī, Çùşát


IP属地:天津1楼2024-08-24 18:21回复
    速速来人


    IP属地:天津来自Android客户端2楼2024-08-24 18:32
    回复
      2026-01-25 09:29:28
      广告
      不感兴趣
      开通SVIP免广告
      谢谢您


      IP属地:辽宁来自Android客户端4楼2024-08-24 21:08
      回复
        谢谢您


        IP属地:山东来自Android客户端5楼2024-08-24 22:18
        回复
          老哥,太感谢你了👍


          IP属地:广西来自Android客户端6楼2024-08-25 00:32
          回复
            速速来人测试()顺便挖掘一下新功能


            IP属地:天津来自Android客户端7楼2024-08-25 11:16
            回复


              IP属地:天津来自Android客户端8楼2024-08-26 13:57
              回复
                之前用过,安装好自己的语言之后不小心把语言卸载包删了,现在想更新语言也更新不了


                IP属地:浙江来自Android客户端9楼2024-09-01 19:45
                收起回复
                  2026-01-25 09:23:28
                  广告
                  不感兴趣
                  开通SVIP免广告
                  更新:关于组合键。
                  MSKLC中有Dead Keys这一功能,可以实现类似组合输入的效果。
                  具体流程:首先在某个键位(通常是变音符号的位置)右键,选择Set as dead key
                  之后会弹出来一个窗口,这里以P键为例。

                  可以看到有四栏。Base是基础字符,比如āēáé这种,a/e就是基础字符;Composite是改变之后的字符,比如āēáé,(code point)是指填写Unicode码(当然直接输入也可以),右边那两栏显示的是实际效果

                  以长音符/一声为例,左边是Unicode码,右边是对应字符。
                  这种方式相比直接使用组合附加字符的好处是不容易显示错误,因为组合附加符容易错位,而直接使用Unicode码表示改变后的字符会稳定很多。缺点是Unicode里没有的字符处理起来就比较麻烦(比如同时用好几个变音符号的那种)
                  使用dead keys的话,注意设置为dead key的键位处不要使用Unicode里的“组合附加符号”(0300-036F),最好使用“占位修饰符号”(002B0-02FF)。
                  设置好后,先按下dead key,再按Base对应的键(不用像shift那样同时按下,先后按下就好)。
                  示例:şçŞÇāīūēōáíúéóàìùèòĀĪŪĒŌÁÍÚÉÓÀÌÙÈÒ


                  IP属地:天津10楼2024-09-06 17:20
                  收起回复
                    挖,请问老哥有没有实现移动端方案的方法?真的很需要😭


                    IP属地:广东来自Android客户端12楼2025-07-28 21:37
                    收起回复