My calculator :
\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[upright]{fourier}
\usepackage[pdftex,usenames,dvipsnames]{xcolor}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usetikzlibrary{shapes,matrix,backgrounds}%
\begin{document}
\newcommand*{\grbl}{green!30!black}
\tikzstyle{ButtonRect}=[minimum width = 1.2 cm,
minimum height = 16 pt,
rounded corners = 8 pt]
\tikzstyle{ButtonCircle}=[circle, minimum height = 20pt]
\tikzstyle{ButtonEllipse}=[ellipse,
inner sep = 0pt,
minimum height = 16pt,
minimum width = 1cm]
\newcommand*{\button}[3]{
\begin{tikzpicture}
\node[line width=.6pt,
color=black,draw,#2,
fill=#3,text=white](T){\footnotesize\textsf{#1}};
\end{tikzpicture}}
\tikzstyle{background rectangle}=
[ultra thick,draw=black,fill=SeaGreen!40,rounded corners=12pt]
\begin{tikzpicture}[label distance=-1.5pt,outer sep=0pt,%
text = white,show background rectangle]%
\matrix [matrix of nodes](M1)
{\button{F1}{ButtonCircle,label={[red]90:\tiny \textsf{Trace}}}{\grbl}
&\button{F2}{ButtonCircle,label={[red]90:\tiny \textsf{Zoom}}}{\grbl}
&\button{F3}{ButtonCircle,label={[red]90:\tiny \textsf{V-Window}}}{\grbl}
&\button{F4}{ButtonCircle,label={[red]90:\tiny \textsf{Sketch}}}{\grbl}
&\button{F5}{ButtonCircle,label={[red]90:\tiny \textsf{G-Solv}}}{\grbl}
&\button{F6}{ButtonCircle,label={[red]90:\tiny \textsf{G$\leftrightarrow$T}}}{\grbl}%
\\
\button{\tiny SHIFT}{ButtonEllipse, minimum width = 30pt}{Goldenrod}
&\button{\tiny OPTN}{ButtonEllipse}{RoyalBlue}
&\button{\tiny VARS}{ButtonEllipse,label={[red]90:\tiny \textsf{PRGM}}}{RoyalBlue}
&\button{\tiny MENU}{ButtonEllipse,
label={[red]90:\tiny \textsf{SET UP}}}{PineGreen!60}
&&&\\
\button{\tiny ALPHA}{ButtonEllipse,
label={[red]above:\tiny \textsf{\fboxsep 0pt \fbox{A}-LOCK}}}{red!70!black}%
&\button{$x^2$}{ButtonEllipse,label={[red]60: \textsf{r}},%
label ={[red]120:\tiny \textsf{$\sqrt{\ }$}}}{RoyalBlue}
&\button{$\bigwedge$}{ButtonEllipse,label={[red]60: \textsf{$\scriptstyle{\othertheta}$}},%
label ={[red]120:\tiny \textsf{$\root x \of{\ }$}}}{RoyalBlue}
&\button{\tiny EXIT}{ButtonEllipse,label={[red]90:\tiny \textsf{QUIT}}}{RoyalBlue}
& &\\
\button{\tiny X,$\othertheta$,T}%
{ButtonEllipse,label={[red]60:\tiny \textsf{A}}}{RoyalBlue}%
&\button{log}{ButtonEllipse,label={[red]60:\tiny \textsf{B}},%
label ={[red]100:\tiny \textsf{$\text{10}^x$}}}{RoyalBlue}
&\button{ln}{ButtonEllipse,label ={[red]60:\tiny \textsf{C}},%
label ={[red]120:\tiny \textsf{$\text{e}^x$}}}{RoyalBlue}
&\button{sin}{ButtonEllipse,label={[red]60:\tiny \textsf{D}},%
label ={[red]100:\tiny \textsf{Asn}}}{RoyalBlue}
&\button{cos}{ButtonEllipse,label={[red]60:\tiny \textsf{E}},%
label ={[red]100:\tiny \textsf{Acs}}}{RoyalBlue}
&\button{tan}{ButtonEllipse,label={[red]60:\tiny \textsf{F}},%
label ={[red]100:\tiny \textsf{Atn}}}{RoyalBlue}
\\
\button{a+{\tiny b/c}}{ButtonEllipse,label={[red]60:\tiny \textsf{G}},%
label ={[red]100:\tiny \textsf{d/c}}}{RoyalBlue}
&\button{F$\leftrightarrow$D}{ButtonEllipse,label={[red]60:\tiny \textsf{H}}}{RoyalBlue}
&\button{(}{ButtonEllipse,label={[red]60:\tiny \textsf{I}},%
label ={[red]120:\tiny \textsf{$\root\text{\tiny\textsf{3}} \of{\ }$}}}{RoyalBlue}
&\button{)}{ButtonEllipse,label={[red]60:\tiny \textsf{J}},%
label ={[red]120:\tiny \textsf{$x^{ \text{\tiny\textsf{-1}}}$}}}{RoyalBlue}
&\button{\LARGE,}{ButtonEllipse,label={[red]60:\tiny \textsf{K}}}{RoyalBlue}
&\button{\large$\rightarrow$}{ButtonEllipse,label={[red]60:\tiny \textsf{L}}}{RoyalBlue}%
\\};
\matrix [matrix of nodes,yshift=-2.5cm] at (M1.south)
{\button{\large 7}{ButtonRect,label={[red]60:\tiny \textsf{M}}}{\grbl}
&\button{\large 8}{ButtonRect,label={[red]60:\tiny \textsf{N}}}{\grbl}
&\button{\large 9}{ButtonRect,label={[red]60:\tiny \textsf{O}}}{\grbl}
&\button{\normalsize DEL}{ButtonRect,label={[red]90:\tiny \textsf{INS}}}{PineGreen!60}
&\button{\normalsize $\text{AC}^\text{\tiny /ON}$}{ButtonRect,label={[red]90:\tiny \textsf{OFF}}}{PineGreen!60}
\\
\button{\large 4}{ButtonRect,label={[red]60:\tiny \textsf{P}}}{\grbl}
&\button{\large 5}{ButtonRect,label={[red]60:\tiny \textsf{Q}}}{\grbl}
&\button{\large 6}{ButtonRect,label={[red]60:\tiny \textsf{R}}}{\grbl}
&\button{\Large $\times$}{ButtonRect,label={[red]90:\tiny \textsf{\{ \hspace{14pt}S}}}{\grbl}
&\button{\Large $\div$}{ButtonRect,label={[red]90:\tiny \textsf{\} \hspace{14pt}T}}}{\grbl}
\\
\button{\large 1}{ButtonRect,label={[red]60:\tiny \textsf{U}}}{\grbl}
&\button{\large 2}{ButtonRect,label={[red]60:\tiny \textsf{V}}}{\grbl}
&\button{\large 3}{ButtonRect,label={[red]60:\tiny \textsf{W}}}{\grbl}
&\button{\large $+$}{ButtonRect,label={[red]90:\tiny \textsf{[ \hspace{14pt}X}}}{\grbl}
&\button{\large $-$}{ButtonRect,label={[red]90:\tiny \textsf{] \hspace{14pt}Y}}}{\grbl}
\\
\button{\large 0}{ButtonRect,label={[red]60:\tiny \textsf{Z}}}{\grbl}
&\button{\Huge .}{ButtonRect,label={[red]90:\tiny \textsf{= \hspace{8pt} SPACE}}}{\grbl}
&\button{\normalsize $\times\text{10}^x$}{ButtonRect,label={[red]90:\normalsize \textsf{$\pi$}}}{\grbl}
&\button{\large$( - )$}{ButtonRect,label={[red]90:\tiny \textsf{ANS}}}{\grbl}
&\button{\normalsize EXE}{ButtonRect,label={[red]90:\tiny \textsf{$\hookleftarrow$}}}{blue!50!black}
\\
};
\node[fill=lightgray,draw,ultra thick,text width=7cm,yshift=1cm,rounded corners,text=black] at (M1.north) {\(\sin(1)\)\\\hfill \(0.841470984\)};
\end{tikzpicture}
\end{document}

