[ONE Android Development] freshgiammi:
Not sure it breaks stuff. I might have f up last time. You could try it out yourself, at the end you can always unroot your device within the SuperSU app.

Thanks, will look into it. I'll keep the log here as a placeholder.

01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> send_audio_cal, acdb_id = 15, path = 0
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> send_adm_topology
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_COMMON_TOPOLOGY_ID
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> send_asm_topology
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_STREAM_TOPOLOGY_ID
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> send_audtable
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_COMMON_TABLE
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> AUDIO_SET_AUDPROC_CAL
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> send_audvoltable
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> ACDB_CMD_GET_AUDPROC_GAIN_DEP_STEP_TABLE
01-11 15:02:37.599 342 646 D : Failed to fetch the lookup information of the device 0000000F
01-11 15:02:37.599 342 646 E ACDB-LOADER: Error: ACDB AudProc vol returned = -19
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> AUDIO_SET_AUDPROC_VOL_CAL
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> send_afe_cal
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> ACDB_CMD_GET_AFE_COMMON_TABLE
01-11 15:02:37.599 342 646 D : Failed to fetch the lookup information of the device 0000000F
01-11 15:02:37.599 342 646 E ACDB-LOADER: Error: ACDB AFE returned = -19
01-11 15:02:37.599 342 646 D ACDB-LOADER: ACDB -> AUDIO_SET_AFE_CAL
01-11 15:02:37.600 342 646 D audio_hw_primary: enable_snd_device: snd_device(2: speaker)
01-11 15:02:37.605 342 646 D audio_hw_primary: enable_audio_route: usecase(1) apply and update mixer path: low-latency-playback
01-11 15:02:37.635 350 915 D CommandListener: Setting iface cfg
01-11 15:02:37.636 350 915 D CommandListener: Trying to bring up rndis0
01-11 15:02:37.643 350 915 D TetherController: tetherInterface(rndis0)
01-11 15:02:37.651 348 3111 I SampleTable: There are reordered frames present.
01-11 15:02:37.690 348 1405 I SampleTable: There are reordered frames present.
01-11 15:02:37.707 350 915 D TetherController: Setting IP forward enable = 1
01-11 15:02:37.713 350 915 D TetherController: Starting tethering services
01-11 15:02:37.714 350 915 D TetherController: Sending update msg to dnsmasq [update_ifaces|rndis0]
01-11 15:02:37.714 350 915 D TetherController: Tethering services running
01-11 15:02:37.715 934 934 D Tethering: got Sim changed to state LOADED, mSimAbsentSeen=false
01-11 15:02:37.715 934 1005 D ConnectivityService: requestNetwork for uid/pid:1000/934 NetworkRequest [ TRACK_DEFAULT id=69, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ]
01-11 15:02:37.717 2746 2746 D PhoneSwitcherNetworkRequstListener: got request NetworkRequest [ TRACK_DEFAULT id=69, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 60
01-11 15:02:37.718 934 2472 D WIFI : got request NetworkRequest [ TRACK_DEFAULT id=69, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 60
01-11 15:02:37.718 934 2472 D WIFI_UT : got request NetworkRequest [ TRACK_DEFAULT id=69, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 60
01-11 15:02:37.718 934 2522 D Ethernet: got request NetworkRequest [ TRACK_DEFAULT id=69, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ] with score 60
01-11 15:02:37.718 934 1005 I Tethering: Finding IPv4 upstream interface on: {InterfaceName: wlan0 LinkAddresses: [fe80::c2ee:fbff:fe32:56d9/64,192.168.1.100/24,] Routes: [fe80::/64 -> :: wlan0,::/0 -> fe80::cc33:dff:fed1:d954 wlan0,192.168.1.0/24 -> 0.0.0.0 wlan0,0.0.0.0/0 -> 192.168.1.1 wlan0,] DnsAddresses: [192.168.1.1,0.0.0.0,] Domains: null MTU: 0 TcpBufferSizes: 524288,1048576,2097152,262144,524288,1048576}
01-11 15:02:37.719 934 1005 I Tethering: Found interface wlan0
01-11 15:02:37.719 350 915 D TetherController: setDnsForwarders(0xf0068 0 = '192.168.1.1')
01-11 15:02:37.719 350 915 D TetherController: setDnsForwarders(0xf0068 1 = '0.0.0.0')
01-11 15:02:37.719 350 915 D TetherController: Sending update msg to dnsmasq [update_dns|0xf0068|192.168.1.1|0.0.0.0]
01-11 15:02:37.723 350 915 V NatController: enableNat(intIface=<rndis0>, extIface=<wlan0>)
01-11 15:02:37.730 2595 2595 W ResourceType: For resource 0x7f0400ee, entry index(238) is beyond type entryCount(1)
01-11 15:02:37.731 2595 2595 W ResourceType: For resource 0x7f040096, entry index(150) is beyond type entryCount(1)
01-11 15:02:37.733 2595 2595 W ResourceType: For resource 0x7f040090, entry index(144) is beyond type entryCount(1)
01-11 15:02:37.733 2595 2595 W ResourceType: For resource 0x7f040092, entry index(146) is beyond type entryCount(1)
01-11 15:02:37.736 27046 27046 I dnsmasq : started, version 2.51 cachesize 150
01-11 15:02:37.736 27046 27046 I dnsmasq : compile time options: IPv6 GNU-getopt no-DBus no-I18N DHCP no-scripts no-TFTP
01-11 15:02:37.736 27046 27046 W dnsmasq : warning: no upstream servers configured
01-11 15:02:37.736 27046 27046 I dnsmasq : DHCP, IP range 192.168.49.2 -- 192.168.49.254, lease time 1h
01-11 15:02:37.736 27046 27046 I dnsmasq : DHCP, IP range 192.168.48.2 -- 192.168.48.254, lease time 1h
01-11 15:02:37.736 27046 27046 I dnsmasq : DHCP, IP range 192.168.47.2 -- 192.168.47.254, lease time 1h
01-11 15:02:37.736 27046 27046 I dnsmasq : DHCP, IP range 192.168.46.2 -- 192.168.46.254, lease time 1h
01-11 15:02:37.736 27046 27046 I dnsmasq : DHCP, IP range 192.168.45.2 -- 192.168.45.254, lease time 1h
01-11 15:02:37.736 27046 27046 I dnsmasq : DHCP, IP range 192.168.44.2 -- 192.168.44.254, lease time 1h
01-11 15:02:37.737 27046 27046 I dnsmasq : DHCP, IP range 192.168.43.2 -- 192.168.43.254, lease time 1h
01-11 15:02:37.737 27046 27046 I dnsmasq : DHCP, IP range 192.168.42.2 -- 192.168.42.254, lease time 1h
01-11 15:02:37.737 27046 27046 I dnsmasq : read /etc/hosts - 2 addresses
01-11 15:02:37.738 27046 27046 I dnsmasq : Closing wildcard listener family=2
01-11 15:02:37.738 27046 27046 I dnsmasq : Closing wildcard listener family=10
01-11 15:02:37.738 27046 27046 I dnsmasq : using nameserver 192.168.1.1#53
01-11 15:02:37.746 350 915 V NatController: runCmd(/system/bin/iptables -w -t nat -A natctrl_nat_POSTROUTING -o wlan0 -j MASQUERADE) res=0
01-11 15:02:37.749 348 3058 I SampleTable: There are reordered frames present.
01-11 15:02:37.760 350 915 V NatController: runCmd(/system/bin/ip6tables -w -A natctrl_FORWARD -g natctrl_tether_counters) res=0
01-11 15:02:37.774 350 915 V NatController: runCmd(/system/bin/iptables -w -A natctrl_FORWARD -i wlan0 -o rndis0 -m state --state ESTABLISHED,RELATED -g natctrl_tether_counters) res=0
01-11 15:02:37.781 348 512 I SampleTable: There are reordered frames present.
01-11 15:02:37.787 350 915 V NatController: runCmd(/system/bin/iptables -w -A natctrl_FORWARD -i rndis0 -o wlan0 -m state --state INVALID -j DROP) res=0
01-11 15:02:37.800 350 915 V NatController: runCmd(/system/bin/iptables -w -A natctrl_FORWARD -i rndis0 -o wlan0 -g natctrl_tether_counters) res=0
01-11 15:02:37.812 348 348 I SampleTable: There are reordered frames present.
01-11 15:02:37.816 350 915 V NatController: runCmd(/system/bin/ip6tables -w -t raw -A natctrl_raw_PREROUTING -i rndis0 -m rpfilter --invert ! -s fe80::/64 -j DROP) res=1
01-11 15:02:37.832 348 3111 I SampleTable: There are reordered frames present.
01-11 15:02:37.834 350 915 V NatController: runCmd(/system/bin/iptables -w -D natctrl_FORWARD -i rndis0 -o wlan0 -g natctrl_tether_counters) res=0
01-11 15:02:37.847 350 915 V NatController: runCmd(/system/bin/iptables -w -D natctrl_FORWARD -i rndis0 -o wlan0 -m state --state INVALID -j DROP) res=0
01-11 15:02:37.856 348 1405 I SampleTable: There are reordered frames present.
01-11 15:02:37.862 350 915 V NatController: runCmd(/system/bin/iptables -w -D natctrl_FORWARD -i wlan0 -o rndis0 -m state --state ESTABLISHED,RELATED -g natctrl_tether_counters) res=0
01-11 15:02:37.862 350 915 E NatController: Error setting forward rules
01-11 15:02:37.876 350 915 V NatController: runCmd(/system/bin/iptables -w -F natctrl_FORWARD) res=0
01-11 15:02:37.889 350 915 V NatController: runCmd(/system/bin/ip6tables -w -F natctrl_FORWARD) res=0
01-11 15:02:37.901 348 512 I SampleTable: There are reordered frames present.
01-11 15:02:37.908 350 915 V NatController: runCmd(/system/bin/iptables -w -A natctrl_FORWARD -j DROP) res=0
01-11 15:02:37.919 350 915 V NatController: runCmd(/system/bin/iptables -w -t nat -F natctrl_nat_POSTROUTING) res=0
01-11 15:02:37.925 348 348 I SampleTable: There are reordered frames present.
01-11 15:02:37.935 350 915 V NatController: runCmd(/system/bin/ip6tables -w -t raw -F natctrl_raw_PREROUTING) res=0
01-11 15:02:37.936 934 1005 E TetherInterfaceSM: Exception enabling Nat: java.lang.IllegalStateException: command '893 nat enable rndis0 wlan0 1 192.168.42.0/24' failed with '400 893 Nat operation failed (No such device)'
01-11 15:02:37.937 350 350 D TetherController: Sending update msg to dnsmasq [update_ifaces|rndis0]
01-11 15:02:37.937 350 915 D TetherController: untetherInterface(rndis0)
01-11 15:02:37.956 348 3111 I SampleTable: There are reordered frames present.
01-11 15:02:37.972 350 915 D CommandListener: Setting iface cfg
01-11 15:02:37.973 348 1405 I SampleTable: There are reordered frames present.
01-11 15:02:37.975 350 915 D CommandListener: Trying to bring down rndis0
01-11 15:02:37.982 350 915 D TetherController: setDnsForwarders(0xf0068 0 = '192.168.1.1')
01-11 15:02:37.982 350 915 D TetherController: setDnsForwarders(0xf0068 1 = '0.0.0.0')
01-11 15:02:37.982 350 915 D TetherController: Sending update msg to dnsmasq [update_dns|0xf0068|192.168.1.1|0.0.0.0]
01-11 15:02:37.982 27046 27046 I dnsmasq : using nameserver 192.168.1.1#53
01-11 15:02:37.985 350 915 D TetherController: Stopping tethering services
01-11 15:02:37.985 27046 27046 I dnsmasq : exiting on receipt of SIGTERM
01-11 15:02:37.986 350 915 D TetherController: Tethering services stopped
01-11 15:02:37.988 350 915 D TetherController: Setting IP forward enable = 0
01-11 15:02:37.992 934 2476 D ConnectivityService: releasing NetworkRequest [ TRACK_DEFAULT id=69, [ Capabilities: INTERNET&NOT_RESTRICTED&TRUSTED&NOT_VPN] ]

fstab supports it but i'm not sure about kernel. Could you test? I don't have the time to format /data to f2fs, since it's my main device.

Default behavior is short press for menu, long press for recents. The key itself is a menu key. Changing this would mean that i'd have to rework the button feature also and it would force everyone to use a short press for recents, breaking the key customization functionality. I have a few people I know that use home as recents, and that would create a double key for recents.

Just edit the generic.kl file has it has been stated before if you really need it.