With the following redefinition of \keyboard
now you have an optional first argument delimited by parentheses, allowing you to change the color at will:
So, for example, now you can say:
\keyboard[Co][Eo][Gso][Ct][Et]
\keyboard(cyan)[Co][Eo][Gso][Ct][Et]
\keyboard(olive)[Co][Eo][Gso][Ct][Et]
The code:
\documentclass[11pts]{article}
\usepackage{xcolor}
\usepackage{piano}
\usepackage{xparse}
\makeatletter
\RenewDocumentCommand{\keyboard}{D(){orange}O{0}O{0}O{0}O{0}O{0}O{0}O{0}}{
%% Clavier 2 octaves
\setlength{\unitlength}{0.5cm}
\begin{picture}(15,4.5)
%Touches blanches
\multiput(0,0)(1,0){14}%
{\line(0,1){4}}
%Contour
\put(0,0){\line(0,1){4}}
\put(0,0){\line(1,0){14}}
\put(14,0){\line(0,1){4}}
\put(0,4){\line(1,0){14}}
%Touches noires
\linethickness{3mm}
\multiput(1,4)(1,0){2}%
{\line(0,-1){3}}
\multiput(4,4)(1,0){3}%
{\line(0,-1){3}}
\linethickness{3mm}
\multiput(8,4)(1,0){2}%
{\line(0,-1){3}}
\multiput(11,4)(1,0){3}%
{\line(0,-1){3}}
%Rond de note
{\color{#1}
\ifthenelse{\equal{#2}{Co}}{\put(0.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Do}}{\put(1.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Eo}}{\put(2.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Fo}}{\put(3.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Go}}{\put(4.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Ao}}{\put(5.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Bo}}{\put(6.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Ct}}{\put(7.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Dt}}{\put(8.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Et}}{\put(9.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Ft}}{\put(10.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Gt}}{\put(11.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{At}}{\put(12.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Bt}}{\put(13.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Cso}}{\put(1,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Dso}}{\put(2,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Fso}}{\put(4,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Gso}}{\put(5,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Aso}}{\put(6,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Cst}}{\put(8,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Dst}}{\put(9,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Fst}}{\put(11,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Gst}}{\put(12,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#2}{Ast}}{\put(13,1.5){\circle*{0.5}}}}{}}}}}}}}}}}}}}}}}}}}}}}
\ifthenelse{\equal{#3}{Co}}{\put(0.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Do}}{\put(1.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Eo}}{\put(2.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Fo}}{\put(3.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Go}}{\put(4.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Ao}}{\put(5.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Bo}}{\put(6.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Ct}}{\put(7.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Dt}}{\put(8.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Et}}{\put(9.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Ft}}{\put(10.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Gt}}{\put(11.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{At}}{\put(12.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Bt}}{\put(13.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Cso}}{\put(1,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Dso}}{\put(2,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Fso}}{\put(4,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Gso}}{\put(5,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Aso}}{\put(6,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Cst}}{\put(8,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Dst}}{\put(9,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Fst}}{\put(11,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Gst}}{\put(12,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#3}{Ast}}{\put(13,1.5){\circle*{0.5}}}}{}}}}}}}}}}}}}}}}}}}}}}}
\ifthenelse{\equal{#4}{Co}}{\put(0.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Do}}{\put(1.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Eo}}{\put(2.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Fo}}{\put(3.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Go}}{\put(4.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Ao}}{\put(5.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Bo}}{\put(6.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Ct}}{\put(7.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Dt}}{\put(8.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Et}}{\put(9.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Ft}}{\put(10.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Gt}}{\put(11.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{At}}{\put(12.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Bt}}{\put(13.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Cso}}{\put(1,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Dso}}{\put(2,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Fso}}{\put(4,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Gso}}{\put(5,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Aso}}{\put(6,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Cst}}{\put(8,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Dst}}{\put(9,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Fst}}{\put(11,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Gst}}{\put(12,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#4}{Ast}}{\put(13,1.5){\circle*{0.5}}}}{}}}}}}}}}}}}}}}}}}}}}}}
\ifthenelse{\equal{#5}{Co}}{\put(0.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Do}}{\put(1.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Eo}}{\put(2.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Fo}}{\put(3.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Go}}{\put(4.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Ao}}{\put(5.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Bo}}{\put(6.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Ct}}{\put(7.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Dt}}{\put(8.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Et}}{\put(9.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Ft}}{\put(10.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Gt}}{\put(11.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{At}}{\put(12.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Bt}}{\put(13.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Cso}}{\put(1,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Dso}}{\put(2,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Fso}}{\put(4,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Gso}}{\put(5,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Aso}}{\put(6,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Cst}}{\put(8,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Dst}}{\put(9,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Fst}}{\put(11,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Gst}}{\put(12,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#5}{Ast}}{\put(13,1.5){\circle*{0.5}}}}{}}}}}}}}}}}}}}}}}}}}}}}
\ifthenelse{\equal{#6}{Co}}{\put(0.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Do}}{\put(1.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Eo}}{\put(2.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Fo}}{\put(3.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Go}}{\put(4.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Ao}}{\put(5.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Bo}}{\put(6.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Ct}}{\put(7.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Dt}}{\put(8.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Et}}{\put(9.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Ft}}{\put(10.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Gt}}{\put(11.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{At}}{\put(12.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Bt}}{\put(13.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Cso}}{\put(1,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Dso}}{\put(2,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Fso}}{\put(4,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Gso}}{\put(5,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Aso}}{\put(6,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Cst}}{\put(8,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Dst}}{\put(9,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Fst}}{\put(11,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Gst}}{\put(12,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#6}{Ast}}{\put(13,1.5){\circle*{0.5}}}}{}}}}}}}}}}}}}}}}}}}}}}}
\ifthenelse{\equal{#7}{Co}}{\put(0.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Do}}{\put(1.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Eo}}{\put(2.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Fo}}{\put(3.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Go}}{\put(4.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Ao}}{\put(5.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Bo}}{\put(6.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Ct}}{\put(7.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Dt}}{\put(8.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Et}}{\put(9.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Ft}}{\put(10.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Gt}}{\put(11.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{At}}{\put(12.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Bt}}{\put(13.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Cso}}{\put(1,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Dso}}{\put(2,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Fso}}{\put(4,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Gso}}{\put(5,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Aso}}{\put(6,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Cst}}{\put(8,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Dst}}{\put(9,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Fst}}{\put(11,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Gst}}{\put(12,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#7}{Ast}}{\put(13,1.5){\circle*{0.5}}}}{}}}}}}}}}}}}}}}}}}}}}}}
\ifthenelse{\equal{#8}{Co}}{\put(0.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Do}}{\put(1.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Eo}}{\put(2.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Fo}}{\put(3.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Go}}{\put(4.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Ao}}{\put(5.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Bo}}{\put(6.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Ct}}{\put(7.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Dt}}{\put(8.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Et}}{\put(9.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Ft}}{\put(10.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Gt}}{\put(11.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{At}}{\put(12.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Bt}}{\put(13.5,0.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Cso}}{\put(1,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Dso}}{\put(2,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Fso}}{\put(4,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Gso}}{\put(5,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Aso}}{\put(6,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Cst}}{\put(8,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Dst}}{\put(9,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Fst}}{\put(11,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Gst}}{\put(12,1.5){\circle*{0.5}}}{
\ifthenelse{\equal{#8}{Ast}}{\put(13,1.5){\circle*{0.5}}}}{}}}}}}}}}}}}}}}}}}}}}}}
}
\end{picture}
}
\makeatother
\begin{document}
\keyboard[Co][Eo][Gso][Ct][Et]
\keyboard(cyan)[Co][Eo][Gso][Ct][Et]
\keyboard(olive)[Co][Eo][Gso][Ct][Et]
\end{document}
The output:

\keyboard{Dso}{Fso}{Aso}{Dst}
rather than\keyboard[Dso][Fso][Aso][Dst]
(curly brackets vs. square brackets) but I don't know (1) why you would want to do that, or (2) how that is meant to help provide greater flexibility. Posting a Minimum (non-)Working Example (i.e. minimal but complete code) should help you make your question clearer and encourage people to help..sty
file. It is sometimes more feasible to patch existing commands to suit your needs, or to write user-level interface macros that support your needs (like switching colour, say).