小狼毫輸入法中讓數字鍵盤上的數字鍵不再選擇候選詞而是與原始輸入一起直接上屏

使用搜狗輸入法的雙拼時,輸入“womf”然后按下主鍵盤上的數字1,會選擇排名第一的候選詞上屏(大概率是“我們),輸入“womf”然后按下數字鍵盤上的數字1,不會選擇候選詞,而是將輸入文本變成“womf1”,上屏的也將是“womf1”。小狼毫輸入法默認則不是這樣動作的,輸入“womf”后,無論按下主鍵盤還是數字鍵盤上的數字,都會選擇候選詞上屏,而不會是原始輸入加上數字鍵對應的數字上屏。

我看到github上rime輸入法討論區有人提問有沒有辦法讓小狼毫輸入法表現出搜狗輸入法那樣的行為,該問題已經很長時間了,但是沒有有效的回答。查看小狼毫的文檔,也沒有涉及如何配置可以讓主鍵盤與數字鍵盤上的數字按鍵表現出不同行為模式的內容,但是小狼毫輸入法lua插件可以通過key_event:repr()獲取按鍵名稱,從而區分當前按下的數字鍵是主鍵盤上的數字鍵還是數字鍵盤上的數字鍵,這就為通過lua腳本實現按下數字鍵盤上的數字鍵時不選擇候選詞上屏而是直接將原始輸入碼與數字直接上屏創造了條件。編輯如下lua腳本(可以將文件名命名為kp_num_processor.lua),創建一個processor:

-- kp_num_processor.lua
local function processor(key_event, env)local key_code = key_event:repr() -- 獲取按鍵名稱-- 定義數字鍵盤數字鍵的映射local numpad_keys = {["KP_0"] = "0",["KP_1"] = "1",["KP_2"] = "2",["KP_3"] = "3",["KP_4"] = "4",["KP_5"] = "5",["KP_6"] = "6",["KP_7"] = "7",["KP_8"] = "8",["KP_9"] = "9"}-- 檢查是否是數字鍵盤數字鍵if numpad_keys[key_code] thenlocal context = env.engine.context -- 獲取輸入上下文local input_text = context.input -- 獲取當前輸入的原始碼if input_text and input_text ~= "" then-- 如果有輸入的原始碼,拼接原始碼和數字并提交env.engine:commit_text(input_text .. numpad_keys[key_code])context:clear() -- 清空輸入緩沖區else-- 如果沒有原始碼,只提交數字env.engine:commit_text(numpad_keys[key_code])endreturn 1 -- 表示按鍵已處理endreturn 2 -- 未處理,交給其他處理器
endreturn processor

然后在使用的輸入法方案配置文件中配置使用該processor,例如我使用的微軟雙拼方案,就在double_pinyin_mspy.schema.yaml的“engine/processors”結點的第一行增加一個processor:

-- ……前面的配置內容省略

engine:

? processors:

? ? - lua_processor@*kp_num_processor

? ? - lua_processor@*select_character ?# 以詞定字

? ? - ascii_composer

-- ……后續配置內容省略

然后重新部署,就可以愉快的輸入了。

本文內容在小狼毫輸入法0.17.9下測試通過。花了我一兩個月的摸索才算成功😀。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/97410.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97410.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97410.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【C++】類和對象(終章)

作者主頁:lightqjx 本文專欄:C 目錄 一、構造函數 1. 構造函數體賦值 2. 初始化列表 (1)基本概念 (2)使用特性 3. explicit關鍵字 二、static成員 1. 概念 2. 特性 3. 應用 三、友元 1. 友元函…

水果目標檢測[2]:ALAD-YOLO:一種輕便、精確的蘋果葉病檢測儀

原文: 目錄 摘要: ALAD-YOLO的改進: 1.輕量化主干網絡: 2.改進的 Neck 網絡: 3.改進的 SPP 模塊: 4.注意力機制引入: 實驗結果 數據: 1 數據采集 (Data Collection) 2 數…

Let‘s Encrypt證書自動續期

證書失效后瀏覽器可以看到錯誤提示,以及證書過期時間。 排查服務器證書續期配置 1. 證書未正確安裝或配置 確保在阿里云服務器上部署的 Let’s Encrypt 證書已經正確安裝。你可以通過以下步驟確認: 使用命令 sudo certbot certificates 檢查證書是否正確…

Redis-基數統計、位圖、位域、流

Redis-基數統計、位圖、位域、流一、基數統計 HyperLogLog二、位圖 Bitmap三、位域 Bitfild四、流 Stream一、基數統計 HyperLogLog 基數統計:是用來做基數(不重復的數)統計的算法 (統計不重復出現的數據的個數) 基數統計VS集合 集合: uv …

IBMS-建筑內分散的子系統(如 BA、安防、消防、能源、電梯等)進行數據互聯、功能協同與智能管控

IBMS(Integrated Building Management System,樓宇集成管理系統)并非簡單的 “系統疊加”,而是通過對建筑內分散的子系統(如 BA、安防、消防、能源、電梯等)進行數據互聯、功能協同與智能管控,實…

LabVIEW溫采監控系統

?溫度采集監控系統以LabVIEW 軟件平臺,構建起一套高效、可靠的溫度監測與控制體系。系統可實時采集、顯示、存儲溫度數據,超限時自動報警并執行溫控操作,適用于多類場景,能滿足精準溫控需求,解決傳統系統靈活性差、成…

Docker核心概念與鏡像倉庫操作指南

文章目錄一、名詞概念Docker鏡像Docker鏡像倉庫二、Docker鏡像倉庫常用命令三、容器啟動相關指令Nginxdocker rundocker ps四、綜合實例1.搭建Nginx服務2.Docker hub上創建私有倉庫一、名詞概念 Docker鏡像 Docker 鏡像:是一個只讀的模板,它包含了創建…

科技信息差(8.30)

🌍DeepSeek V3.1 Base突襲上線!擊敗Claude 4編程爆表,全網在蹲R2和V4🎄語音界Sora!微軟剛開源新模型,一次生成90分鐘語音、3200倍壓縮率VibeVoice-1.5B開創了語音界多個重大技術突破:一次性可連…

【國內電子數據取證廠商龍信科技】ES 數據庫重建

我們公司在協助偵辦一起案件現場勘查遇到這樣一個案件,現場沒有 獲取到服務器數據庫密碼,且涉案服務器數據巨大,涉及到的數據庫并不 是 mysql 數據庫,而是 elasticsarch 數據庫,這給我們偵辦案件帶來了極 大的困難&…

【51單片機定時1秒中斷控制流水燈方向】2022-11-14

緣由C語言怎么編可中斷取反流水燈-編程語言-CSDN問答 用P1口做輸出口,接八只發光二極管。編寫程序,使發光二極管循環點亮,循環點亮時間間隔為1秒,該時間間隔用定時器中斷實現。/ INT0 接單次脈沖輸出,每當有外部中斷信…

Megatron-LM(模型并行)

Megatron-LM: Training Multi-Billion Parameter Language Models Using Model Parallelism 1. 技術設計原則 Megatron-LM 提出輕量級層內模型并行,無需定制編譯器或修改框架,僅通過在 PyTorch 原生代碼中插入少量通信操作(如all-reduce&…

C/C++:AddressSanitizer內存檢測工具

AddressSanitizer是gcc自帶的內存檢測工具&#xff0c;無需額外安裝 常見問題 #include <stdlib.h>// 越界訪問 void stack_buffer_overflow() {char buffer[1];int i 10;buffer[i] A; // 訪問越界 }// 野指針 void use_after_free() {char *text (char *)malloc(size…

【源碼】智慧工地系統:智能化施工現場的全新管理方案

智慧工地系統是一個綜合利用物聯網&#xff08;IoT&#xff09;、大數據、云計算、人工智能&#xff08;AI&#xff09;、移動互聯網和BIM&#xff08;建筑信息模型&#xff09;等新一代信息技術&#xff0c;對施工現場的“人、機、料、法、環”等關鍵要素進行實時、全面、智能…

網絡安全等級保護(等保2.0)

網絡安全等級保護&#xff08;等保2.0&#xff09;工作全流程指南 等級保護&#xff08;全稱“網絡安全等級保護”&#xff09;是我國網絡安全領域的核心制度&#xff0c;是《網絡安全法》規定的法定義務&#xff0c;等保2.0相關國家標準于2019年5月10日正式發布。2019年12月1日…

【Docker】Docker初識

目錄 容器技術發展史 Jail時代 1979年貝爾實驗室發明chroot 2000年FreeBSD 4.0發行FreeBSD Jail 2001年Linux VServer發行 2004年Solaris Containers發行 云時代 2006年google推出Process Containers 2008年LXC推出 2011年CloudFoundry推出Warden 2013年LMCTFY啟動 …

SNMPv3開發--snmptrapd

SNMPv3開發–snmptrapd REF:3min搞定snmpdtrap的配置與使用

機器學習時間序列算法進行隨機劃分數據是不合適的!

問題代碼&#xff1a;數據集劃分方式不適合時間序列&#xff0c;會導致評估結果不可靠。 代碼在整體流程上是合理的&#xff0c;但針對時間序列數據&#xff0c;存在一個關鍵問題&#xff1a;使用train_test_split進行隨機劃分是不合適的。時間序列的特殊性風速數據屬于時間序列…

逆向思維下,如何把基金投資做虧?

投資界常說“聰明的人學習別人賺錢的方式”&#xff0c;但如果我們刻意采用逆向思維&#xff0c;想要把基金投資做虧&#xff0c;其實也有科學依據。 今天&#xff0c;我們就從心理學和行為金融的角度&#xff0c;揭示那些真實的投資虧損方法。 ?? 1. 總想追熱點&#xff0c…

1-python 自定義模板導出文檔-基礎實現

使用 Python 根據自定義的 Word 模板和傳入的 JSON 數據生成 Word 報告&#xff0c;是自動化文檔生成的常見需求。最常用的方法是使用 python-docx 和 docxtpl 庫。其中&#xff0c;docxtpl 是基于 python-docx 的模板引擎&#xff0c;支持 Jinja2 模板語法&#xff0c;非常適合…

LeetCode算法日記 - Day 24: 顏色分類、排序數組

目錄 1. 顏色分類 1.1 題目分析 1.2 解法 1.3 代碼實現 2. 排序數組 2.1 題目解析 2.2 解法 2.3 代碼實現 1. 顏色分類 75. 顏色分類 - 力扣&#xff08;LeetCode&#xff09; 給定一個包含紅色、白色和藍色、共 n 個元素的數組 nums &#xff0c;原地 對它們進行排序…