qmk編碼并擊速錄鍵盤開發(fā)者&用戶線上交流會(huì)
最右君手碼會(huì)議簡要記錄:
首先是關(guān)于e迅速錄指法的內(nèi)容。e迅方案是單手出所有漢字聲韻的組合(比如單手能打出hei huai liang等等,完整的,全組合),在掛接模式下可以輸出完整拼音并加撇號(hào)(')分隔,固定左手碼先右手碼后。e迅的編碼是左手碼固定排右手碼前兩邊對(duì)稱(空明碼同),因此只要將單邊分區(qū)的所有組合按鍵都枚舉出來就可以實(shí)現(xiàn)并擊指法了(值得注意的是有些聲韻被合并在了一個(gè)按鍵上,但其實(shí)并不用擔(dān)心重疊,因?yàn)樽罱K還是組合輸出的編碼是固定的,合并到一個(gè)鍵上的編碼是不會(huì)有沖突的(就像雙拼會(huì)iong韻的聲組合不會(huì)和ong韻的聲有重疊這種感覺,所以只要把單邊手區(qū)的所有組合枚舉出來就可以實(shí)現(xiàn)了)
還有一擊字和符號(hào)的一些設(shè)定,右手在非輸入狀態(tài)下一擊自動(dòng)上屏可以上屏一些符號(hào)。這種功能,zhz強(qiáng)調(diào)一定要將 *沒有按鍵按下的情況也作為一種編碼“空”* 來實(shí)現(xiàn)這種一擊上屏的特定符號(hào)的指法映射。
直擊字、直擊詞(一擊上屏不和前后捆綁組合)這種靠輸入法來實(shí)現(xiàn)。
此外,還有一些不能組成聲韻的指法組合等,這種時(shí)候e迅在空位上填了一些簡詞,用了一些特殊的組合,在e迅上的表示為右手碼有符號(hào)和大寫,建議直接上屏輸入碼,有些輸入法可以使用大寫和符號(hào)來作為碼元參與碼表編碼,可以使用輸入法來實(shí)現(xiàn)這些特定簡詞,但阿金老師表示也無太大所謂,能實(shí)現(xiàn)e迅指法就很好了。
最后,還有鍵位配列的問題,zhz強(qiáng)調(diào)最好與速錄機(jī)一致,因?yàn)槊嫦蛉后w是想要嘗試速錄但不想花大錢只想先試試的人,所以考慮到他們最后可能需要轉(zhuǎn)速錄機(jī),因此配列最好與速錄機(jī)(e迅)保持一致。(盡管人體工學(xué)更加符合科學(xué)但是為了兼容)。開發(fā)團(tuán)隊(duì)表示也有考慮未來可以出兩種配列,人體工學(xué)的和純正交的。
(最后阿金老師表示很想要那種外國的拉桿式按鍵的速錄機(jī),非常軟非常好按,但這個(gè)不屬于客制化鍵盤的零件的范疇,所以弄不了)
然后是對(duì)于觸發(fā)方式做了討論,zhz詳細(xì)分析了兩種觸發(fā)——單鍵松開了即觸發(fā),和 全鍵都松開才觸發(fā),以及提到了,*固定延遲觸發(fā),與海洋討論了一下固定延遲觸發(fā)這種模式的可行性,海洋表示之前已經(jīng)有一次驗(yàn)證延遲觸發(fā)的設(shè)計(jì)嘗試,效果感覺不太好,對(duì)并擊可能有影響等等(我沒聽記全)但zhz表示這樣可以實(shí)現(xiàn)一些并串結(jié)合的輸入方式等等……
我提問,驅(qū)動(dòng)程序中能否并擊直接輸出大寫和各種符號(hào)的組合,因?yàn)檫@些好像不是標(biāo)準(zhǔn)鍵盤能輸出的,需要按shift才能實(shí)現(xiàn),對(duì)這種符號(hào)作為碼元的情況并擊能否不需要使用“宏”的形式來輸出(即Shift+鍵的組合)它這些是在Keycode里的,操作系統(tǒng)可以直接識(shí)別處理的(開發(fā)海洋表示都專門修改qmk固件了,不可能用宏的)
此外,zhz還提到了映射功能鍵的問題,即希望用并擊來映射類似Ctrl Win Alt等功能鍵,這是比使用切層更加合理的功能,都支持并擊了,完全可以再考慮加上并擊輸出功能鍵等的
隨后,zhz提出了一個(gè)開發(fā)上比較關(guān)鍵的問題,即,兩個(gè)分體鍵盤之間,應(yīng)該是需要通信的,且,應(yīng)該使用“主-從”結(jié)構(gòu),還是對(duì)等結(jié)構(gòu)?(中間插入了一段鍵盤Fn鍵的討論,開發(fā)理解成了F1至F12最后理清),考慮到可能舊有的分體鍵盤,兩分體之間可能沒有直連,其直接將數(shù)據(jù)共同發(fā)送到接收適配器上,對(duì)于Fn這種鍵盤內(nèi)解析的組合鍵,直接由接收器內(nèi)驅(qū)動(dòng)來解析和發(fā)送至電腦系統(tǒng)。開發(fā)海洋很快也想到了燈狀態(tài)和左右手并擊狀態(tài)必須要兩分體之間通信同步狀態(tài)。
進(jìn)而詢問了,關(guān)于分體之間連線的接受程度,兩分體之間連線則功能等實(shí)現(xiàn)會(huì)較為簡單。
還討論到了關(guān)于三模和雙模等的問題,主要討論了下藍(lán)牙可能受干擾影響速度,有線連接麻煩,2.4G可能增加成本等等。(沒聽解到最終定論)以及順帶討論了下功耗問題,開發(fā)海燕表示相比于普通客制化的上百顆led鍵盤燈,藍(lán)牙和2.4G的功耗實(shí)在是小得可以忽略。順帶討論了,可以不用加燈,相對(duì)于燈,功能更加優(yōu)先,有類似大寫鎖定的小指示燈也夠的。不必加太多燈,功耗續(xù)航可能跟不上,可能得連有線才撐得起。
此外,我們和開發(fā)海洋討論到如何更新固件,最不優(yōu)雅的是讓用戶把鍵盤寄回去來更新固件,對(duì)此討論認(rèn)為,固件更新不是經(jīng)常更新,偶爾更新一下甚至很多用戶是不更新的,因此更新固件的方式不急于改進(jìn),能給出一個(gè)二進(jìn)制文件和詳細(xì)教程能讓用戶自己燒寫進(jìn)鍵盤就足夠了,大部分用戶不會(huì)天天改方案的(但zhz標(biāo)識(shí)他真的很需要經(jīng)常改方案測試,這引出了下面的非常重要的問題:
為什么不能做成像Via改鍵一樣,實(shí)時(shí)修改并擊指法配置并在線下載到鍵盤里,直接改一個(gè)配置文件用儲(chǔ)存住不就好了嗎,對(duì)此開發(fā)海洋解釋道,修改qmk并擊并沒有我們想象的那么簡單,用qmk實(shí)現(xiàn)某種并擊指法目前是通過直接修改程序代碼來實(shí)現(xiàn)的,需要修改完程序之后走一整套編譯生成的流程生成二進(jìn)制文件,而不能通過加載一個(gè)配置文件來實(shí)現(xiàn)。如果想要實(shí)現(xiàn)這種“加載器”,幾乎就是要脫離qmk項(xiàng)目再另起一個(gè)大項(xiàng)目和工作流,這種近乎“元編程”的工作量是幾乎不可接受的——當(dāng)然,這也是他們未來長遠(yuǎn)的目標(biāo)(如果能實(shí)現(xiàn)這種實(shí)時(shí)修改載入并擊指法的方式那簡直是再好不過了,但是,qmk固件開發(fā),開發(fā)貢獻(xiàn)挺活躍的,然而也只有一個(gè) C__(沒聽解)模塊是類似延時(shí)并擊的功能,說明這個(gè)功能可能真的是真的很不好在qmk的框架內(nèi)來實(shí)現(xiàn))
&還有一點(diǎn)關(guān)于模塊的考慮,暫時(shí)認(rèn)為需要考慮用戶群體和成本,zhz表示無非就是“按”和“扭”。? (總體感覺,對(duì)觸摸滑條來實(shí)現(xiàn)手勢切換虛擬桌面比較感興趣)
(總之大體上大概就是這樣,中間也有很多我沒聽到聽懂和遺漏疏忽的地方,歡迎大佬補(bǔ)充指正()
視頻會(huì)議回放
主題: QMK編碼并擊速錄鍵盤線上交流會(huì)
日期: 2023-07-23 17:55:11
錄制文件:https://meeting.tencent.com/v2/cloud-record/share?id=694aad14-12f9-48f4-81c4-788462318022&from=3