1 van 1

Matlab waitforbuttonpress

Geplaatst: do 20 mei 2010, 15:43
door RHvRU
Ik heb een matlab file, waarin ik een figuur heb gemaakt. Je krijgt een geluidje te horen en moet zeggen of deze naar links of naar rechts beweegt. Eerst had ik dit geschreven waarin een linker of rechter muisklik respectievelijk een linker rechter antwoord gaven.

Nu moet ik dit omschrijven zodat je het met het toestenbord kan antwoorden. 'c' staat voor links, 'n' staat voor rechts.

Ik had het volgende geschreven, maar dat werkt niet goed:

flag_stop = 0;

figure(1);

tic

while flag_stop == 0;

w = waitforbuttonpress;

if w == 0; % mouse button

plot(0.5,0.5,'o','markersize',20,'color','k','markerfacecolor','b','linewidth',2)

button = get(gcf, 'SelectionType');

if strcmp(button,'normal') || strcmp(button,'alt')

if strcmp(button,'normal')

rt(j) = toc;

answer(j) = 0; %l

elseif strcmp(button,'alt')

rt(j) = toc;

answer(j) = 1; %r

end

flag_stop = 1;

end


if w == 1; % keyboard button

key = abs(get(gcf,'CurrentCharacter'));

if key == 27; % esc

... (close and save)

elseif key == 13;% enter

... (play sound again)

elseif key == 99;

plot(0.5,0.5,'o','markersize',20,'color','k','markerfacecolor','b','linewidth',2)

rt(j) = toc;

answer(j) = 0; %links

elseif key == 110;

plot(0.5,0.5,'o','markersize',20,'color','k','markerfacecolor','b','linewidth',2)

rt(j) = toc;

answer(j) = 1; %rechts

end

flag_stop = 1;
end

end

Eerst had ik dus alles wat hierboven staat, in zwart en rood (ZONDER GROEN). Nu heb ik dus alles wat hierboven staat en zou ik het rode gedeelte eigenlijk niet hoeven te gebruiken.

Maar nu blijkt dat als ik mijn figuur geopend heb, dat ik de eerste keer met de muis moet klikken en vervolgens kan ik pas met het toetsenbord antwoorden gaan geven. Hoe krijg ik dat opgelost???????? Ik dacht eerst dat het misschien zou komen omdat het figuur niet actief zou zijn, maar volgens mij is die wel actief.

Kan iemand mij helpen?

Gr. R.

Re: Matlab waitforbuttonpress

Geplaatst: do 20 mei 2010, 16:17
door robuLAB
ik kan je jammergenoeg niet helpen met deze vraag. Ikzelf ben momenteel ook bezig met het maken van een Matlab programma en heb daarvoor heel veel info gehaald van Blinkdagger

Een hele goeie duidelijke site met heel veel tutorials. Ik herinner mij dat er een tutorial op stond over hoe je toetsenbordbediening in matlab kon krijgen. Misschien dat je daar een antwoord kan vinden. Sinds deze week is de site helaas offline. Ik hoop dat hij terug online komt want ik vermoed dat je er wel iets zult aan hebben.

Re: Matlab waitforbuttonpress

Geplaatst: do 27 mei 2010, 10:21
door robuLAB
Blinkdagger is terug online. Hierbij twee tutorials die je misschien kunnen helpen.

Mapping a keyboard button

en

Adding keyboard hotkeys