Lines 136-142
if ((event==FL_PUSH)||(event==FL_DRAG)||
Link Here
|
136 |
}; |
136 |
}; |
137 |
|
137 |
|
138 |
if ((event==FL_PUSH)&&(Fl::event_shift()!=0)) { |
138 |
if ((event==FL_PUSH)&&(Fl::event_shift()!=0)) { |
139 |
if (pressed[kpos]==0) presskey(kpos,0,1); |
139 |
if (kpos <=0 || pressed[kpos]==0) presskey(kpos,0,1); |
140 |
else relasekey(kpos,1); |
140 |
else relasekey(kpos,1); |
141 |
}; |
141 |
}; |
142 |
if ((event==FL_RELEASE)&&(Fl::event_shift()==0)) |
142 |
if ((event==FL_RELEASE)&&(Fl::event_shift()==0)) |
Lines 168-175
return(1);} {}
Link Here
|
168 |
} |
168 |
} |
169 |
Function {presskey(int nk,int exclusive,int type)} {} { |
169 |
Function {presskey(int nk,int exclusive,int type)} {} { |
170 |
code {if (nk>=N_OCT*12) return; |
170 |
code {if (nk>=N_OCT*12) return; |
171 |
if ((nk<0)&&(exclusive==0)) { |
171 |
if (nk<0) { |
172 |
relaseallkeys(type); |
172 |
if (exclusive==0) { |
|
|
173 |
relaseallkeys(type); |
174 |
} |
173 |
return; |
175 |
return; |
174 |
}; |
176 |
}; |
175 |
if (pressed[nk]!=0) return;//the key is already pressed |
177 |
if (pressed[nk]!=0) return;//the key is already pressed |