2015年3月22日 星期日

入手電競鍵盤Corsair K95 RGB

星期五才剛拿到Razer Naga 2014,星期六卻被PC Party通知說我訂的Corsair K95 RGB缺貨!好吧,那就退訂換找了inpad,和線上客線確認過有貨而且宅急便隔天就到!今天下午睡個午覺起來就送到了。鍵盤的選擇考量如下:

  • 高級鍵盤一定會考慮機械鍵盤,但其實現場試打後沒有說非常著迷,一般常聽到的就是Cherry的黑紅茶青軸,黑軸按的力道重,紅茶軸最輕;青茶軸有段落感,紅黑軸沒有;青軸有明顯的卡擦聲,很吵,是重度機械鍵盤迷的最愛。實際上要試過才知道自己喜歡哪一種,因為我按習慣薄膜式鍵盤,而且目的是打報告,以紅軸為第一順位。
  • 人體工學其實也是很重要,但實在不喜歡那種被分成兩半的鍵盤。鍵盤和鋼琴一樣,每個按鍵的位置按久了會記在腦海裡,所以鍵盤的配置一定要求是最標準的,而且希望是100%鍵盤,數字盤和功能鍵都要有,左下的功能鍵是Ctrl、Win、Alt而不要有Fn,按鍵 「\」要在第二排,Enter鍵沒特別要求通常是小的就夠用(以前是用L型)。F1到F12的位置也要是標準配置。
  • 巨集鍵是這次買鍵盤的重點項目(和滑鼠一樣),看來看去就是K95這把最多,在鍵盤左邊總共有18個巨集鍵。本來還有考慮的是Razer Anansi,左側有5個鍵,拇指部分有7個鍵,就實用度來說可能會比K95還好,因為可以皆三個指頭去按(左小指,兩手拇 指),而且和滑鼠同一個廠牌,感覺比較整合(?)。
  • 電競鍵盤還會有的背光/透光、色彩變化、模式切換等功能較不要求。
  • 機械式鍵盤比較少無線,很多都是做有線的。
  • 玩鍵盤的人還會考慮到的鍵帽材質、印刷等,完全沒有考慮,一來用不到,二來價格會貴上許多,三來根本沒有巨集鍵盤還要求那麼多的…
本來考量的鍵盤除了Razer Anansi外就是Corsair K95,後來決定以巨集鍵數目選了後者。可惜K95出新版RGB後幾乎買不到了,只好忍痛買RGB,多了很炫目但其實不太必要的全彩背光,而且少了舊版的金屬質感。
  • K95 RGB是用Cherry紅軸,但實際打起來還是會比薄膜鍵盤大聲,觸感當然是大不同仍在適應中。因為是浮島式所以感覺按鍵滿高的。左邊的18個巨集鍵高度做比較低。
  • 左邊的巨集鍵總共上中下三組,每一組是2列3行。多出的這一塊讓整個鍵盤變得很長而且更重,如果可以拆裝就變得超完美(技嘉Aorus有一把可以分離)。以我的手指長度,小指和食指可以同時按G1(最左上角的巨集鍵)和F,或者G16(最左下角的巨集鍵)和G。不過18個巨集鍵都沒有凸點可辨識,需要花一點時間去學習。
  • 額外的按鍵有M1~M3的模式切換、亮度調整(包括不亮共四段)、Win鍵鎖定、多媒體鍵在數字盤上方(停止、播放、前一首後一首、靜音切換、音量滾輪)。
  • USB連接的話是20鍵不衝突。
  • 接上電腦後預設是靜態的背光(三種模式),亮度可調整三段,或是不要亮。安裝設定軟體後(而且要軟體執行)才可以有全彩背光,有幾種模式可以選擇,包括色彩波浪、按鍵後漣漪狀散開、只有按鍵時亮。18個巨集當然也是要軟體才能設定。
  • 連接線很粗,有兩個USB接頭但接一點就可以用。本來以為額外的USB接頭是為了鍵盤上的USB孔,但發現被騙了PC Store其中一張照片可看到有USB孔,但實品是沒有的!Google到說額外的USB頭是為了全彩背光,但實測發現是錯誤的,這一點讓人不太爽,沒有USB孔就算了,多了一個接頭很礙事。
  • 可以調整polling rate為1ms, 2ms, 4ms, 8ms或者BIOS mode。
  • 可調整高度(只有一段),不過調整的幅度沒有很大。
  • 可拆裝的鍵盤托一個,以螺絲固定以及調整角度。
  • 設定軟體不能裝在windows xp,只支援windows vista/7/8!!!Windows XP可以用鍵盤但巨集鍵就完全沒用。
總之,最大敗筆是沒有USB轉接孔但還多一個USB接頭!另外PTT鍵鼠版也查到很多人用Corsair鍵盤常常壞背光,不論是單顆壞掉或是整個不亮都有所聞。要和Autohotkey搭配的話當然還是要靠設定軟體,不過意外發現AHK可以直接抓到多媒體鍵。

2015年3月21日 星期六

入手電競滑鼠Razer Naga 2014

為了未來職業--宅在暗房的打字員--做準備,打算買一些好裝備,今天入手的是電競滑鼠Razer Naga 2014!常用的電競滑鼠通常是強調可調整且超高的DPI,是給FPS遊戲用的,高DPI時表示滑鼠動一下,在螢幕上就可以動很遠,但看到敵人時要瞄準時要瞬間把DPI調小以精密描準。給MMO遊戲的主要強調多鍵、巨集功能,打怪時要控制人物方向同時一堆技能要施放,每一按鍵都能綁定功能。對於打字工來說,越多按鍵可以綁定越多動作,省去右手在滑鼠及鍵盤間移動的時間。

買滑鼠需要考慮的重點有:(軌跡球、觸控板不在討論範圍內)

  • 無線滑鼠雖然方便,但吃電池怕沒電,或是快沒電時滑鼠不夠精準,電池也會提供額外重量(不一定是缺點)。有一些高階滑鼠可用無線,也可接USB(同時充電)。對我來說有線無線影響不大,但無線鼠通常價格會較高所以優先考慮有線鼠。
  • 四向滾輪表示滾輪可以向左「按」或向右「按」,當然也可以往下按及前後滾,所以光是滾輪就有 五個事件可以組合運用。
  • 超高DPI、調整DPI對於FPS遊戲比較常用,平常打報告不需要DPI一直變動。
  • 光學、雷射、藍光也是各有優缺點,光學不一定較差,雷射不一定較好(太敏感,感應面較要求)。
  • 人體工學設計通常在好一點的滑鼠都具備。
  • 外型也是看個人喜好,像Mad Catz的M.M.O. TE就真得非常炫。
  • 發亮也是高級滑鼠幾乎都有的功能,因為要在暗的環境使用所以也不宜過亮,Naga這隻算是比較低調的。
  • 砝碼配重是相對用不到,因為還沒有那麼要求。
  • Mad Catz的MMO TE滑鼠結構可調整,或是Razer最新版Naga Epic有附件可裝上,讓握起來比較舒服,這部分也沒那麼要求。但事實上握起來舒服是所有考量中最重要的一點,如果能現場試用過會比較好。尤其是那麼多輔助鍵,不一定每個人的手都能勝任那麼多按鈕,像Mad Catz MMO TE我覺得側鍵前後分佈太遠,手腕一定要動一下才能讓拇指按到。
  • 微動開關影響到滑鼠按鍵按下去的力道、距離、回彈等,現在很多電競鼠的微動裝置都用OMRON的大陸製品,偶爾會遇到有人才用一陣子就出現「連點」,就要找人換微動開關,不然就要自己焊新的上去(ASUS有一款的微動開關不用焊可直接換)。
  • 價錢...最現實的考量,入門款電競鼠大概一千左右就有了,高級的到四千以上也是有,最重要的是評估會不會用到那些功能。
  • 電競滑鼠通常要搭配驅動程式和設定軟體才能發揮全部功能,所以使用的電腦需要能裝驅動程式/軟體,或者將設定存進滑鼠內。
  • 有線滑鼠的線如果是以編織材質包住,使用起來較不會折到、纏住。更高級的線還會講究雜訊消除之類的。USB接頭可能會鍍金,但幾乎不影響滑鼠使用。
  • 驅動程式、設定軟體也是會影響購買意願,不過這部分要買了、使用了才會比較有體悟,或者google看其他人有沒有遇到使用問題、設定軟體使用教學等。
除了網路上做功課,也到實地探訪。光華商場對面大樓2樓的「改裝軍團」可以試用很多滑鼠,介紹也很詳細。光華商場3樓「本店吳銘」店面滿小的,但也有樣品可以試。6樓有Razer的展示店,不過剛好遇到沒開的一天。

入選滑鼠是Logitech G600、Razer Naga、Mad Catz MMO TE。
  • Logitech是自己習慣用的牌子,大小比Naga大一些些;12個側鍵設計上為前後各一個弧度而且有兩個凸起點,感覺很容易辨識,無名指也是另一個鍵(G shift),無名指+拇指可以有組合出超多功能。可惜這隻停產了,Logitech出了G602反而沒那麼多側鍵。
  • Razer Naga的12側鍵是單一弧度,要練一下才能精準按到想按的鍵,最新版的Naga Epic可以有線或無線,也有可換的側板,但價格要四千多。Razer Naga 2014是舊款,該有的功能都夠了。
  • Mad Catz MMO TE的滾輪不能左右傾;整隻滑鼠像變形金剛般,可以微調長度等。
最後是在AutoBuy訂了Razer Naga 2014。官網上雖然寫3-10天出貨不過5天內就拿到。不裝驅動程式前就是滑鼠的左右中鍵、滾輪、XButton1、XButton2,12個側鍵直接輸出鍵盤字母區上的10個數字和-+。其實這樣滿廢的,如果要搭配ahk的話驅動程式是一定要裝的。目前計劃把12個側鍵設定成Ctrl+Shift+Alt+12個原本鍵,再用ahk設定這12個12;再搭配右鍵、XButton1、XButton2就會有更多組合!

2015年3月9日 星期一

2015 四獸山山徑越野跑

(無圖,慎入XD)

在今天之前參加過三次越野跑,第一次的陽明山21K,路況非常不越野,就只是上坡下坡。第一次跑半馬也嚐到苦頭,最後五公里一直抽筋,用走的都很困難。接下來就是ezfun的2014陽明山,第一次真正的越野跑,還是以抽筋收場,以及2015鳶山,雖然10公里但是路線還是很硬,加上山徑太小整個塞車速度快不起來,不太好玩。


之前就聽說過四獸山路線很硬,先試走沒去過且最原始的兩條路,一週前再試走北興宮上坡、中華技術學院下坡、麗山峰上坡、虎山下坡。兩次走過後對路線的熟悉度大有幫助,因為四獸山路線也是有名的容易迷路。

今早陰天,氣溫約17度左右,山上還是霧氣重。雖然今天沒下雨到前幾天都有下,陰濕的路仍是滿滑的。會場在福德國小,6:30到時已經完全沒停車位只能停玉成街收費停車場$20/hr。會場及起跑點在福德國小,根據之前經驗起跑時排前面一點還是有優勢,主持人在帶操時就要靠近起跑點準備排隊。

起跑路過福德國小、北興宮後就是接實的上坡,跑了一百公尺就腿軟+乳酸堆積,還是乖乖慢慢走。上個禮拜才剛走過,可以比較知道還有多少樓梯。到岔路後左轉往中華技術學院,但中途先繞到四分里山,頗為原始的山路。因為沒走過這段,剛開始跟著別人跑,但下坡時覺得太慢了受不了,直接超車。下坡是我的強項,加上跑步加持,一定要趕一下進度。好幾段都像在滑雪般順著溜下去,速度快又不會傷膝蓋XD 下坡後接回原來的石板路,石板路潮濕時還是稍滑,有時走步道旁被眾人走出的泥土路。

到中華技術學院才是第一個補給站,除了喝水外也把手洗一下。柏油路很容易被超車,除了跑得慢,到下一個上坡前也會走一段路休息一下。麗山橋步道算好走的,除了有兩個點可能會迷路,第一個點要往走(其實看的到ezfun的布條),第二個點則是順著原路不要走石階。到岔路後等於繞了第一個大圈。

岔路往左,接後山腰步道。起伏不大但比較陰濕,雖然可以全程跑但選擇了半跑半走,把體力留給後面的下坡。這個下坡路是整趟中最原始也最滑的,果然很多人卡在這裡,找了幾個點超車後就後無來者,這段路很滑但能抓的樹又不多,跌坐了兩三次不過不影響戰力。看到有跑友很好心還停下來把橫在路上的枯枝移開~

再跑了一小段柏油路就是樹梅古道入口,也是補給站。古道的坡度也不容小覷,一路上不可能跑得動,能夠不停下來就不錯了。走到後1/3小抽筋一下。到拇指山,往左下山,再往右回主步道。好些人以為上坡完了接下來是下坡,但前面是九五峰啊!因為本來就快抽筋了,所以這段路就慢慢走,下坡有欄杆的話就用手抓著溜下去減輕雙腳負擔。

到岔路走虎山,本來還傻傻地以為到慈惠堂就結束,原來要往復興堂,終點在奉天宮。最後一段路根本是整人,一段下坡的產業道路後是補給站(離上個補給站超級遠,一路上肚子超餓),接著是整人的上樓梯,之後才是下坡到奉天宮。

奉天宮拿成績證明,旁邊有一條水管可以沖泥土但排滿人。接著走回福德國小會場補給,包括超難吃的炒飯、明治冰淇淋、西瓜、香蕉、罐裝運動飲料。從垃圾筒撿了幾塊較乾淨的工作手套沾濕後擦鞋上的泥土。等如鈴到,回家~

找時間要試走碧山路線,大學時走了兩座山就迷路了(那時候沒有智慧型手機),不知道現在路標有沒有多一些。

2015年1月4日 星期日

20150104 文山南港古道行


  • 天氣佳,循ezfun四獸山越野路跑路線走走
  • 木柵路四段往東,過頂好後有路標往左至博嘉國小
  • 路過博嘉運動公園,靠右行路過坡內坑公園
  • 進入一條巷子,路邊停很多車
  • 將過高架道路前(廟宇處)往左後小路走,不遠即是拳山古道,路況OK
  • 到崇德街(墓區),往左即是石泉巖步道口(本次未走),往右行,找73號電線桿即糶米古道入口
  • 糶米公廟處左行到吳興街600巷100弄,右行往挹翠山莊
  • 到挹翠山莊後右行,走紫雲街,快到底(私人莊園大門)右邊有樓梯向上
  • 快到四獸山步道前有一岔路,取右往上行
  • 到四獸山步道,往拇指山頂
  • 到山頂前30公尺右方為樹梅古道,較原始的山路但路還可見
  • 到研究院路後左行,直到看到左邊的「南港聖德宮」牌坊
  • 前半為非常陡的車道,最陡處有45度左右… 
  • 到聖德宮時,一隻狗狂吠而來,主人說「叫牠小黃就不會那麼兇了」,一試奏效
  • 往男廁方向,未到男廁前有路通向宮後山路
  • 山路較樹梅古道原始,路上草多也較濕,容易迷路要看前人的布條
  • 到四獸山步道,往上為稜線步道,右後為後山腰步道,很好走只有偶爾的上下坡
  • 最後接回主步道,再走一段路往右為麗山橋口步道,剛開始有鋪石階但後面沒有,但整理來說非常好走,也只有600公尺
  • 到研究院路後左行,中華技術學院大門口不遠可搭公車往捷運站
  • 今日路線約11公里(google map估計)

Reference:

2014年8月16日 星期六

Autohotkey: 基本面

前言

  • 講了幾篇後,朋友試寫script一直遇到問題,我才發現最基本的東西沒講 orz
  • 其實最穩的方式還是讀autohotkey的說明檔,尤其autohotkey_L有簡體中文版本的說明,英文苦手可以考慮。
  • 以下列舉一些要點,但如果沒有詳細看說明檔還是可能會遇到問題,總之見招拆招!

環境設定

  • 之前這篇有提到過,目前所用的免安裝版主程式是Autohotkey_L Unicode 32bit,編輯器是SciTE4AutoHotkeySciTE的資料夾應該要放在Autohotkey內。如果都是安裝版,要先安裝autohotkey再裝SciTE,SciTE會自動裝到適當的地方。
  • 副檔名ahk的檔案本質上就是純文字檔,滑鼠點兩下可能會發生幾種事情:
    • 如果有安裝autohotkey、SciTE,可以直接執行這個script,或者直接打開SciTE編輯ahk檔案。
    • 如果用免安裝版,剛下載下來時電腦並不認得ahk檔,要選擇開啟ahk檔的程式(autohotkey、SciTE或者任何一種文字編輯程式)。
    • 如果是像我一樣裝在隨身碟裡到處跑,通常的流程是打開SciTE,然後直接把ahk檔拖曳到SciTE裡開啟,debug或執行都可以直接用SciTE完成(所以才說SciTE資料夾和autohotkey.exe要放一起)。
  • 在沒有裝autohotkey的電腦要能直接執行script,就要把ahk檔「編譯」(compile)成exe檔,其實本質上就是把autohotkey主程式和純文字script綁在一起。
    • 在SciTE裡按Ctrl + F7可以compile(其實是用ahk2exe.exe來完成的),產生的exe檔和ahk檔在同一資料夾。
    • Compile有時候會出現錯誤,常見的原因包括原本的exe還在執行中(要先關閉),或是電腦中執行的程式衝到,後者就不容易解決了…
    • 理論上exe檔並沒有什麼加密的功能,原始的程式碼其實還是能復原,ahk2exe.exe加入參數能讓compile時加入密碼,保密性會比較好一些。
    • EXE檔可以附加客製化的圖示(ico檔,128*128 pixels以下),通常可以用icon編輯軟體,搭配這個網站,然後用這個把icon加進exe檔。

Script結構

  • 通常最開頭會用#include來引用前人的智慧結晶,例如同個資料夾func.ahk裡面有一些函數定義,#include func.ahk就相當於func.ahk裡面的內容複製貼上到#include這一行。
    • 也較好的方法是在ahk檔同一層或者主程式Autohotkey.exe同一層新增資料夾Lib,然後把func.ahk放進去,這樣的話可以用語法#include <func>
  • 其他#開頭的指令也都會優先處理,常用的有
    • #NoTrayIcon:程式執行時不會在螢幕右下角那區出現小圖示,所以TrayTip這個指令也會無效。
    • #Persistent:如果script沒有hotkey、hotstring、GUI,程式執行完就會自動結束,加了這指令,程式不會直接結束變成idle狀態。
    • #SingleInstance:如果程式執行中,又再滑鼠點兩下同一個exe檔,會出現message box問是否取代原本執行中的程式,有這個指令則可以讓message box不出現,參數force、ignore、off分別對應「新的取代舊的」、「繼續執行舊的,不執行新的」、「新的執行新的,舊的執行舊的」。
  • Hotkey、hotstring、function定義的block可以放在script裡任何地方皆有作用,但放的地方不對可能讓其他非hotkey/hotstring的script沒有執行到(下面會說明),建議把同類型的放在一起,而且都放在script底端的位置。
    • SciTE中,在某個label或function名稱按滑鼠中鍵或Shift + Enter,可以直接跳到label或function定義的地方;或者在空白處按,會出現查詢框。
  • 想像script中把hotkey、hotstring、function定義的block都拿掉後,留下的script(auto-execution section)會從最上面開始執行,直到遇到return、exit或是hotkey/hotstring
    • 如果#include裡的檔案有空閒的return(不是hotkey、hotstring、function內的),那自己的script就等於不會執行到。
    • 如果是先用gosub跳到subroutine,subroutine的return會回到剛才gosub的那行,script不會停下來。

Threads

  • 理論上同一個process中可以有一個以上的thread(執行緒),每個執行緒可以各自執行自己的任務,但也有相對應的缺點。
  • Autohotkey_L只有單一執行緒,在auto-execution section執行中跳出message box、input box,程式就相當於被暫停,或者執行中遇到一個耗費時間的loop(甚至根本是無窮迴圈),那程式就沒辦法做其他事。
  • 事實上Autohotkey_L會模擬多執行緒,有一些block會以新的thread來執行,包括hotkey/hotstring、GUI events、SetTimer引發的subroutine、menu引發的subroutine。所以說如果程式卡在loop或是message box,hotkey還是能被trigger,SetTimer反覆執行的subroutine還是繼續。
  • 有些外掛可以更模擬多執行緒,例如WorkerThread(事實上是藉由重覆執行exe檔)。只有Autohotkey_H才能使用真正的執行緒。

語法速成

var = abc
    • abc這個字串儲存到var變數。
var = %var2%
    • var2這個變數代表的值取出,然後儲存到var變數。
if a = 2
{
    …
}
    • 比對變數a的值是否等於2,大括號不能和if在同一行。
MsgBox test
    • 跳出message box,內容是test。
InputBox,OutputVar,%title%
    • 出現input box,標題為變數title的值,注意OutputVar這個參數是一個變數的名稱,通常不用%,除非要用的變數的名稱是存在某一個變數。
  • Non-expression:
var := "abc"
    • abc這個字串儲存到var變數,要用運算元 := 而且字串前後要加雙引號。
var := var2
    • var2這個變數代表的值取出,然後儲存到var變數。
if (a = b) {
    …
}
    • 比對變數a的值是否等於變數b的值,整個條件式要有小括號圍起來才視為expression,大括號可以和if在同一行。
MsgBox % test
    • %後面加空格,會視為expression。
MouseClick, L, % x, % y, 1
    • %後面加空格,作用的範圍只有那一個參數。
  • Autohotkey官方版的array純粹是單純的變數,只不過變數名稱最後一個字元是數字,autohotkey_L支援object(物件)的array,使用起來比較有效率。主要有幾個重點:
    • 一般的array以 [ ] 括起來,例如arr := [ 5, 4, "3" , "abc" ],index從1開始遞增,所以arr[2]的值是4,而arr[4] := "bcd"會蓋過本來的"abc"。
    • Associative array有點像dictionary,指定一個key對應一個value,例如 arr := { 1: "a", k: v },以大括號括起來,key和value間以冒號隔開,key的部分是non-expression,預設視為字串,value的部分是expression,arr["k"]儲存的是變數v的值。