19d4cc2572d37983607df38b0f4216ed76ac51814sm/*
29d4cc2572d37983607df38b0f4216ed76ac51814sm * Copyright (C) 2010 The Android Open Source Project
39d4cc2572d37983607df38b0f4216ed76ac51814sm *
49d4cc2572d37983607df38b0f4216ed76ac51814sm * Licensed under the Apache License, Version 2.0 (the "License");
59d4cc2572d37983607df38b0f4216ed76ac51814sm * you may not use this file except in compliance with the License.
69d4cc2572d37983607df38b0f4216ed76ac51814sm * You may obtain a copy of the License at
79d4cc2572d37983607df38b0f4216ed76ac51814sm *
89d4cc2572d37983607df38b0f4216ed76ac51814sm *      http://www.apache.org/licenses/LICENSE-2.0
99d4cc2572d37983607df38b0f4216ed76ac51814sm *
109d4cc2572d37983607df38b0f4216ed76ac51814sm * Unless required by applicable law or agreed to in writing, software
119d4cc2572d37983607df38b0f4216ed76ac51814sm * distributed under the License is distributed on an "AS IS" BASIS,
129d4cc2572d37983607df38b0f4216ed76ac51814sm * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139d4cc2572d37983607df38b0f4216ed76ac51814sm * See the License for the specific language governing permissions and
149d4cc2572d37983607df38b0f4216ed76ac51814sm * limitations under the License.
159d4cc2572d37983607df38b0f4216ed76ac51814sm */
169d4cc2572d37983607df38b0f4216ed76ac51814sm
179d4cc2572d37983607df38b0f4216ed76ac51814sm
189d4cc2572d37983607df38b0f4216ed76ac51814smpackage com.replica.replicaisland;
199d4cc2572d37983607df38b0f4216ed76ac51814sm
209d4cc2572d37983607df38b0f4216ed76ac51814sm
219d4cc2572d37983607df38b0f4216ed76ac51814smimport android.view.KeyEvent;
229d4cc2572d37983607df38b0f4216ed76ac51814sm
239d4cc2572d37983607df38b0f4216ed76ac51814smpublic class InputKeyboard {
249d4cc2572d37983607df38b0f4216ed76ac51814sm	private InputButton[] mKeys;
259d4cc2572d37983607df38b0f4216ed76ac51814sm
269d4cc2572d37983607df38b0f4216ed76ac51814sm	public InputKeyboard() {
279d4cc2572d37983607df38b0f4216ed76ac51814sm		final int count = KeyEvent.getMaxKeyCode();
289d4cc2572d37983607df38b0f4216ed76ac51814sm		mKeys = new InputButton[count];
299d4cc2572d37983607df38b0f4216ed76ac51814sm		for (int x = 0; x < count; x++) {
309d4cc2572d37983607df38b0f4216ed76ac51814sm			mKeys[x] = new InputButton();
319d4cc2572d37983607df38b0f4216ed76ac51814sm		}
329d4cc2572d37983607df38b0f4216ed76ac51814sm	}
339d4cc2572d37983607df38b0f4216ed76ac51814sm
349d4cc2572d37983607df38b0f4216ed76ac51814sm	public void press(float currentTime, int keycode) {
359d4cc2572d37983607df38b0f4216ed76ac51814sm		assert keycode >= 0 && keycode < mKeys.length;
369d4cc2572d37983607df38b0f4216ed76ac51814sm		if (keycode >= 0 && keycode < mKeys.length){
379d4cc2572d37983607df38b0f4216ed76ac51814sm			mKeys[keycode].press(currentTime, 1.0f);
389d4cc2572d37983607df38b0f4216ed76ac51814sm		}
399d4cc2572d37983607df38b0f4216ed76ac51814sm	}
409d4cc2572d37983607df38b0f4216ed76ac51814sm
419d4cc2572d37983607df38b0f4216ed76ac51814sm	public void release(int keycode) {
429d4cc2572d37983607df38b0f4216ed76ac51814sm		assert keycode >= 0 && keycode < mKeys.length;
439d4cc2572d37983607df38b0f4216ed76ac51814sm		if (keycode >= 0 && keycode < mKeys.length){
449d4cc2572d37983607df38b0f4216ed76ac51814sm			mKeys[keycode].release();
459d4cc2572d37983607df38b0f4216ed76ac51814sm		}
469d4cc2572d37983607df38b0f4216ed76ac51814sm	}
479d4cc2572d37983607df38b0f4216ed76ac51814sm
489d4cc2572d37983607df38b0f4216ed76ac51814sm	public void releaseAll() {
499d4cc2572d37983607df38b0f4216ed76ac51814sm		final int count = mKeys.length;
509d4cc2572d37983607df38b0f4216ed76ac51814sm		for (int x = 0; x < count; x++) {
519d4cc2572d37983607df38b0f4216ed76ac51814sm			mKeys[x].release();
529d4cc2572d37983607df38b0f4216ed76ac51814sm		}
539d4cc2572d37983607df38b0f4216ed76ac51814sm	}
549d4cc2572d37983607df38b0f4216ed76ac51814sm
559d4cc2572d37983607df38b0f4216ed76ac51814sm	public InputButton[] getKeys() {
569d4cc2572d37983607df38b0f4216ed76ac51814sm		return mKeys;
579d4cc2572d37983607df38b0f4216ed76ac51814sm	}
589d4cc2572d37983607df38b0f4216ed76ac51814sm
599d4cc2572d37983607df38b0f4216ed76ac51814sm	public void resetAll() {
609d4cc2572d37983607df38b0f4216ed76ac51814sm		final int count = mKeys.length;
619d4cc2572d37983607df38b0f4216ed76ac51814sm		for (int x = 0; x < count; x++) {
629d4cc2572d37983607df38b0f4216ed76ac51814sm			mKeys[x].reset();
639d4cc2572d37983607df38b0f4216ed76ac51814sm		}
649d4cc2572d37983607df38b0f4216ed76ac51814sm	}
659d4cc2572d37983607df38b0f4216ed76ac51814sm}
66