• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            huaxiazhihuo

             

            鍵盤布局的改進之道

                  好久沒上博客了,自己的那么一點微末道行也不敢拿出來丟人現眼。實際上,過去的幾年,真的是讓C++和MFC害慘了,一直自個兒固步自封,說什么沒有透徹掌握它們,絕不碰其他的玩意,結果就悲劇了,眼界相當重要,再怎么夸張都不為過。顯然,MFC是垃圾,但實際上,C++也不是什么好菜,嗯,不吐槽了。還是做點更具實際意義的事情吧,今天的主角是鍵盤布局。
                  由于歷史的原因,當今流行的26字母的qwerty鍵盤布局并不是很科學,甚至有種說法,隨便弄一個布局,都要比qwerty好,只因qwerty當初的設計意圖就是為了最大限度的降低打字速度,這么說就有點過分了。不過,后來重新發明的布局,特別是DVORAK,的確比qwerty更具優勢。但是,不管DVORAK的先天設計多么合理,如何在市場上如何造勢,都不能撼動qwerty的主流地位。這很讓人無語,由此可見,技術并不是決定市場的首要因素,關鍵是先占領市場,形成標準,不管這個標準有多差,只要有很多人遵守執行就行了,好比XX紅色政黨,又好比MFC,現在VC2012上居然還有他的一席之地,中國計算機圖書還有那么多的VC書籍,實在令人疼心疾首。不過,本文的目的并非推薦DVORAK,當然,DVORAK鍵盤布局還是很值得廣泛使用,但是既然已經如此的熟悉qwerty鍵盤了,那么也沒有必要再訓練了,實際上,qwerty已經足夠日常使用了,我們平時打字,最大的限制在于大腦的速度,鍵盤布局到不是瓶頸。
                  我要說的是,對于碼農來說,鍵盤的另一不合理之處在于,小指的壓力過大,左小指還好,只需負責Esc、~、……、A、Z等11個鍵位,先不論esc太遠,這讓vim情何以堪,而無關緊要的大小寫切換鍵居然占據了那么優勢明顯好用之要地,等等無理設計。右小指表示壓力更大,起碼打了兩倍,因為它的掌管比左小指的大了一倍之多,幾乎是主鍵盤的1/4之多的鍵位,而且這些鍵,使用率都相當的頻繁,如果再加上上下左右方向鍵還有delete,這實在太無天理了。可憐的兩只小指,弱不禁風,嬌怯怯,卻要承受著生命難以承受之痛。相比之下,平時最能干的大拇指,居然只負責長長的空格鍵和兩只alt這三個,這種不合理不公平的待遇,不禁讓人怒從心頭起,惡向膽邊生,必須改革,徹底改革。給小指減負,給大拇指加負。
                  當然,改革之前,先介紹windows下兩大偷天換日的鍵盤修改利器,autohotkey和keytweak,其性能和使用說明,請各位自行百度谷歌。為了達到目的,老夫真的是挖空心思,無所不用其極。方法如下:
                  1、借助autohotkey,將右手的所有鍵位都往右挪一格,也就是說,原來的7ujm這4個鍵,被發配到8ik,上,而8ik,就到了9ol.上,其他的以此類推,至于最右邊的=\'/就只好屈居于開始時的7ujm上了。這樣一來,小指起碼少按了4個鍵位。右拇指只要愿意,可以不費力的按到右win鍵了,現在,兩只拇指終于可以掌控四個鍵位了,四個很重要的鍵位,恩,目前除了space,其他三個似乎沒啥特別,但很快,就會看到剩下來的三個中的其中一個,將發光發熱,照耀整個鍵盤,最有作用。
                  2、眾所周知,上下左右home end 和翻頁,這些鍵,其實也很重要,但是要按到它們,必須跑大老遠,揮動右手做大幅度的機械運動。以至于,在vim和emacs中,都有各自的快捷方式來實現同樣的功能。什么hjkl,什么ctrl+n,ctrl+p等等,不一而足,這種快捷方式,居然是其優于其他編輯器的亮點之一。但是,上下左右等鍵位可以配上ctrl、shift、win修飾鍵,然后馬上就可以做出很多種組合,當然,emacs和vim也真是神通廣大,針對每種組合,基本上都有對應的快捷鍵,只是記憶起來,實在麻煩。而區區在下,還曾經吭哧吭哧的拼命記憶過。好吧,好不容易習慣了vim和emacs那套逆天指法,卻發現只能在vim或者emacs的環境下使用,屠龍之技,屠龍之技。我們要求的是,能夠有一套放之于四海而皆準的指法,可以在所有的軟件下,所有的場合下都發光發熱。
                  可能嗎?確實有辦法,就是在新鍵盤布局下,將右拇指能比之前輕松的按到的alt,搖身一變,變成換擋鍵,只要此鍵一按,馬上wsad(游戲模式下的上下左右方向鍵)就變成上下左右了,配合jkl就可以組合出ctrl shift alt等效果。ec為home、end,rv則是上下翻頁,f為esc鍵,各種各樣,何其方便哉!剩下來的問題,就是右alt該何去該從,很簡單,鵲巢鳩占,老實不客氣,就占到右win鍵上,至于右win鍵怎么辦,該怎么方便就怎么方便,甚至不存在,也沒關系。制造換擋鍵,必須用到keytweak,autohotkey是不行的,鑒于數字小鍵盤上的除號實在很少用到,因此就拿他來當犧牲品了。其他的種種,請大家參考隨文附上的ahk腳本。
                  這樣一來,只要稍加訓練,鍵盤用起來將會很爽了。不爽的是,用別人的電腦,將特別的不習慣,各種難受。
                  此外,右ctrl,可以用右掌腹來按,不必煩勞小指,他已經夠累了。然后,漢字輸入,要用拼音,最好是雙拼,切記切記。不要在用什么五筆了,那是特別落后的輸入法,其令人發指之處,可以和mfc值得一拼。在下曾經是五筆高手,下過苦功夫,多少個夏天夜晚,揮汗如雨,苦練五筆,一分鐘達到百多字,絕對有資格說五筆的不是。現在我用雙拼很高興,已經不記得五筆的很多字根了,才不到半年的時間。
                  其實,我都努力過,只是,都把汗水和精力,放在垃圾上了。C++是垃圾嗎,當然不是了,但實際上,……,我覺得C++可以和糞便有得一比,作為肥料,還是很好地。

            7::=
            8::7
            9::8
            0::9
            -::0
            =::-

            u::y
            i::u
            o::i
            p::o
            [::p
            ]::[
            \::]

            j::h
            k::j
            l::k
            SC27::l
            '::SC27

            m::n
            ,::m
            .::,
            /::.

            y::\
            h::'
            n::/

            NumpadAdd::=
            Shift & NumpadDel:: Send, {Backspace}

            NumpadDiv & a:: Send, {Left}
            NumpadDiv & d:: Send, {Right}
            NumpadDiv & w:: Send, {Up}
            NumpadDiv & s:: Send, {Down}

            NumpadDiv & e:: Send, {Home}
            NumpadDiv & c:: Send, {End}
            NumpadDiv & r:: Send, {PGUP}
            NumpadDiv & v:: Send, {PGDN}

            NumpadDiv & z:: Send, {BackSpace}
            NumpadDiv & x:: Send, {Delete}
            NumpadDiv & f:: Send, {Escape}

            CapsLock::LControl
            LControl::Esc
            Esc::CapsLock

            NumpadDiv & k::
                Send {Control down}
            KeyWait k  ; 等待用戶釋放按鍵.
                Send {Control up}
            return

            NumpadDiv & Shift::
                Send {Shift down}
            KeyWait Shift  ; 等待用戶釋放按鍵.
                Send {Shift up}
            return

            NumpadDiv & Control::
                Send {Control down}
            KeyWait Control  ; 等待用戶釋放按鍵.
                Send {Control up}
            return

            NumpadDiv & Alt::
                Send {Alt down}
            KeyWait Alt  ; 等待用戶釋放按鍵.
                Send {Alt up}
            return

            NumpadDiv & #::
                Send {Win down}
            KeyWait #  ; 等待用戶釋放按鍵.
                Send {Win up}
            return

            NumpadDiv & l::
                Send {Shift down}
            KeyWait l  ; 等待用戶釋放按鍵.
                Send {Shift up}
            return

            NumpadDiv & SC27::
                Send {Alt down}
            KeyWait SC27  ; 等待用戶釋放按鍵.
                Send {Alt up}
            return

            NumpadDiv & '::
                Send {LWin down}
            KeyWait '  ; 等待用戶釋放按鍵.
                Send {LWin up}
            return

            posted on 2013-06-29 02:56 華夏之火 閱讀(2527) 評論(4)  編輯 收藏 引用

            評論

            # re: 鍵盤布局的改進之道 2013-06-29 09:45 jl

            博主能不能說下什么東西讓你開闊了視野,讓我這個一直做c++,MFC的人也開闊視野下  回復  更多評論   

            # re: 鍵盤布局的改進之道 2013-06-29 10:22 華夏之火

            @jl
            所有一直在做MFC的人都很悲哀,大悲劇。仔細學習Vczh大神的博客,不失為開闊眼界的捷徑。在下眼界的開闊,走的是另外一條很長很長的彎路
              回復  更多評論   

            # re: 鍵盤布局的改進之道 2013-06-29 12:14 waiting4you

            要眼界開闊就去周游世界,做碼農不管用什么語言還是工具眼界也就這樣。樓主有嘩寵的意思  回復  更多評論   

            # re: 鍵盤布局的改進之道 2013-06-29 16:25 華夏之火

            @waiting4you
            罵得好  回復  更多評論   

            導航

            統計

            常用鏈接

            留言簿(6)

            隨筆分類

            隨筆檔案

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            国产福利电影一区二区三区久久老子无码午夜伦不 | 国产999精品久久久久久| 久久精品99久久香蕉国产色戒 | 国产激情久久久久影院老熟女免费 | 久久精品国产99久久久古代| 亚洲中文字幕久久精品无码喷水| 国内精品久久久久伊人av| 国产午夜电影久久| 超级97碰碰碰碰久久久久最新 | 国产一区二区三区久久| 色欲综合久久躁天天躁| 国产精品99久久免费观看| 精品久久久久久无码中文字幕 | 亚洲色大成网站www久久九| 久久精品国产秦先生| 久久这里有精品| 伊人久久大香线蕉精品| 亚洲综合伊人久久大杳蕉| 久久精品国产精品亜洲毛片| 精品乱码久久久久久久| 国产香蕉久久精品综合网| 国产一区二区精品久久凹凸| 久久99精品久久久久久动态图| 三级片免费观看久久| 久久99久久无码毛片一区二区| 精品无码久久久久国产| 欧美va久久久噜噜噜久久| 久久青青草原精品国产软件 | 久久久久无码精品国产| 精品久久久一二三区| 久久人人爽人人爽AV片| 成人a毛片久久免费播放| 成人国内精品久久久久影院| 午夜久久久久久禁播电影 | 久久天天躁夜夜躁狠狠躁2022| 国产成人无码精品久久久久免费| 潮喷大喷水系列无码久久精品| 久久免费的精品国产V∧| 亚洲va久久久噜噜噜久久狠狠| 欧美伊人久久大香线蕉综合| 噜噜噜色噜噜噜久久|