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