add smartcover support and variable button brightness