Linux

キーボード考

はじめに

引用(Happy Hacking Keyboard ホームページ)

Link

以下に紹介するキーボードで、個人的な別満足度順

RealForce? > リベルタッチ > Buffalo ゲーミングキーボード > Magestouch

キーボードの選ぶ時に考慮すること

  1. 打鍵音の大きさ
    • メンブレン、パンタグラフ、静電容量無接点方式が優れています
  2. 打鍵感
    • メンブレン、メカニカル、静電容量無接点方式のどれでも該当する物が有ります
  3. 価格
    • 2,000円〜5,000円
      • メンブレン
    • 10,000円前後
      • メカニカル
    • 20,000円前後
      • 静電容量無接点方式
  4. 英語配列、日本語配列
    • 英語配列は日本でリモートデスクトップを行う場合は無理です。
    • 英語配列は一般的にノートPCの配列と違うので戸惑います。
  5. テンキーの有無
    • これはお好みで。数字を多く打つ方はテンキー有り
    • 小スペースにこだわる方はテンキー無し。
  6. 変態配列について
    • Happy Hacking Keyboard のような変態配列は、
      Happy Hacking Keyboard を使用していない時、
      ノートPCからリモートデスクトップする場合に大変苦労します。
      それ以外なら意外にありなのでは?と思いました。

種類について

種類一覧

メンブレン

メンブレンキーボードのお勧め

  1. BUFFALO 有線ゲーミングキーボード BSKBC16BK
  2. 富士通コンポーネント Libertouch ホワイト FKB8540-051/W
    • 色々調べると必ず検索に引っかかる有名キーボード。
      デザインに難あり(Libertouchのフォントがださい、右上の突起と凹みの意味がわからない、全体的に大きいなど)
      荷重が45gでとても軽いのが印象的で、付属物に、ソフトラバーとハードラバーが(十数個ずつ)、
      キートップ引き抜き工具、予備用バネが付属してくることもうれしいです。
      音も比較的静かで、会社での使用も問題ないでしょう。
      テンキーが付いてるのは賛否両論ですが、個人的にはあってもいいし、無くてもいいし(笑)
      打鍵感もとてもよく、家用としてメインで使用しています。
      最初に買う高級キーボードとしては、当たり障りがなくオススメできます(^^) ※以下、amazon リンク

パンタグラフ

メカニカル

メカニカル・キーボードの軸について

正直、あまり書きたくなかったのですが(面倒なので(笑)、これを書かないとメカニカルキーボードは語れないと思い、備忘録も含めて書こうと思いました。

  1. 参考リンク
  2. 軸のメーカー
    • 元々はCherry社の特許だったので独占でしたが、今は特許期間も切れ、色々なメーカーを選ぶ事ができます。
    1. Cherry
      • 王道のメーカー。キーボードの軸と言ったらここ。
      • 上でも書いた通り軸に関する特許が切れ、これからは色々なメーカーが出てくると思う。
  1. 軸の種類
    1. Cherry

メカニカル+独自配列

メカニカルキーボードのお勧め

静電容量無接点方式

静電容量無接点方式キーボードのお勧め

キースワップソフト

共通

Windows

PC再起動型

レジストリを変更するなどPCの再起動が必要なツール

  1. ctrl2cap
    Microsoft 製のCapsLock?キー(英数キー)を Ctrlキーに切り替えるツール。
    「インストール」という形が必要で再起動も必要。
    短所として、CapsLock?キーのみがCtrlへ切り替わるためCapsLock?キーが消失する。
  2. KeySwap?
    Vector_ダウンロードリンク
    レジストリを直変更の方式ではないが、別箇所のレジストリ変更が必要。
    短所として、リモートデスクトップの接続先で反映されない。
  3. 直接レジストリを編集
    参考サイト
    リモートデスクトップ先でもキースワップが可能。
    短所はキーの入れ替え時、PCの再起動が必要なことくらい。
    • やり方
      1. 「Windowsキー + r」を押し「ファイル名を指定して実行」で「regedit」を入力し「エンターキー」を押す。
        (あるいは「Windowsキー」を一度押し、そのまま「regedit」と入力し「エンター」キーを押す)
      2. 左のツリーから以下を選択。
        HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Keyboard Layout
      3. 「Scancode Map」というバイナリ値を追加
      4. このレジストリデータに、 変更したいキーボードの変更前・後のスキャンコードを指定する

        フォーマット

        DWORD ヘッダ:バージョン情報 (All 0)
        DWORD ヘッダ:フラグ (All 0)
        DWORD マッピングとターミネータのデータ長 = 変えたいキーボード・キーの数+1
        DWORD マッピング = 元のスキャンコード(1 byte) と 新しく割り当てたいスキャンコード(1 byte)
        ・・・  (マッピングの繰り返し)
        DWORD ターミネータ  (All 0)

        変更したいキーボード配列の数が4
        データ長は 4+1=5
        マッピング例
         マッピング1 CapsLock (0x3A)  ⇒ 左Ctrl (0x1D)
         マッピング2 左Ctrl (0x1D)  ⇒ CapsLock (0x3A)
         マッピング3 全角/半角 (0x29) ⇒ 無変換 (0x7B)
         マッピング4 無変換 (0x7B)  ⇒ 全角/半角 (0x29))
        レジストリにセットする値
         ヘッダ	0000 0000
         ヘッダ	0000 0000
         データ長	0500 0000
         マッピング1   1D00 3A00
         マッピング2   3A00 1D00 
         マッピング3   7B00 2900
         マッピング4   2900 7B00 
         ターミネータ   0000 0000
        Scancode Map
        0000 00 00 00 00 00 00 00 00
        0008 05 00 00 00 1D 00 3A 00
        0010 3A 00 1D 00 7B 00 29 00
        0018 29 00 7B 00 00 00 00 00
  4. Change Key
    • レジストリを変更しキーマッピングを変更する。
    • 常駐不要なので便利。
    • 「変換」キーを右シフト(右Shift)へ変更するのに使用。
    • ダウンロード
    • 実行は管理者権限で実行する事。
    • レジストリのバックアップ(多分以下のKEY)
      HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Keyboard Layout
      • バックアップはキーを選択してバックアップする。
      • 不要なものもバックアップされるので、メモ帳なので開いて以下な感じのみにする。
        (以下の設定は「CapsLock?」<->「Ctrl」,「変換」<->「右Shift」)
        Windows Registry Editor Version 5.00
        
        [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
        "Scancode Map"=hex:00,00,00,00,00,00,00,00,04,00,00,00,1d,00,3a,00,3a,00,1d,00,\
         36,00,79,00,00,00,00,00

ソフト型(Auto Hot Key)

  1. Auto Hot Key
    日本語wikiリンク
    非常に高機能なソフト型キースワップソフト。
    長所は、PCを再起動すること無く、キーのスワップが可能なこと。
    (キーを状況によって切り替えることが容易)
    短所は、「CapsLock?」「かな」などのロックキー動作が不安定なこと、
    リモートデスクトップでキー変更が反映されないことなどがある。
    • {Blind}の説明
      • {Blind}がなんなのか少しわかりにくいので説明。
      • 以下のキーバインドを例として説明する。
        ;無変換 + j -> 左矢印キー
        sc07b & j::
        	send,{Blind}{Left}
        	return
      • {Blind}が無いと、例えばシフトキーを押しながらの挙動はこうなる。
        スクリプト例)
        ;無変換 + j -> 左矢印キー
        sc07b & j::
        	send,{Left}
        	return
        挙動
        キー入力:「Shiftキー」 + 「無変換」 + 「j」
        変換されたキー出力:Shiftキー(Down) -> 無変換(Down) -> j(Down) -> Shiftキー(Up) -> 左矢印(Down) -> 左矢印(Up) -> Shift(Down) -> j(Up) -> 無変換(Up) -> Shift(Up)
        変換されたキー(矢印キー)が入力される前に修飾キーがアップされる。よって、文字列などは選択で出来ない。
      • {Blind}を付けるとこうなる。 スクリプト例)
        ;無変換 + j -> 左矢印キー
        sc07b & j::
        	send,{Blind}{Left}
        	return
        挙動
        キー入力:「Shiftキー」 + 「無変換」 + 「j」
        変換されたキー出力:Shiftキー(Down) -> 無変換(Down) -> j(Down) -> 左矢印(Down) -> 左矢印(Up) -> j(Up) -> 無変換(Up) -> Shift(Up)
        シフト、無変換、jと綺麗に押しっぱなしになっているので、文字列などを選択できる。
    • OneNote?で up と down が効かない(上,下)
      • この方素晴らしい!(自分はあきらめてしまいましたが、出来るんですね!)

        AutoHotKeyから送られた上下キー(Up Downキー)がOneNote上で効かない時の対処

      • 以下の方法でうまくいきました。
        ;OneNoteへ入力する時だけに適用される設定
        #IfWinActive, ahk_class Framework::CFrame
            sc07b & u::dllcall("keybd_event", int, 0x26, int, 0, int, 1, int, 0) ;Up
            sc07b & m::dllcall("keybd_event", int, 0x28, int, 0, int, 1, int, 0) ;Down
        #IfWinActive
    • スクリプト例
      無変換キーと一緒に押すことでいろいろな事をします。
      #NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
      #Warn  ; Enable warnings to assist with detecting common errors.
      ;sendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
      ;SendMode Play  ; Recommended for new scripts due to its superior speed and reliability.
      SendMode Event  ; Recommended for new scripts due to its superior speed and reliability.
      ;SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
      
      ;#InstallKeybdHook on
      ;#InstallKeybdHook off
      ;#UseHook on
      ;#UseHook off
      #HotkeyModifierTimeout 200
      
      ;無変換
      sc07b & j::
      	send,{Blind}{Left}
      	send,{sc07b Up}
      	return
      
      sc07b & k::
      	send,{Blind}{Right}
      	send,{sc07b Up}
      	return
      
      sc07b & h::
      	send,{Blind}{BackSpace}
      	send,{sc07b Up}
      	return
      
      sc07b & u::
      	send,{Blind}{SC148}
      	send,{sc07b Up}
      	return
      
      sc07b & m::
      	send,{Blind}{Down}
      	send,{sc07b Up}
      	return
      
      sc07b & i::
      	send,{Blind}{Home}
      	send,{sc07b Up}
      	return
      
      sc07b & o::
      	send,{Blind}{End}
      	send,{sc07b Up}
      	return
      
      sc07b & p::
      	send,{Blind}{Insert}
      	send,{sc07b Up}
      	return
      
      sc07b & ,::
      	send,{Blind}{PgUp}
      	send,{sc07b Up}
      	return
      
      sc07b & .::
      	send,{Blind}{PgDn}
      	send,{sc07b Up}
      	return
      
      sc07b & y::
      	send,{Blind}{Delete}
      	send,{sc07b Up}
      	return
      
      sc07b & n::
      	send,{Blind}{Enter}
      	send,{sc07b Up}
      	return
      
      ;OneNoteへ入力する時だけに適用される設定
      #IfWinActive, ahk_class Framework::CFrame
          sc07b & u::dllcall("keybd_event", int, 0x26, int, 0, int, 1, int, 0) ;Up
          sc07b & m::dllcall("keybd_event", int, 0x28, int, 0, int, 1, int, 0) ;Down
      #IfWinActive
      
      
      ;変換キー
      ;sc079 & j::
      ;	send,{Blind}{Home}
      ;	return
      
      ;sc079 & k::
      ;	send,{Blind}{End}
      ;	return
      
      
      
      ;かな(不安定)
      ;sc070 & j::
      ;	send,{Blind}{Home}
      ;	return
      
      ;sc070 & k::
      ;	send,{Blind}{End}
      ;	return
      
      
      ;^j::Home
      ;^k::End
      
      ;sc07b up::
      ;	send,{LCtrl up}
      ;	return
      
      ;sc07b::
      ;	send,{LCtrl down}
      ;	return
      
      ;	
      ;+sc07b::
      ;	send,{CapsLock}
      ;	return
      
      ;#HotkeyModifierTimeout 200
      ;SetKeyDelay, 200
      ;#InstallKeybdHook off
      ;#UseHook off
      ;#HotkeyModifierTimeout 200
      ;SetKeyDelay, 200
      
      
      ;Capslock::Ctrl
      ;sc03a::
      ;	Send {Blind}{sc03a}
      ;	Send {Blind}{sc03a Up}{LCtrl DownTemp}
      ;	Send {Lctrl Up}{LCtrl DownTemp}
      ;	Send {LCtrl DownTemp}{Lctrl Up}
      ;	Send {LCtrl}
      ;	Send {Lctrl Up}
      ;	return
      
      ;sc03a::
      ;	Send {Blind}{sc03a}
      ;	Send {Blind}{sc03a Up}{LCtrl DownTemp}
      ;	return
      
      ;sc03a down::
      ;	send,{LCtrl down}
      ;	send,{LCtrl up}
      ;	return
    • その他, トラブル
      1. キーが押しっぱなしになる
        「sendMode Input」と「SendMode? Event」はコードに互換性があるため
        とりあえず「sendMode Input」->「SendMode? Event」へ変更してみる。
        自分はこれで解決した。

Linux

xmodmap

  1. Link [#yb2fdc76]
  2. cui-xmodmap [#ce82ae67]
    • 共通
      1. xmodmap の反映方法
         xmodmap ~/.xmodmap
      2. キーコード調査ソフト

        xev

    • xmodmap
      • 例1) Windows キーと全角半角ボタンの入れ替え

        vi .xmodmap
        以下を追加(! はコメントアウト)

        !keycode  49 = Zenkaku_Hankaku Kanji Zenkaku_Hankaku Kanji
        keycode  49 = Super_L NoSymbol Super_L
        
        !keycode 133 = Super_L NoSymbol Super_L
        keycode 133 = Zenkaku_Hankaku Kanji Zenkaku_Hankaku Kanji
      • 例2) いろいろ切替例
        clear Lock
        clear Control
        !clear mod5
        
        remove Control = Mode_switch
        !remove mod1
        !remove mod5 = Mode_switch
        
        !Muhenkan
        !左コントロール -> CapsLock
        keycode 37 = Caps_Lock
        !英数 -> Control_L
        keycode 66 = Control_L
        !無変換 -> Mode_switch
        keycode 102 = Mode_switch
        !無変換 + j -> 左矢印
        keycode 44 = j J Left Left
        !無変換 + k -> 右矢印
        keycode 45 = k K Right Right
        !無変換 + u -> 上矢印
        keycode 30 = u U Up Up
        !無変換 + m -> 下矢印
        keycode 58 = m M Down Down
        
        !無変換 + i -> Home
        keycode 31 = i I Home Home
        !無変換 + o -> End
        keycode 32 = o O End End
        !無変換 + , -> PageUp
        keycode 59 = comma less Prior Prior
        !無変換 + . -> PageDown
        keycode 60 = period greater Next Next
        
        !無変換 + h -> BackSpace
        keycode 43 = h H BackSpace BackSpace
        !無変換 + y -> Delete
        keycode 29 = y Y Delete Delete
        !無変換 + n -> Enter
        keycode 57 = n N Return Return
        
        
        add Control = Control_L Control_R
        !add mod1 = Alt_L
        !add mod5 = Mode_switch
    • cui-/etc/default/keyboard [#kfe232cb]
      • sudo vim /etc/default/keyboard
      • 以下を変更
        XKBOPTIONS="ctrl:nocaps"
      • 変更後の全部
        # KEYBOARD CONFIGURATION FILE
        
        # Consult the keyboard(5) manual page.
        
        XKBMODEL="pc105"
        XKBLAYOUT="jp"
        XKBVARIANT=""
        #XKBOPTIONS=""
        XKBOPTIONS="ctrl:nocaps"
        BACKSPACE="guess"
  3. gui [#cad2b3d8]
    • kde
      • 通常キーボードで CapsLock? を Control キーにする。

        1.「KDE システム設定」 -> 「入力デバイス」
        2.「キーボード」 -> 「詳細」
        3.「ctrlキーの位置」 -> 「Ctrl と Caps Lock を入れ替える」にチェック
        4.Ctrl + Space で IME On,Off

        • Linux
        • 「入力メソッドの設定」で Ctrl + Space でオン・オフを設定

XKB

xmodmap が少し古い技術なって、XKBの方が望ましいとのことなので、この際調べてみました(^^)

  1. 参考Link
  2. やりたいこと
    1. ctrl <-> caps lock の入れ替え
    2. 無変換キーを押しながら
      • Y : delete
      • U : 上矢印キー
      • I : Home
      • O : End
      • H : Back space
      • J : 左矢印キー
      • K : 右矢印キー
      • N : Enter
      • M : 下矢印キー
      • , : Page Up
      • . : Page Down
    3. 変換キーを「右Shift」へ。
  3. ファイル構成

    ~/.xkb/

    .xkb
    ├── compat
    │   └── mycompat
    ├── keymap
    │   └── mykbd
    ├── symbols
    │   └── mysymbols
    └── types
        └── mytypes
  4. フォルダの作成
    mkdir -p ~/.xkb/compat
    mkdir -p ~/.xkb/keymap
    mkdir -p ~/.xkb/symbols
    mkdir -p ~/.xkb/types
  5. 設定ファイルの作成
    1. compat
      • vi ~/.xkb/compat/mycompat
        xkb_compatibility "muhenkan" {
          interpret Muhenkan { action = SetMods(modifiers=Mod5); };
        };
    2. keymap
      • vi ~/.xkb/keymap/mykbd
        xkb_keymap {
            xkb_keycodes  { include "evdev+aliases(qwerty)" };
            xkb_types     { include "complete+mytypes(muhenkan)"  };
            xkb_compat    { include "complete+japan+mycompat(muhenkan)"   };
            xkb_symbols   { include "pc+jp+inet(evdev)+mysymbols(muhenkankeys)+ctrl(swapcaps)"   };
            xkb_geometry  { include "pc(pc105)" };
        };
    3. symbols
      • vi ~/.xkb/symbols/mysymbols
        xkb_symbols "muhenkankeys" {
         
        key.type = "MUHENKAN";
        //  key <AE01> { [ 1, exclam      ] };
        //  key <AE02> { [ 2, quotedbl        ] };
        //  key <AE03> { [ 3, numbersign  ] };
        //  key <AE04> { [ 4, dollar      ] };
        //  key <AE05> { [ 5, percent     ] };
        //  key <AE06> { [ 6, ampersand       ] };
        //  key <AE07> { [ 7, apostrophe  ] };
        //  key <AE08> { [ 8, parenleft       ] };
        //  key <AE09> { [ 9, parenright  ] };
        //  key <AE11> { [ minus, equal       ] };
        //  key <AE12> { [ asciicircum,   asciitilde] };
          
        //  key <AD01> { [ q, Q           ] };
        //  key <AD02> { [ w, W           ] };
        //  key <AD03> { [ e, E, Escape ] };
        //  key <AD04> { [ r, R           ] };
        //  key <AD05> { [ t, T           ] };
        //  key <AD06> { [ y, Y           ] };
            key <AD06> { [ y, Y, Delete     ] };
        //  key <AD07> { [ u, U           ] };
            key <AD07> { [ u, U, Up         ] };
            key <AD08> { [ i, I, Home       ] };
        //  key <AD09> { [ o, O           ] };
            key <AD09> { [ o, O, End        ] };
        //  key <AD10> { [ p, P, Up ] };
        //  key <AD11> { [ at, grave      ] };
        //  key <AD12> { [ bracketleft,   braceleft ] };
          
        //  key <CAPS> { [ Eisu_toggle, Caps_Lock ] };
         
         
        //  key <AC01> { [ a, A           ] };
        //  key <AC02> { [ s, S           ] };
        //  key <AC03> { [ d, D           ] };
        //  key <AC04> { [ f, F           ] };
        //  key <AC05> { [ g, G           ] };
            key <AC06> { [ h, H, BackSpace] };
            key <AC07> { [ j, J, Left ] };
            key <AC08> { [ k, K, Right ] };
        //  key <AC09> { [ l, L, Right ] };
        //  key <AC10> { [ semicolon, plus, End ] };
        //  key <AC11> { [ colon, asterisk, Delete ] };
         
        //  key <AB01> { [ z, Z, Return ] };
        //  key <AB02> { [ x, X, BackSpace ] };
        //  key <AB03> { [ c, C, Delete ] };
        //  key <AB04> { [ v, V           ] };
        //  key <AB05> { [ b, B           ] };
        //  key <AB06> { [ n, N, Down ] };
            key <AB06> { [ n, N, Return ] };
        //  key <AB07> { [ m, M, Return ] };
            key <AB07> { [ m, M, Down ] };
            key <AB08> { [ comma,  less, Prior       ] };
            key <AB09> { [ period, greater, Next     ] };
        //  key <AB10> { [ slash, question    ] };
        //  key <AB11> { [ backslash, underscore] };
            key <HENK> { [ Shift_L, Shift_L] };
        };
    4. types
      • vi ~/.xkb/types/mytypes
        xkb_types "muhenkan" {
          type "MUHENKAN" {
            modifiers = Shift+Control+Mod5;
            map[Shift] = Level2;
            map[Mod5] = Level3;
            map[Mod5+Control] = Level3;
            map[Mod5+Shift] = Level3;
            map[Mod5+Shift+Control] = Level3;
         
            preserve[Mod5+Control] = Control;
            preserve[Mod5+Shift] = Shift;
            preserve[Mod5+Shift+Control] = Shift+Control;
         
            level_name[Level1] = "Base";
            level_name[Level2] = "Shift";
            level_name[Level3] = "Muhenkan";
          };
        };
  6. 「Shift」+「Cpas Lock」で「Ctrl」にならない対策
    • 以下のコマンドを実行
      dconf write /org/gnome/desktop/input-sources/xkb-options "['ctrl:swapcaps', 'caps:ctrl_modifier','ctrl:nocaps']"
  7. 反映
    xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY 2> /dev/null
  8. 日本語入力オン, オフで設定が元に戻ってしまう
    gsettings set org.gnome.settings-daemon.plugins.keyboard active false
  9. 自動起動設定
    1. Ubuntuメニューから、「システムツール」-「Preferences」-「自動起動するアプリケーション」へ登録。
    2. (or) ~/.bashrc へ追加
    • vim ~/.bashrc
      xkbcomp -I$HOME/.xkb ~/.xkb/keymap/mykbd $DISPLAY 2> /dev/null
  10. 日本語入力時、無変換キーが認識してしまう
    • mozcの設定 -> 「キー設定の選択」から無変換キー設定の除去
  11. jp キーボードのデフォルト設定を確認する
    /usr/share/X11/xkb/symbols/jp
  12. 設定確認
    setxkbmap -print
  13. Microsoft visual studio code(VS Code)で [無変換]+[h]でバックスペースが効かない。(Ubuntu, Linux)

今までに経験したキーボードの所感

東プレ REALFORCE91UBK-S テンキーレス日本語配列 静音タイプ 変荷重 ブラック

特徴と所感

富士通 Libertouch(リベルタッチ)

特徴と所感

BUFFALO 有線ゲーミングキーボード BSKBC16BK

特徴

メンブレンキーボードで安価(2000円位)で、比較的軽いキーと
打鍵感が良い、また音が静かなのが特徴。
この値段でこのクオリティーは凄い。

所感

お店でたまたま展示品があり、キータッチに惹かれ購入しました。
性能は、キーの重さ、打鍵感、静かさなど実用十分であり、
自分は家と会社の2台体制で2年位使いました。
特に不満は無いのですが、会社で Happy Hacking Keyboard Lite2 が
発掘されて以来、キーボードについて調べているうちに道を踏み外しました(^^;)
今でもこのキーボードの評価は変わっておらず、良いキーボードと思います。
ただし、RealForce? のような2万円のキーボードを使ってみると少し粗が目立ちますが、
値段ほどの差はもちろんありません。このキーボードが2千円なら
RealForce? は3千円くらいでもいいと思います(性能差1.5倍程度と感じます)
※以下は amazon リンク


BUFFALO USB&PS2 有線ゲーミングキーボード BSKBC16BK

Happy Hacking Keyboard JP Lite2

keyboardHHKJPLite2Black.jpg

特徴

ジャンル的には「変態配列キーボード」に分類されると思う

  1. Ctrlキーが「A」キーの左側にある
  2. ファンクションキーがなく、「Fn」+数字キーで入力する
  3. PrintScreen?,ScrollLock?,Pause キーなども「Fn」キーを押しながらとなる

結論

以下3つのうちどれかに当てはまる場合は厳しい。

  1. リモートデスクトップ多用する
  2. かなり多くのPCを所有する(1つ1つに設定を入れられないくらい)
  3. ノートPCのキーボードも使用する

しかしながら、通常キーボードで、Ctrl と CapsLock? を切り替えるのは
作業効率的に有効かもしれない。

経緯と理由

  1. 会社でHappy Hacking Keyboard Lite2 の英語版が発掘される
    • 英語キーボードで致命的なのは、リモートデスクトップの接続先が日本語の場合、
      アンダースコア(アンダーバー)がどうしても打てない事。これは致命的。
      自分は仕事柄、何十台というコンピューターにリモートデスクトップで接続するため
      これはどうしても見過ごせない大きな問題。
  2. Happy Hacking Keyboard Lite2 の日本語版を購入。
    • 日本語版はいろいろと問題も少なく、1週間ほど使用した。
      ノートPCにHappy Hacking Keyboard をUSB接続する使い方だったが、
      ノートPCキーボードとの併用がとてもむずかしく諦めた。
  3. キーボード変換が必要な環境まとめ
    Happy Hacking Keyboard通常キーボード(ノートPCキーボード)
    Windows
    設定ソフト:AutoHotKey?
    Windowsキーと全角半角キーの入れ替え

    設定ソフト:AutoHotKey?
    CtrlキーとCapsLock?キーの切り替え
    Linux
    設定ソフト:xmodmap
    Windowsキーと全角半角キーの入れ替え

    設定ソフト:xmodmap
    CtrlキーとCapsLock?キーの切り替え
  4. 試したキーコンフィグツール
    1. Windows
      このページ「キースワップソフト」「Windows」を参照
    2. ソフト型
      このページ「キースワップソフト」「Linux」を参照
  5. 以上を踏まえた自分の利用環境ごとの対応について
    以下の環境で致命的な不整合が起きた
    • 「PCを移動時、 Happy Hacking Keyboard が繋がっていない状態でリモートデスクトップを行う時」
      PC の再起動が不要のキースワップツール「Auto Hot Key」では、リモートデスクトップ越しのキー変更は出来ない。

      -> リモートデスクトップ先で CpasLock?(英数) を Ctrl キーとして扱う方法が無い。
      これが Happy Hacking Keyboard を使う上で克服できない致命的な事象でした。

    • 上記をふまえ、逆に普通のキーボードを使用し、レジストリで「Ctrl」と「CapsLock?(英数)」を切り替えることにより
      「A」キーの左に「Ctrl」キーの状態は維持できます。
      またこの方式にすることにより以下のように対応が可能です。
      リモートデスクトップPC画面
      USBキーボードCtrl と CapsLock? の入れ替えが可能Ctrl と CapsLock? の入れ替えが可能
      ノートPCキーボードCtrl と CapsLock? の入れ替えが可能Ctrl と CapsLock? の入れ替えが可能
      詳細はこのページ「キースワップソフト」「Windows」を参照

Filco Majestouch FKB108M/JB(茶軸)

特徴

メカニカルキーボードの老舗、Filco が出している Majestouch。
種類はメカニカルで Cherry社製のスイッチ(茶軸)を採用。
値段は1万円くらいでした。

結論

音がうるさすぎて会社では使えませんでした。
このキーボードでタイピングしているとみんなが振り返るレベルです。
家でも同居人が居る場合は絶対うるさいです。
1キーを入力するごとに硬いプラスチック同士がぶつかる甲高い音が響きます。
メカニカルキーボード、打鍵感と反応は最高なのですが、
この音が致命的にうるさいので、家専用で会社使用は出来ませんでした。。。

FILCO Majestouch2 Tenkeyless S〔静音〕 キーボード 91日本語カナあり CherryMXピンク軸 USB/PS2両対応 ブラック FKBN91MPS/JB2

特徴,その他 

個人的Todo,メモ

  1. Filco、静音化検討結果
  2. AutoHotKey?,検討メモ
    #NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
    ; #Warn  ; Enable warnings to assist with detecting common errors.
    ;SendMode event  ; Recommended for new scripts due to its superior speed and reliability.
    SendMode input  ; Recommended for new scripts due to its superior speed and reliability.
    SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
    
    #InstallKeybdHook
    #UseHook
    
    ;「全角半角」キー(キーボード表記)が押された時、200msの間、同時に押されたキーを記憶し送る。
    ;なぜか「全角半角」(キーボード表記)が押された時、先に Up が来て、あとに Down が来るので
    ;下記で入れ替えてる。
    SetKeyDelay, 200
    sc029 up::
    	sendEvent,{blind}{LWin down}
    	return
    sc029::
    	sendEvent,{blind}{LWin up}
    	return
    
    ;変換キー+j で BackSpace
    sc079 & j::
    	sendEvent,{BackSpace}
    	return
    
    ;変換キー+k で Delete
    sc079 & k::
    	sendEvent,{Delete}
    	return
    
    
    
    ;変換キー
    ;sc079 & j::
    ;	send,{Blind}{Home}
    ;	return
    
    ;sc079 & k::
    ;	send,{Blind}{End}
    ;	return
    
    
    
    ;かな(不安定)
    ;sc070 & j::
    ;	send,{Blind}{Home}
    ;	return
    
    ;sc070 & k::
    ;	send,{Blind}{End}
    ;	return
    
    
    ;^j::Home
    ;^k::End
    
    ;sc07b up::
    ;	send,{LCtrl up}
    ;	return
    
    ;sc07b::
    ;	send,{LCtrl down}
    ;	return
    
    ;	
    ;+sc07b::
    ;	send,{CapsLock}
    ;	return
    
    ;#HotkeyModifierTimeout 200
    ;SetKeyDelay, 200
    ;#InstallKeybdHook off
    ;#UseHook off
    ;#HotkeyModifierTimeout 200
    ;SetKeyDelay, 200
    
    
    ;Capslock::Ctrl
    ;sc03a::
    ;	Send {Blind}{sc03a}
    ;	Send {Blind}{sc03a Up}{LCtrl DownTemp}
    ;	Send {Lctrl Up}{LCtrl DownTemp}
    ;	Send {LCtrl DownTemp}{Lctrl Up}
    ;	Send {LCtrl}
    ;	Send {Lctrl Up}
    ;	return
    
    ;sc03a::
    ;	Send {Blind}{sc03a}
    ;	Send {Blind}{sc03a Up}{LCtrl DownTemp}
    ;	return
    
    ;sc03a down::
    ;	send,{LCtrl down}
    ;	send,{LCtrl up}
    ;	return

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS