Explorar el Código

Changed to using xkb for function key mapping, changed to using alt instead of control
for window management, so control can be used as expected in terminals

Cleaned up xkb implementation, made name of panfrost script fit the usual pattern of <function><target>.sh

Hal Emmerich hace 4 años
padre
commit
716306ea99

+ 18 - 29
DOCUMENTATION.md

@@ -6,7 +6,7 @@ Some additional documentation for PrawnOS that wouldn't fit in the README
 ### Gestures:
 #### Config file: /etc/libinput-gestures.conf
 * four finger swipe left:    Switch to left workspace
-* four finger swipe right:   Switch to right worksace
+* four finger swipe right:   Switch to right workspace
 
 ### Keybindings
 
@@ -14,9 +14,9 @@ Some additional documentation for PrawnOS that wouldn't fit in the README
 * control+alt+left:           move window to left workspace
 * control+alt+right:          move window to right workspace
 
-* control+left:               tile widow to the left
-* control+right:              tile window to the right
-* control+up:                 maximize window
+* alt+left:               tile widow to the left
+* alt+right:              tile window to the right
+* alt+up:                 maximize window
 
 * alt+tab:                    app switcher
 
@@ -25,31 +25,20 @@ Some additional documentation for PrawnOS that wouldn't fit in the README
 * control+alt+l:              Lock screen
 * Brightness scripts are also called here and can be remapped here or in ~/.Xmodmap
 
-#### Configured using ~/.Xmodmap
-* "search" key:                Mode switch aka m_s (function key)
-
-* m_s + backspace:             delete
-* m_s + up:                    page up
-* m_s + down:                  page down
-* m_s + left:                  home
-* m_s + right:                 end
-* m_s + period:                insert
-
-* "brightness up key":         increase backlight
-* "brightness down key":       decrease backlight
-* "volume mute":               mute volume
-* "volume down":               decrease volume
-* "volume up":                 increase volume
-
-* m_s + "brightness up key":   F7
-* m_s + "brightness down key": F6
-* m_s + "volume mute key":     F8
-* m_s + "volume down key":     F9
-* m_s + "volume up key":       F10
-
-#### Configured using ~/.xinputrc
-* alt+left                     left a word
-* alt+right                    right a word
+#### Configured using xkb
+* "search" key:               function (fn) key
+
+* fn + backspace:             delete
+* fn + up:                    page up
+* fn + down:                  page down
+* fn + left:                  home
+* fn + right:                 end
+
+* fn + "brightness up key":         increase backlight
+* fn + "brightness down key":       decrease backlight
+* fn + "volume mute":               mute volume
+* fn + "volume down":               decrease volume
+* fn + "volume up":                 increase volume
 
 ## Initramfs and Encryption
 PrawnOS uses a custom initramfs, custom init script, and dmcrypt/LUKS to enable full root partition encryption

+ 3 - 5
resources/InstallResources/xfce-config/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

@@ -18,8 +18,6 @@
       <property name="XF86WWW" type="string" value="exo-open --launch WebBrowser"/>
       <property name="XF86Mail" type="string" value="exo-open --launch MailReader"/>
       <property name="override" type="bool" value="true"/>
-      <property name="XF86MonBrightnessDown" type="string" value="/usr/sbin/backlight_down.sh"/>
-      <property name="XF86MonBrightnessUp" type="string" value="/usr/sbin/backlight_up.sh"/>
     </property>
   </property>
   <property name="xfwm4" type="empty">
@@ -69,9 +67,9 @@
       <property name="&lt;Primary&gt;&lt;Alt&gt;KP_4" type="string" value="move_window_workspace_4_key"/>
       <property name="&lt;Primary&gt;&lt;Alt&gt;KP_5" type="string" value="move_window_workspace_5_key"/>
       <property name="override" type="bool" value="true"/>
-      <property name="&lt;Primary&gt;Up" type="string" value="maximize_window_key"/>
-      <property name="&lt;Primary&gt;Left" type="string" value="tile_left_key"/>
-      <property name="&lt;Primary&gt;Right" type="string" value="tile_right_key"/>
+      <property name="&lt;Alt&gt;Up" type="string" value="maximize_window_key"/>
+      <property name="&lt;Alt&gt;Left" type="string" value="tile_left_key"/>
+      <property name="&lt;Alt&gt;Right" type="string" value="tile_right_key"/>
       <property name="&lt;Primary&gt;&lt;Alt&gt;Up" type="string" value="prev_workspace_key"/>
       <property name="&lt;Primary&gt;&lt;Alt&gt;Down" type="string" value="next_workspace_key"/>
       <property name="&lt;Primary&gt;&lt;Alt&gt;Left" type="string" value="move_window_prev_workspace_key"/>

+ 1 - 0
resources/InstallResources/xfce-config/xfce-perchannel-xml/xfce4-power-manager.xml

@@ -19,5 +19,6 @@
     <property name="blank-on-battery" type="int" value="0"/>
     <property name="dpms-on-battery-sleep" type="uint" value="0"/>
     <property name="critical-power-action" type="uint" value="0"/>
+    <property name="handle-brightness-keys" type="bool" value="true"/>
   </property>
 </channel>

+ 0 - 30
resources/InstallResources/xfce-config/xmodmap/.Xmodmap

@@ -1,30 +0,0 @@
-! Search mapped to mode switch (basically the fn key)
-! Referred to as ms later on 
-keycode 133 = Mode_switch NoSymbol Mode_switch
-
-! Re-add some keyboard functionality
-
-! Map insert to ms+period
-keycode  60 = period greater Insert Insert
-
-! Map page up to ms + up
-keycode 111 = Up NoSymbol Prior
-! Map page down to ms + down
-keycode 116 = Down NoSymbol Next
-! Map Home to ms+left
-keycode 113 = Left NoSymbol Home
-! Map End to ms+right
-keycode 114 = Right NoSymbol End
-
-! Map delete to ms+Backspace
-keycode 22 = BackSpace BackSpace Delete Delete
-
-! Now map the special functions
-! Brightness keys
-keycode 72 = XF86MonBrightnessDown XF86MonBrightnessDown F6 F6 F6 F6 XF86Switch_VT_6
-keycode 73 = XF86MonBrightnessUp XF86MonBrightnessUp F7 F7 F7 F7 XF86Switch_VT_7
-
-!Volume keys
-keycode 74 = XF86AudioMute XF86AudioMute F8 F8 F8 F8 XF86Switch_VT_8
-keycode 75 = XF86AudioLowerVolume XF86AudioLowerVolume F9 F9 F9 F9 XF86Switch_VT_9
-keycode 76 = XF86AudioRaiseVolume XF86AudioRaiseVolume F10 F10 F10 F10 XF86Switch_VT_10

+ 0 - 1
resources/InstallResources/xfce-config/xmodmap/.xinitrc

@@ -1 +0,0 @@
-#[[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap

+ 0 - 17
resources/InstallResources/xkb/patchxkb.sh

@@ -1,17 +0,0 @@
-#!/bin/bash
-
-cd /InstallResources/xkb
-
-cp ./compat/* /usr/share/X11/xkb/compat/
-cp ./keycodes/* /usr/share/X11/xkb/keycodes/
-cp ./symbols/* /usr/share/X11/xkb/symbols/
-
-patch /usr/share/X11/xkb/rules/base < ./rules/base.chromebook.patch
-patch /usr/share/X11/xkb/rules/base.lst < ./rules/base.lst.chromebook.patch
-patch /usr/share/X11/xkb/rules/base.xml < ./rules/base.xml.chromebook.patch
-patch /usr/share/X11/xkb/rules/evdev < ./rules/evdev.chromebook.patch
-patch /usr/share/X11/xkb/rules/evdev.lst < ./rules/evdev.lst.chromebook.patch
-patch /usr/share/X11/xkb/rules/evdev.xml < ./rules/evdev.xml.chromebook.patch
-
-cp keyboard /etc/default/keyboard
-

+ 0 - 0
scripts/InstallScripts/PanfrostCompile.sh → scripts/InstallScripts/CompilePanfrost.sh


+ 15 - 7
scripts/InstallScripts/InstallPackages.sh

@@ -46,6 +46,20 @@ DEBIAN_FRONTEND=noninteractive apt -t buster install -y chromium || DEBIAN_FRONT
 [ "$DE" = "xfce" ] && apt install -y xfce4 dbus-user-session system-config-printer tango-icon-theme xfce4-power-manager xfce4-terminal xfce4-goodies numix-gtk-theme plank accountsservice papirus-icon-theme
 [ "$DE" = "lxqt" ] && apt install -y lxqt pavucontrol-qt
 
+#install the keymap by patching xkb, then bindings work for any desktop environment
+cp $DIR/xkb/compat/* /usr/share/X11/xkb/compat/
+cp $DIR/xkb/keycodes/* /usr/share/X11/xkb/keycodes/
+cp $DIR/xkb/symbols/* /usr/share/X11/xkb/symbols/
+
+patch /usr/share/X11/xkb/rules/base < $DIR/xkb/rules/base.chromebook.patch
+patch /usr/share/X11/xkb/rules/base.lst < $DIR/xkb/rules/base.lst.chromebook.patch
+patch /usr/share/X11/xkb/rules/base.xml < $DIR/xkb/rules/base.xml.chromebook.patch
+patch /usr/share/X11/xkb/rules/evdev < $DIR/xkb/rules/evdev.chromebook.patch
+patch /usr/share/X11/xkb/rules/evdev.lst < $DIR/xkb/rules/evdev.lst.chromebook.patch
+patch /usr/share/X11/xkb/rules/evdev.xml < $DIR/xkb/rules/evdev.xml.chromebook.patch
+
+cp  $DIR/xkb/keyboard /etc/default/keyboard
+
 if [ "$DE" = "xfce" ]
 then
   # remove light-locker, as it is broken on this machine. See issue https://github.com/SolidHal/PrawnOS/issues/56#issuecomment-504681175
@@ -105,17 +119,11 @@ then
   cp -rf $DIR/fonts/* /usr/share/fonts/opentype/
   fc-cache
 
-  #Install xmodmap map, autostart
-  cp -rf $DIR/xfce-config/xmodmap/.Xmodmap /etc/skel/
-  cp -rf $DIR/xfce-config/xmodmap/.xinitrc /etc/skel/
-
   #Install inputrc
   cp -rf $DIR/xfce-config/inputrc/.inputrc /etc/skel/
 
-  #Install brightness controls
+  #Install brightness control scripts
   cp $DIR/xfce-config/brightness/backlight_* /usr/sbin/
-  mkdir -p /etc/udev/rules.d/
-  cp $DIR/xfce-config/brightness/backlight.rules /etc/udev/rules.d/
 fi
 
 

+ 0 - 24
scripts/InstallScripts/XKBPatch.sh

@@ -1,24 +0,0 @@
-#!/bin/bash
-
-echo "
-
-This Patch allows you to select all Chromebook Layouts.
-For default behaviour, select chromebook_m in /etc/default/keyboard or
-Chromebook (most models) | Search overlay in your DE Keyboard Selector.
-
-Other Options:
-chromebook_ralt			Chromebook (most models) | Right alt overlay
-chromebook_m			Chromebook (most models) | Search overlay | F keys mapped to media keys
-chromebook_m_ralt		Chromebook (most models) | Right alt overlay | F keys mapped to media keys
-chromebook_falco		Chromebook Falco/Pixel/Pixel2 | Search overlay
-chromebook_falco_ralt		Chromebook Falco/Pixel/Pixel2 | Right alt overlay
-chromebook_m_falco		Chromebook Falco/Pixel/Pixel2 | Search overlay | F keys mapped to media keys
-chromebook_m_falco_ralt		Chromebook Falco/Pixel/Pixel2 | Right alt overlay | F keys mapped to media keys
-chromebook_no_m		Chromebook (most models) | No overlay | F keys mapped to media keys
-
-After this patch, chromebook_m will be the default in /etc/default/keyboard with us layout
-
-"
-
-sudo /InstallResources/xkb/patchxkb.sh
-