GNOME on FreeBSDでのKeymap設定(2/2) [FreeBSD]
前回の続き.
US配列のキーボードを使っているにも関わらず,GNOME起動直後はどうしても日本語配列になってしまうという問題に対し,Xorg起動時まではUS配列HHKと認識されているものの,やっぱりまだ日本語配列になってしまう,というところまでが前回のあらすじ.
GNOMEのLowレベルの設定はdconfというものが使われてるということで,その設定を見てみる.dconfの設定にはdconf-editorを使うらしいが,FreeBSD 10.1ではdefaultではinstallされていなかったのでpkgでinstall.
dconf-editorで,desktop > ibus > general にある use-system-keyboard-layoutに✓をつけたところ,GNOME起動直後からUS配列にすることができました.
にほんブログ村
US配列のキーボードを使っているにも関わらず,GNOME起動直後はどうしても日本語配列になってしまうという問題に対し,Xorg起動時まではUS配列HHKと認識されているものの,やっぱりまだ日本語配列になってしまう,というところまでが前回のあらすじ.
GNOMEのLowレベルの設定はdconfというものが使われてるということで,その設定を見てみる.dconfの設定にはdconf-editorを使うらしいが,FreeBSD 10.1ではdefaultではinstallされていなかったのでpkgでinstall.
# pkg install dconf-editor
dconf-editorで,desktop > ibus > general にある use-system-keyboard-layoutに✓をつけたところ,GNOME起動直後からUS配列にすることができました.
にほんブログ村
GNOME on FreeBSDでのKeymap設定(1/2) [FreeBSD]
GNOME on FreeBSDで,起動直後のキーマップが日本語になってしまい困っている.
GNOME起動直後にsetxkbmapを見てみると↓こんな感じ.layout: jp,symbols: pc+jpという記載が気になる.
/etc/X11/xorg.confに以下の設定を加えても変化なし
調べているうちに,FreeBSD 10.1-RELEASE update troubleという記事を発見.書かれていることを参考に,/etc/X11/xorg.conf.d/input.confに以下の内容を設定してみたところ,
Xorg.0.logまでは期待通りに認識されるようになった.
でも,setxkbmap -print -verbose 10 の結果は変化なし...
次回に続く.
にほんブログ村
- 使用キーボードはHappy Hacking Lite2 US配列
- consoleでは期待通りにUS配列になっている.
- GNOMEメニューのシステム→設定→ハードウェア→キーボードからUS配列を設定すると,そのセッションではUS配列として使えるが,再度GNOMEを立ち上げると日本語配列に戻ってしまう
GNOME起動直後にsetxkbmapを見てみると↓こんな感じ.layout: jp,symbols: pc+jpという記載が気になる.
% setxkbmap -print -verbose 10 Setting verbose level to 10 locale is C Trying to load rules file ./rules/base... Trying to load rules file /usr/local/share/X11/xkb/rules/base... Success. Applied rules from base: rules: base model: hhk layout: jp Trying to build keymap using the following components: keycodes: xfree86+aliases(qwerty) types: complete compat: complete+japan symbols: pc+jp geometry: hhk(basic) xkb_keymap { xkb_keycodes { include "xfree86+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete+japan" }; xkb_symbols { include "pc+jp" }; xkb_geometry { include "hhk(basic)" }; };
/etc/X11/xorg.confに以下の設定を加えても変化なし
Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "hhk" * Option "XkbLayout" "us" * EndSection
調べているうちに,FreeBSD 10.1-RELEASE update troubleという記事を発見.書かれていることを参考に,/etc/X11/xorg.conf.d/input.confに以下の内容を設定してみたところ,
Section "InputClass" Identifier "Mouse Defaults" Driver "vmmouse" MatchIsPointer "on" EndSection Section "InputClass" Identifier "Keyboard Defaults" Driver "keyboard" MatchIsKeyboard "on" Option "XkbRules" "xorg" Option "XkbModel" "hhk" Option "XkbLayout" "us" EndSection
Xorg.0.logまでは期待通りに認識されるようになった.
[ 2942.824] (**) kbdmux: Applying InputClass "Keyboard Defaults" [ 2942.824] (II) LoadModule: "kbd" [ 2942.824] (II) Loading /usr/local/lib/xorg/modules/input/kbd_drv.so [ 2942.825] (II) Module kbd: vendor="X.Org Foundation" [ 2942.825] compiled for 1.17.4, module version = 1.8.1 [ 2942.825] Module class: X.Org XInput Driver [ 2942.825] ABI class: X.Org XInput driver, version 21.0 [ 2942.825] (II) Using input driver 'kbd' for 'kbdmux' [ 2942.825] (**) kbdmux: always reports core events [ 2942.825] (**) kbdmux: always reports core events [ 2942.825] (**) Option "Protocol" "standard" [ 2942.825] (**) Option "XkbRules" "xorg" [ 2942.825] (**) Option "XkbModel" "hhk" [ 2942.825] (**) Option "XkbLayout" "us" [ 2942.825] (**) Option "config_info" "devd:kbdmux" [ 2942.825] (II) XINPUT: Adding extended input device "kbdmux" (type: KEYBOARD, id 6) [ 2942.848] (II) config/devd: kbdmux is enabled, ignoring device atkbd0
でも,setxkbmap -print -verbose 10 の結果は変化なし...
次回に続く.
にほんブログ村
Haskell QuickCheck [Haskell]
リストxの要素数がn以上の場合にはxの先頭n個の要素の平均を返し、nに満たない場合にはNothingを返す関数mavgを書いた。
で、これをQuickCheckでテストしてみたところはまり中。
n=3, x=[0.0,0.0,5.0e-324]でfailしているとのことだけど、prop_mavgの中で計算するa, bを別途計算し比較するとTrueになる。でもprop_mavg 3 [0.0, 0.0. 5.0-e324]を実行するとやっぱりFalseになる。
たぶん、浮動小数の演算誤差だと思うんだけど。。。。
にほんブログ村
take'::Int -> [a] -> Maybe [a] take' n [] = if n == 0 then Just [] else Nothing take' n (x:xs) = if n == 0 then Just [] else let rest = take' (n-1) xs in rest >>= (\r -> Just (x:r)) mavg::Int -> [Double] -> Maybe Double mavg 0 _ = Nothing mavg n x = let xh = take' n x sumMay = foldM ( fmap . (+) ) 0 in case xh of Nothing -> Nothing Just a -> (sumMay $ sequence $ xh) >>= (\s -> Just(s / fromIntegral(n)))
で、これをQuickCheckでテストしてみたところはまり中。
prop_mavg n x = let a = mavg n x b = ( sum $ take n x ) / fromIntegral(n) in if n > 0 && n <= length(x) then let a' = fromJust a in a' == b else a == Nothing main = do quickCheck prop_mavg let n = 3 x = [0.0, 0.0, 5.0e-324] :: [Double] a = mavg n x b = (sum $ take n x) / fromIntegral(n) :: Double putStrLn $ show(a == Just b) putStrLn $ show(n > 0) putStrLn $ show(n <= length(x)) putStrLn $ show(prop_mavg n x)
*** Failed! Falsifiable (after 29 tests and 1086 shrinks): 3 [0.0,0.0,5.0e-324] True True True Flase
n=3, x=[0.0,0.0,5.0e-324]でfailしているとのことだけど、prop_mavgの中で計算するa, bを別途計算し比較するとTrueになる。でもprop_mavg 3 [0.0, 0.0. 5.0-e324]を実行するとやっぱりFalseになる。
たぶん、浮動小数の演算誤差だと思うんだけど。。。。
にほんブログ村