Malayalam Keyboard For PC ; Windows, Linux and Mac

      Malayalam keyboard for PC / Desktop is an On-screen Malayalam keyboard that built using java programming language and will work on Windows, Linux and Mac operating systems.
Malayalam keyboard for pc screenshot of main window
Malayalam Keyboard for PC
     In the Unicode character representation Malayalam characters are available in between 0D00–0D7F hexadecimal values. In this software you can find all the Malayalam characters as buttons in the application. Clicking on the button will display corresponding character on the screen.
  Normally the Malayalam characters like ‘മ്മ’ is written using + + and ‘ക്ക‘’using + + . Ii this application, I have added a shortcut to this via Mouse Right Click. For example, the normal left click on the will give itself and right click on the will give മ്മ. This is applicable for all characters.
Typing 'Ma' in Malayalam Keyboard
Left Click On  ‘
Typing 'MMa' in Malayalam Keyboard
Right Click On ‘മ്മ
   The ‘BACK’ button will give the normal backspace effect and ‘SPACE’ will do the normal space. ‘SAVE’ can be used to copy the contents in textbox to memory/clipboard which then can be pasted to other applications.
Malayalam Unicode table
 

Malayalam Unicode Character Allocation
Download Malayalam keyboard for PC
 
Download For Windows  
Download For Linux/Mac
Source Code:-
 package malayalamkeyboard; 
 import java.awt.AWTException; 
 import java.awt.Button; 
 import java.awt.Font; 
 import java.awt.FontFormatException; 
 import java.awt.GraphicsEnvironment; 
 import java.awt.Robot; 
 import java.awt.Toolkit; 
 import java.awt.datatransfer.Clipboard; 
 import java.awt.datatransfer.StringSelection; 
 import java.awt.event.ActionEvent; 
 import java.awt.event.ActionListener; 
 import java.awt.event.KeyEvent; 
 import java.awt.event.MouseAdapter; 
 import java.io.File; 
 import java.io.IOException; 
 import java.util.ArrayList; 
 import java.util.logging.Level; 
 import java.util.logging.Logger; 
 import javax.swing.JButton; 
 import javax.swing.JOptionPane; 
 public class keyboard extends javax.swing.JFrame { 
   ArrayList extrachars; 
   ArrayList charStrings; 
   ArrayList removable; 
   String charSeq = “”; 
   int ctrx = 0; 
   Font customFont = null, customFontDisplay = null; 
   public keyboard() { 
     initComponents(); 
     loadExtraChars(); 
     try { 
       //create the font to use. Specify the size! 
       customFont = Font.createFont(Font.TRUETYPE_FONT, new File(“lib/font.ttf”)).deriveFont(25f); 
       customFontDisplay = Font.createFont(Font.TRUETYPE_FONT, new File(“lib/font.ttf”)).deriveFont(30f); 
       GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); 
       //register the font 
       ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File(“lib/font.ttf”))); 
     } catch (IOException e) { 
       e.printStackTrace(); 
     } catch (FontFormatException e) { 
       e.printStackTrace(); 
     } 
     display.setFont(customFontDisplay); 
     for (Object extrachar : extrachars) { 
       char a = (char) extrachar; 
       JButton btn = new JButton(a + “”); 
       btn.setFont(display.getFont().deriveFont(display.getFont().getSize() + 5f)); 
 //      btn.setFont(new java.awt.Font(“font”, 0, 34)); 
       btn.setFont(customFont); 
       btn.setActionCommand(ctrx + “”); 
       btn.addActionListener(new ActionListener() { 
         @Override 
         public void actionPerformed(ActionEvent e) { 
           display.setText(display.getText() + a); 
           char[] chars = display.getText().toCharArray(); 
         } 
       }); 
       btn.addMouseListener(new MouseAdapter() { 
         public void mouseClicked(java.awt.event.MouseEvent evt) { 
           if (evt.getButton() == 3) { 
             char base = ‘u0d4d’; 
             display.setText(display.getText() + a + base + a); 
           } 
         } 
       }); 
       cntr.add(btn); 
       ctrx++; 
     } 
     addExtraButttons(); 
     this.revalidate(); 
     this.repaint(); 
     this.setLocationRelativeTo(null); 
     this.pack(); 
   } 
   void loadExtraChars() { 
     removable = new ArrayList<String>(); 
     removable.add(“d11”); 
     removable.add(“d0d”); 
     removable.add(“d04”); 
     removable.add(“d3b”); 
     removable.add(“d3c”); 
     removable.add(“d45”); 
     removable.add(“d49”); 
     removable.add(“d4f”); 
     removable.add(“d50”); 
     removable.add(“d51”); 
     removable.add(“d52”); 
     removable.add(“d53”); 
     removable.add(“d54”); 
     removable.add(“d55”); 
     removable.add(“d56”); 
     removable.add(“d58”); 
     removable.add(“d59”); 
     removable.add(“d5a”); 
     removable.add(“d5b”); 
     removable.add(“d5c”); 
     removable.add(“d5d”); 
     removable.add(“d5e”); 
     removable.add(“d5f”); 
     removable.add(“d64”); 
     removable.add(“d65”); 
     removable.add(“d76”); 
     removable.add(“d77”); 
     removable.add(“d78”); 
     removable.add(“d29”); 
     removable.add(“d4e”); 
     removable.add(“d3a”); 
     removable.add(“d70”); 
     removable.add(“d71”); 
     removable.add(“d72”); 
     removable.add(“d73”); 
     removable.add(“d74”); 
     removable.add(“d75”); 
     removable.add(“d79”); 
     removable.add(“d3d”); 
     removable.add(“d44”); 
     removable.add(“d62”); 
     removable.add(“d63”); 
     //Removing MALAYALAM NUMBERS 
     removable.add(“d66”); 
     removable.add(“d67”); 
     removable.add(“d68”); 
     removable.add(“d69”); 
     removable.add(“d6a”); 
     removable.add(“d6b”); 
     removable.add(“d6c”); 
     removable.add(“d6d”); 
     removable.add(“d6e”); 
     removable.add(“d6f”); 
     //Removed 
     //Extras Spacing 
     removable.add(“d3e”); 
     removable.add(“d3f”); 
     removable.add(“d40”); 
     removable.add(“d41”); 
     removable.add(“d42”); 
     removable.add(“d43”); 
     removable.add(“d46”); 
     removable.add(“d47”); 
     removable.add(“d48”); 
     removable.add(“d4a”); 
     removable.add(“d4b”); 
     removable.add(“d4c”); 
     removable.add(“d4d”); 
     removable.add(“d57”); 
     //Extra Removables 
     removable.add(“d60”); 
     removable.add(“d61”); 
     removable.add(“d7f”); 
     removable.add(“d7f”); 
     // 
     extrachars = new ArrayList<Character>(); 
     charStrings = new ArrayList<String>(); 
     Character a = ‘u0D04’; 
     for (int i = 0; i < 123; i++) { 
       if (removable.contains(Integer.toHexString(a))) { 
         a++; 
         continue; 
       } 
       extrachars.add(a); 
       a++; 
     } 
     extrachars.add((‘u0D7A’)); 
     extrachars.add((‘u0D7B’)); 
     extrachars.add((‘u0D7C’)); 
     extrachars.add((‘u0D7D’)); 
     extrachars.add((‘u0D7E’)); 
     extrachars.add((‘u0D7F’)); 
     extrachars.add((‘u0D02’)); 
     extrachars.add((‘u0D03’)); 
     extrachars.add((‘u0D3E’)); 
     extrachars.add((‘u0D3F’)); 
     extrachars.add((‘u0D40’)); 
     extrachars.add((‘u0D41’)); 
     extrachars.add((‘u0D42’)); 
     extrachars.add((‘u0D43’)); 
     extrachars.add((‘u0D46’)); 
     extrachars.add((‘u0D47’)); 
     extrachars.add((‘u0D48’)); 
     extrachars.add((‘u0D4A’)); 
     extrachars.add((‘u0D4B’)); 
     extrachars.add((‘u0D4C’)); 
     extrachars.add((‘u0D4D’)); 
     extrachars.add((‘u0D57’)); 
   } 
   private void addExtraButttons() { 
     JButton btn = new JButton(“BACK”); 
     btn.addActionListener(new ActionListener() { 
       @Override 
       public void actionPerformed(ActionEvent e) { 
         try { 
           display.requestFocus(); 
           Robot r = new Robot(); 
           r.keyPress(KeyEvent.VK_BACK_SPACE); 
           r.keyRelease(KeyEvent.VK_BACK_SPACE); 
         } catch (AWTException ex) { 
           Logger.getLogger(keyboard.class.getName()).log(Level.SEVERE, null, ex); 
         } 
       } 
     }); 
     cntr.add(btn); 
     btn = new JButton(“SPACE”); 
     btn.addActionListener(new ActionListener() { 
       @Override 
       public void actionPerformed(ActionEvent e) { 
         try { 
           display.requestFocus(); 
           Robot r = new Robot(); 
           r.keyPress(KeyEvent.VK_SPACE); 
           r.keyRelease(KeyEvent.VK_SPACE); 
         } catch (AWTException ex) { 
           Logger.getLogger(keyboard.class.getName()).log(Level.SEVERE, null, ex); 
         } 
       } 
     }); 
     cntr.add(btn); 
     btn = new JButton(“SAVE”); 
     btn.addActionListener(new ActionListener() { 
       @Override 
       public void actionPerformed(ActionEvent e) { 
         Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard(); 
         clpbrd.setContents(new StringSelection(display.getText()), null); 
         JOptionPane.showMessageDialog(rootPane, “Copied To Clipboard”); 
       } 
     }); 
     cntr.add(btn); 
   } 
   @SuppressWarnings(“unchecked”) 
   // <editor-fold defaultstate=”collapsed” desc=”Generated Code”>//GEN-BEGIN:initComponents 
   private void initComponents() { 
     cntr = new javax.swing.JPanel(); 
     jScrollPane1 = new javax.swing.JScrollPane(); 
     display = new javax.swing.JTextArea(); 
     jLabel1 = new javax.swing.JLabel(); 
     setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 
     setTitle(“Malayalam Keyboard”); 
     cntr.setLayout(new java.awt.GridLayout(0, 15)); 
     display.setColumns(20); 
     display.setLineWrap(true); 
     display.setRows(1); 
     jScrollPane1.setViewportView(display); 
     jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); 
     jLabel1.setText(“Developed By : genuinecoder.com”); 
     javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
     getContentPane().setLayout(layout); 
     layout.setHorizontalGroup( 
       layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 1213, Short.MAX_VALUE) 
       .addComponent(cntr, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
       .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
     ); 
     layout.setVerticalGroup( 
       layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
         .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 78, Short.MAX_VALUE) 
         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
         .addComponent(cntr, javax.swing.GroupLayout.DEFAULT_SIZE, 370, Short.MAX_VALUE) 
         .addGap(5, 5, 5) 
         .addComponent(jLabel1)) 
     ); 
     pack(); 
   }// </editor-fold>//GEN-END:initComponents 
   public static void main(String args[]) { 
     //<editor-fold defaultstate=”collapsed” desc=” Look and feel setting code (optional) “> 
     /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 
      * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html  
      */ 
     try { 
       for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { 
         if (“Nimbus”.equals(info.getName())) { 
           javax.swing.UIManager.setLookAndFeel(info.getClassName()); 
           break; 
         } 
       } 
     } catch (ClassNotFoundException ex) { 
       java.util.logging.Logger.getLogger(keyboard.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (InstantiationException ex) { 
       java.util.logging.Logger.getLogger(keyboard.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (IllegalAccessException ex) { 
       java.util.logging.Logger.getLogger(keyboard.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } catch (javax.swing.UnsupportedLookAndFeelException ex) { 
       java.util.logging.Logger.getLogger(keyboard.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
     } 
     //</editor-fold> 
     java.awt.EventQueue.invokeLater(new Runnable() { 
       public void run() { 
         new keyboard().setVisible(true); 
       } 
     }); 
   } 
   // Variables declaration – do not modify//GEN-BEGIN:variables 
   private javax.swing.JPanel cntr; 
   private javax.swing.JTextArea display; 
   private javax.swing.JLabel jLabel1; 
   private javax.swing.JScrollPane jScrollPane1; 
   // End of variables declaration//GEN-END:variables 
 } 
Keywords : Free malayalam keyboard for windows, Linux and Mac. Java Malayalam Keyboard, Malayalam keyboard program

Comments

45 responses to “Malayalam Keyboard For PC ; Windows, Linux and Mac”

  1. … [Trackback]

    […] Find More on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  2. … [Trackback]

    […] Info on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  3. … [Trackback]

    […] Here you will find 85868 additional Information on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  4. … [Trackback]

    […] There you will find 43909 additional Information to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  5. … [Trackback]

    […] Find More on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  6. … [Trackback]

    […] Here you will find 11347 more Information to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  7. … [Trackback]

    […] Info on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  8. … [Trackback]

    […] Find More here on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  9. … [Trackback]

    […] Find More on on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  10. … [Trackback]

    […] Find More on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  11. … [Trackback]

    […] Find More Information here to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  12. … [Trackback]

    […] Read More here on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  13. … [Trackback]

    […] Information to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  14. … [Trackback]

    […] Read More Information here to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  15. … [Trackback]

    […] Read More to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  16. … [Trackback]

    […] Information on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  17. … [Trackback]

    […] Read More to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  18. … [Trackback]

    […] Find More Info here to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  19. … [Trackback]

    […] Information to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  20. … [Trackback]

    […] Find More on on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  21. … [Trackback]

    […] Read More Information here on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  22. … [Trackback]

    […] Here you will find 10645 more Info to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  23. … [Trackback]

    […] Read More on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  24. … [Trackback]

    […] Read More on to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  25. … [Trackback]

    […] Find More on to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  26. … [Trackback]

    […] There you can find 3152 more Information on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  27. … [Trackback]

    […] Find More on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  28. … [Trackback]

    […] Find More here on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  29. … [Trackback]

    […] Here you will find 53089 additional Info on that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  30. … [Trackback]

    […] Find More here to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  31. … [Trackback]

    […] Find More Information here to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  32. … [Trackback]

    […] Information to that Topic: genuinecoder.com/malayalam-keyboard-for-pc-windows-linux-html/ […]

  33. comprar androxal en natural sex

    buy cheap androxal cost at costco

  34. how to order rifaximin generic online canada

    purchase rifaximin purchase online from india

  35. cheapest buy staxyn cheap next day delivery

    get staxyn buy singapore

  36. order avodart no prescription mastercard

    buy generic avodart from canada

  37. vente par correspondance kamagra

    kamagra en ligne sans ordonnance usa

  38. order enclomiphene generic tablets

    buy cheap enclomiphene buy mastercard

  39. cheapest buy dutasteride buy in the uk

    order dutasteride united kingdom

  40. buying flexeril cyclobenzaprine purchase england

    ordering flexeril cyclobenzaprine generic in usa

  41. how to buy fildena cost uk

    No perscription fildena next day

  42. cheapest buy gabapentin usa seller

    no prescription needed gabapentin

  43. get itraconazole canada fast shipping

    purchase itraconazole generic pharmacy online

  44. ordering xifaxan australia buy online

    buy xifaxan on line no prescription

  45. koupit kamagra medikační kód

    nenテュ nutnテス pナ册dpis kamagra

Leave a Reply